Re: SMPP Optional Parameters implementation

Alexander Malysh <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Hi,

I already done it. Patch is in my tree should just rebase it against
kannel.org.

In my patch we have...

        In the config
group = smpp-tlv
name = some-name
tag = 0x1601
type = integer|nulterminated|octetstring
length = 4

Then in the msg struct I added meta_data field that can contain any
parameters not only for smpp. meta_data is formated as follows:
        meta_data = ?group?key=value&key1=value1?smpp?some-name=ABC
then SMPP module just set all TLVs that can be found in the smpp group of
meta_data.

With this approach it's possible to use this generic interface to put some
extra functionality into any SMSC module.

I will rebase my patch and post it (hope todo it this weekend), just be a
bit patient. 


Alejandro Guerrieri wrote:

> Dear List,
> 
> A fellow member of this list and me are planning to implement a
> generic way to send/receive TLV's (SMPP Optional Parameters) to
> Kannel. The objective of our approach will be to develop a high level
> abstraction of the TLV structure in order to allow Kannel to send and
> recognize specific TLV's just by writing special configuration
> directives on it's conf files.
> 
> The idea has matured to the point of writing fictitious (as of now)
> configuration directives and communication parameters.
> 
> As we see it, the configuration for optional parameters should go into
> the core group. An "allow" directive could be put in place to limit
> the functionality of specific parameters to specific smpp connections.
> 
> For example:
> 
> group = smpp-optional
> group-id = msg_ticket
> allowed-smsc-id = "smsc1;smsc2"
> tlv-tag = 0x1404
> tlv-length = 15
> tlv-type = string
> 
> group = smpp-optional
> group-id = msg_custom_param
> allowed-smsc-id = "smsc1;smsc2"
> tlv-tag = 0x14FF
> tlv-length = 2
> tlv-type = integer
> 
> This would define two TLV's, one called "msg_ticket" at address 0x1404
> carrying a OctStr of 15 bytes in lenght. The second would be called
> "msg_custom_param" at address 0x14FF carrying an integer of 2 bytes.
> Both parameters only exists on the context of smpp connections named
> "smsc1" and "smsc2".
> 
> To avoid clashing with other modules, the parameters would be
> "serialized" into a single parameter to be sent/received by the
> HTTP/XML and even SQLBOX interface (with minor modifications). The
> syntax would be as follows:
> 
> To send:
> 
>
http://myhost:port/cgi-bin/sendsms?....&smpp_optional=msg_ticket=xxxxxxxx&amp;msg_custom_param=123
> 
> Note: the tag-value combination would have to be urlencoded of course.
> 
> To receive:
> 
> We could use any free letter (maybe "v" ?) to receive the tag-value
> pairs, also urlencoded.
> 
> So if we configure post-url with "http://myhost/myapp?params=%v
> 
> We would receive a post with "params" (or any name we've chosen) loaded
> with:
> 
> "msg_ticket=xxxxxxx&amp;msg_custom_param=321" (It would also be
> urlencoded).
> 
> Any opinions or suggestions from the core Kannel mantainers and fellow
> community members are welcome.
> 
> Thank you in advance,

-- 
Thanks,
Alex
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.