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&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&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, -- Alejandro Guerrieri Magicom http://www.magicom-bcn.net/ LinkedIn: http://www.linkedin.com/in/aguerrieri
