oserl and SMPP versions

Enrique Marcote Peña mpquique@REDACTED
Tue Feb 15 13:23:41 CET 2005

On Tuesday 15 February 2005 01:59, Anders Nygren wrote:
> Hi
> I wonder if oserl supports SMPP 3.4.
> The documentation says
> "OSERL (open SMPP erlang library) comprises the entire specification
> of the recently released SMPP version 5.0 (February 20th, 2003).
> Moreover, every forward and backward compatibility guidelines were
> adopted at the design stage, what makes the resulting library easy to
> maintain and update to any future or previous version of the
> protocol."
> Which is a little unclear but sounds promising.
> /Anders Nygren

Hi Anders,

OSERL does support SMPP 3.4, the backwards compatibility guidelines adopted 
made the compatibility with previous versions possible, in fact we are 
working against SMSCs running that exact version of SMPP.

As Heinrich said, OSERL by default sets the interface_version to 0x50 (version 
5.0).  To change this, you may edit smpp_param.hrl and set the default value 
of this parameter to ?SMPP_VERSION_3_4, or instead of that, you may set the 
interface_version parameter to the appropriate value when binding:

ParamList = [{system_id, "SYSTEMID"},
             {password, "PASSWORD"},
             {system_type, "SYSTEMTYPE"},
             {interface_version, 16#34},
             {addr_ton, 0},
             {addr_npi, 0},
             {address_range, "1234"}],
gen_esme:bind_transceiver(SessionPid, ParamList)

As a rule of thumb, OSERL sets the default value for every parameter to those 
defined in smpp_param.hrl, but only for those parameters the user doesn't 
explicitly set on the ParamList when issuing any particular SMPP operation.  
Those values defined by the user in the ParamList have higher priority than 
the default ones.

You probably *won't need* to do so if you are working with a standard version 
of SMPP version 3.4, but just in case you need to adjust OSERL to a 
non-stantard SMPP implementation, you have to edit smpp_param.hrl and/or 
smpp_pdu.hrl to reflect your exact SMPP parameters and PDUs.  I believe 
matching these hrls to the parameters and PDUs defined in any SMPP 
specification is pretty straightforward.

Best regards,


More information about the erlang-questions mailing list