chandanpasunoori / smscgateway

Automatically exported from code.google.com/p/smscgateway
0 stars 0 forks source link

Add support for SMPP protocol #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
SMSC should have support for SMPP protocol to send/receive SMS from SMSC to 
External Short Messaging Entity (ESME)

Original issue reported on code.google.com by amit.bha...@gmail.com on 23 Mar 2012 at 11:22

GoogleCodeExporter commented 9 years ago
Decided to use https://github.com/twitter/cloudhopper-smpp

Original comment by amit.bha...@gmail.com on 2 Apr 2012 at 3:01

GoogleCodeExporter commented 9 years ago
Should allow the following config for SMPP accounts on the SMSC side

############################################################
#
# setting(MO/MT)                values(default if applicable)/description
#
# ANO_ENABLED(MO/MT             0=disabled, 1=MO handling enabled,
#                       2=MT handling enabled, 3=MO-MT handling enabled(0) /
#                       If disabled, the SMSC behaves like none of the
#                       anonymous functionality is implemented in the SMSC
#                       no matter of other settings in the section
#
# ANO_UD_PREFIX_ENABLED 0=disabled, 1=enabled/
# (MO)
#                       Disables or enables this method of requesting
#                       anonymity
# ANO_UD_PREFIX         user specified/
# (MO)                  The string in the beginning of SMS-SUBMIT.UD
#                       user data to tell the SMSC, that the originator
#                       wishes to remain unrecognized.
#                       Maximun length for REQUEST_STRING is 20 characters
#
# ANO_STRIP_UD_PREFIX   0=no, 1=yes
# (MO)                  If the value is 0, then the REQUEST_STRING is
#                       preserved in the SMS-DELIVER.UD. If the values is 1,
#                       then the REQUEST_STRING is stripped from SMS-DELIVER.UD
#
# ANO_DADDR_PREFIX_ENABLED      0=no, 1=yes/
# (MO)                  Defines if anonymity can be requested using
#                       predefined destination address prefix
# ANO_DADDR_PREFIX              number of maximum 5 digits/
# (MO)                  Prefix in destination address that indicates
#                       anonymity request.
#                       Prefix is removed from the address by the SMSC before
#                       submit operation.
#
# ANO_DB_ENABLED                0=no, 1=yes (0)/
# (MO)                  Defines whether the SMSC is using explicit
#                       list of MSISDNs which by default will have
#                       messages originated by them handled as
#                       anonymous(DB_NAME) or are denied the usage of
#                       service(DB_BLACK_LIST)
# ANO_DB_NAME           Absolute pathname of the file containing the MSISDNs
# (MO)
# ANO_BLACK_LIST_ENABLED        0=no, 1=yes (0)/
# (MO)                  Defines whether the SMSC is using explicit
#                       list of MSISDNs which are not allowed to use
#                       anonymous SMs
# ANO_BLACK_LIST_NAME(MO)       Absolute pathname of the file containing the 
MSISDNs
# ANO_BLACK_LIST_ACTION 0=nack, 1=send as normal MT (0)
# (MO)
# ANO_BLACK_LIST_SERVICE_DESCRIPTION (6)
# (MO)                  value that is stored and logged when an originator
#                       that is black listed tries to send anonymous SM
# ANO_BLACK_LIST_TARIFF_CLASS (6)
# (MO)                  value that is stored and logged when an originator
#                       that is black listed tries to send anonymous SM
#
# ANO_PSEUDO_ADDRESS_TYPE       valid address type as specified in GSM 03.40.
# (MT)                  Currently suported are 145=int,
#                       and 176=operator specifix/
#                       should be numeric string in range 0 - 255
#                       representing decimal number which is
#                       then converted to address type byte
#
# ANO_PSEUDO_ADDRESS    valid msisdn address/
# (MT)                  String of alphanumeric characters
#                       to be used in the originator address the
#                       recipient sees. The conversion of the address
#                       to the relevant internal presentation according
#                       to the address type is done by the SMSC
#                       !!! NOTE !!! It is users responsibility to make
#                       sure that PSEUDO_ADDRESS_TYPE and PSEUDO_ADDRESS
#                       are mutually compatible.
#
# ANO_SERVICE_DESCRIPTION       valid value for service description (9)/
# (MO/MT)               This value is logged in the event records
#                       !!!NOTE!!! This is value that the
#                       SMSC uses internally to identify the MT
#                       message whose OADDR needs to be changed to
#                       type PSEUDO_ADDRESS_TYPE and value PSEUDO_ADDRESS.
#                       The value chosen should not be used for other
#                       purposes.
#
# ANO_TARIFF_CLASS(MO)  valid tariff class value (9)/
#                       This value is logged in the event records
#
# ANO_REPLY_PATH_SETTING        0=always off, 1=always on, 2=leave as is(0)
# (MT)                  If REPLY_PATH_SETTING is 0, reply path bit
#                       for anonymous MT is always off.
#                       If REPLY_PATH_SETTING is 1, reply path bit
#                       for anonymous MT is always on.
#                       If REPLY_PATH_SETTING is 2, reply path bit
#                       for anonymous MT is left to what was in the MO.

