Peter Beckman wrote:

Dear Kannel Developers:

I've written about this before, but I thought I would bring it up again
because I hate patching.

Many SMSC's are starting to use the optional SMPP parameters for
information like billing issues, carrier failures, etc.  Kannel really
doesn't allow for this -- it detects the parameters, but is unable to
actually turn them into some sort of passable escape code(s) via
sms-service.

Take for example this log dump:

2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x0427)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 1
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x001e)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 29
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x1402)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 1
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x1404)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 22
2005-01-27 16:46:56 [30186] [7] ERROR: SMPP: Unknown TLV(0x1404,0x0016,4154265420576972656c657373205365727669636573) for PDU type (deliver_sm) received!
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x1530)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 3
2005-01-27 16:46:56 [30186] [7] ERROR: SMPP: Unknown TLV(0x1530,0x0003,504244) for PDU type (deliver_sm) received!
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x1531)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 90
2005-01-27 16:46:56 [30186] [7] ERROR: SMPP: Unknown TLV(0x1531,0x005a,4e6f2050686f6e65204e756d6265723a20537562736372696265722070686f6e65206e756d62657220776173206e6f74206d617463686


56420696e2074686520515073732073797374656d206f722041575320506f7274616c20) for PDU type (deliver_sm) received!
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x1532)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 6
2005-01-27 16:46:56 [30186] [7] ERROR: SMPP: Unknown TLV(0x1532,0x0006,2d3230313030) for PDU type (deliver_sm) received!
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter tag (0x1533)
2005-01-27 16:46:56 [30186] [7] DEBUG: Optional parameter length read as 90
2005-01-27 16:46:56 [30186] [7] ERROR: SMPP: Unknown TLV(0x1533,0x005a,4e6f2050686f6e65204e756d6265723a20537562736372696265722070686f6e65206e756d62657220776173206e6f74206d617463686


56420696e2074686520515073732073797374656d206f722041575320506f7274616c20) for PDU type (deliver_sm) received!
2005-01-27 16:46:56 [30186] [7] DEBUG: SMPP[mysmsc]: Got PDU:
2005-01-27 16:46:56 [30186] [7] DEBUG: SMPP PDU 0xb5c9a5e0 dump:
2005-01-27 16:46:56 [30186] [7] DEBUG: type_name: deliver_sm
2005-01-27 16:46:56 [30186] [7] DEBUG: command_id: 5 = 0x00000005
2005-01-27 16:46:56 [30186] [7] DEBUG: command_status: 0 = 0x00000000
2005-01-27 16:46:56 [30186] [7] DEBUG: sequence_number: 877 = 0x0000036d
[...]


My dream for the config file:

group = smsbox
smsc-id = mysmsc
[...]
optparam = 0x1404:22:N:billerr_msg
optparam = 0x1530:3:M:happy_tag
optparam = 0x1531:90:K:secret_code
optparam = 0x1532:6:J:test_msg_id
optparam = 0x1533:90:L:secret_code2

Now the following takes place:

    When an SMS arrives, it can be passed to sms-service, using %N, %M, %K,
    %J and %L (assuming those are available), so I can grab them with a PHP
    script and do something with them.

    When submitting an SMS to kannel, I can set the URL to:

http://localhost:13013/cgi-bin/sendsms?user=[...]&billerr_msg=you+spent+too+much&happy_tag=fun&text_msg_id=123FFF


And kannel will modify the PDU to include the data passed and send that to the SMSC.

now, this approach does not "handle" on how you pass the SMPP specific optional parameters in the Kannel internal msg structure to smsbox.


I see (and I agree) that we may have a generic way in passing SMSC specific optional parameters up to the application layer and vice versa. But it should be as clean as possible and transparently configurable for all SMSC protocols.

Therefore we need a sort of Dict that contains key:value pairs within the msg structure. Any ideas on how we could handle this? Alex?

Stipe

mailto:stolj_{at}_wapme.de
-------------------------------------------------------------------
Wapme Systems AG

Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany

phone: +49.211.74845.0
fax: +49.211.74845.299

mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
-------------------------------------------------------------------



Reply via email to