GithubHelp home page GithubHelp logo

smpp34's Introduction

SMPP34

Check examples folder for usage details

Supported/Unsupported PDUs
  • bind_transmitter
  • bind_transmitter_resp
  • bind_receiver
  • bind_receiver_resp
  • bind_transceiver
  • bind_transceiver_resp
  • outbind
  • unbind
  • unbind_resp
  • submit_sm
  • submit_sm_resp
  • submit_sm_multi
  • submit_sm_multi_resp
  • data_sm
  • data_sm_resp
  • deliver_sm
  • deliver_sm_resp
  • query_sm
  • query_sm_resp
  • cancel_sm
  • cancel_sm_resp
  • replace_sm
  • replace_sm_resp
  • enquire_link
  • enquire_link_resp
  • alert_notification
  • generic_nack

License

This repository is Copyright (c) 2013 Kevin Patel. All rights reserved. It is licensed under the MIT license. Please see the LICENSE file for applicable license terms.

Author

Kevin Patel

smpp34's People

Contributors

0x19 avatar codemonkeykevin avatar doge-the-programmer avatar fiorix avatar ifiok avatar kharry5 avatar mergenchik avatar vany-egorov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

smpp34's Issues

UDH support for sending large messages

There's no way of sending UDH data for concatenated sms as described in https://en.wikipedia.org/wiki/Concatenated_SMS#Sending_a_concatenated_SMS_using_a_User_Data_Header

There are other ways like using Sar_* tlv fields or message_payload TLV field for sending concatenated sms but they aren't supported by all smpp servers. Only reliable way is to use UDH headers. Any suggestion on how I might be able to send multiple messages as one big message using this library?

Using smpp34 as a server

As mentioned in subj.

It seems that currently smpp34 can connect to external entity, but cannot operate in server mode (creating RX/TX/TRX assumes that we connect and act as a client, not a server), eg:

From transceiver.go (receiver and transmitter example are identical):

func NewTransceiver(host string, port int, eli int, bindParams Params) (*Transceiver, error) {
    trx := &Transceiver{}
    if err := trx.Connect(host, port); err != nil {
        return nil, err
    }

Is there a workaroung/quick fix to be able to listen for incoming connections and use trx/tx/rx methods?

invalid memory address or nil pointer dereference

I get this exception when trying to run trx_example.go in the examples directory

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x68 pc=0x44d04d]

goroutine 1 [running]:
runtime.panic(0x51e0e0, 0x6a9208)
    /usr/local/go/src/pkg/runtime/panic.c:266 +0xb6
github.com/CodeMonkeyKevin/smpp34.(*Smpp).Write(0xc2100390c0, 0x0, 0x0, 0x4, 0xffffffffffffffff)
    /home/ubuntu/go/src/github.com/CodeMonkeyKevin/smpp34/smpp.go:261 +0x2d
github.com/CodeMonkeyKevin/smpp34.(*Transceiver).Write(0xc2100390c0, 0x0, 0x0, 0x5, 0x541980)
    /home/ubuntu/go/src/github.com/CodeMonkeyKevin/smpp34/transceiver.go:218 +0x42
github.com/CodeMonkeyKevin/smpp34.(*Transceiver).Bind(0xc2100390c0, 0x541980, 0x5, 0x541980, 0x5, ...)
    /home/ubuntu/go/src/github.com/CodeMonkeyKevin/smpp34/transceiver.go:43 +0xa9
github.com/CodeMonkeyKevin/smpp34.NewTransceiver(0x54a810, 0xe, 0xc80, 0x5, 0xc21001e360, ...)
    /home/ubuntu/go/src/github.com/CodeMonkeyKevin/smpp34/transceiver.go:25 +0x1b5
main.main()
    /home/ubuntu/smpp34/examples/trx_example.go:21 +0x224

PDU validation checks.

Added PDU validation checks. Validation should check the PDU fields size, type and length where applicable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.