Additional TLV's

Alejandro Guerrieri <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Dear All,

We

One of the carriers we are working with asked us to send them 4 custom
TLV's in order to implement billing services.

TAG: MAS_APP_ID, id=0x1401 Integer(2)
LENGTH: Length of value in octets // Integer(2)
VALUE: 1-255 // C-Octet String

TAG: MAS_SVC_ID, id=0x1402 Integer(2)
LENGTH: Length of value in octets // Integer(2)
VALUE: 1-255 // C-Octet String

TAG: MAS_CONT_ID, id=0x1403 Integer(2)
LENGTH: Length of value in octets // Integer(2)
VALUE: 1-255 // C-Octet String

TAG: MAS_SVC_ID, id=0x1404 // Integer(2)
LENGTH: Length of value in octets // Integer(2)
VALUE: 1-255 // C-Octet String

I've been crawling the source and reading the lists archives, and I've
found that there's not a simple way to implement it without touching
the source code.

The question is, how could I implement this on the source code? What I
need is to be able to send this 4 TLV's on the submit_sm PDU and
ideally I should be able to set the values from the sendsms interface.

I already added this to smpp_pdu_opt.def:

#define SMPP_mas_app_id                         0x1401
#define SMPP_mas_svc_id                         0x1402
#define SMPP_mas_cont_id                        0x1403
#define SMPP_mas_cont_desc                      0x1404

and this to smpp_pdu.def:

PDU(mas_app_id,
    0x00001401,
    HEADER
    NULTERMINATED(mas_app_id, 255)
)

PDU(mas_svc_id,
    0x00001402,
    HEADER
    NULTERMINATED(mas_svc_id, 255)
)

PDU(mas_cont_id,
    0x00001403,
    HEADER
    NULTERMINATED(mas_cont_id, 255)
)

PDU(mas_cont_desc,
    0x00001404,
    HEADER
    NULTERMINATED(mas_cont_desc, 255)
)

I've recompiled and everything seems to be working as before.

Am I on the right path?

What I think I'm missing (please correct me if I'm wrong is):

1. How do I include this new TLV's on the submit_sm PDU?
2. How do I add new parameters to the sendsms inteface?
3. How could I _only_ add this TLV's when the parameters are defined?
I don't want to break things with other carriers, this should only be
passed to this particular carrier.

Any hints will be thoroughly appreciated. :)

Best regards,
--
Alejandro Guerrieri
Magicom
http://www.magicom-bcn.net/
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.