Original comment by junaid.u...@gmail.com on 9 Apr 2012 at 3:10

GoogleCodeExporter commented 9 years ago

Some more proposed configurable parameters per SMPP account

        # GENERAL PARAMETERS
#delivery mode = 2
#autologout time = 3600
#session hangout time = 300
error text included = 1
#disconnect after logout = 1
#allowed access type codes = 1
#maximum logins = 10
#delivery cache size = 2000
#SR delivery cache size = 2000
#max cache size which disable delivery = 90
#max cache size which enable delivery = 10
#enable traffic control notification = 0
#passwd change blocked = 0
#application originated operation timeout = 60
#application terminated operation timeout = 60
#psw session monitoring enabled = 0
#delivery block timeout = 300
#Account Expiration Date=<yymmddhhmmss>
#original daddr in enquiry response = 0

        # DELIVERY RELATED PARAMETERS
#slow delivery delay = 0
#max api delivery attempts = -1
#suppress pid in delivery = 0
#suppress dcs in delivery = 0
#originator address in sr delivery enabled = 0
#suppress vmsc address = 0
#suppress originator imsi = 0
#suppress status error code = 0
#suppress sc address = 0
#SR priority over SM=5
destination address suffix strip = 1
#deliver plus in originator address = 0
#suppress originator address in delivery = 1
#sm deliver nack enabled = 0

        # SUBMIT RELATED PARAMETERS
#slow submit delay = 200
#status report request = 0
#srr locked = 0
#status report request restriction = 1
#max number of daddr in submit = 10
#tariff classes =  2 3 4 5 1
#service descriptions = 3 4 6
#more messages to send = 0
#more messages to send locked = 0
#ignore more messages to send = 0
#priorities = 3 5 1 2 8 9
#ignore priority = 1
#vp relative = 30
#vp locked = 0
#ignore validity period relative = 1
#ignore validity period absolute = 1
#pid in submit = 0
#pid in submit locked = 0
#ignore protocol identifier = 1
#dcs = 0
#dcs locked = 0
ignore dcs = 0
#fd relative = -1
#fd locked = 0
#ignore first delivery time relative = 1
#ignore first delivery time absolute = 1
#reply path = 0
#reply path locked = 0
#cancel enabled = 1
#ignore cancel enabled = 1
#cancel enabled locked = 0
submit destination address type = 145
submit originator address type = 208
#free submit originator address enabled = 0
#free submit originator address = 123456
#free submit originator address locked = 0
#free submit originator allowed addresses = 123 456 789
alpha originator address allowed = 1
alpha originator address = 91002
#alpha originator address locked = 0
#ignore alpha originator address = 0
#alpha address default character= 65
#virtual sc address = 9999
#deliver plus in sr destination address = 0
#submitsr enabled = 0
#submitsr destination address type = 0
#submitsr originator address type = 145

        # WINDOWING
#disable windowing = 1
#max window size = 10
#default window size = 1
#disable delivery windowing = 1

        # CHARACTER CONVERSION
character table file=/etc/opt/vendor/smsc/conf/blahblah_gsmcmd_mx.cf
special character table file=/etc/opt/vendor/smsc/conf/blahblah_specia_mx.cf
#AO character table file=/etc/opt/vendor/smsc/conf/blahblah_ao_isolat_mx.cf
#AO special character table 
file=/etc/opt/vendor/smsc/conf/blahblah_ao_specia_mx.cf
#AT character table file=/etc/opt/vendor/smsc/conf/blahblah_at_isolat_mx.cf
#AT special character table 
file=/etc/opt/vendor/smsc/conf/blahblah_at_specia_mx.cf
eight bit character translation=0

Original comment by junaid.u...@gmail.com on 9 Apr 2012 at 3:24