Dear list, This is to let you know that I've finally managed to add support for the 4 TLV's that I needed to add. It comprised changes on 5 files on gw and gw/smsc folders, not _that_big deal after I've got into speed with the kannel internals. Anyway, it was a nice experience to do it and I've learn a lot of C in the process =)
I couldn't even start without the help I received specially from "Lmwangi" and also from many threads I've read on the lists archive. I just want to say THANK YOU all for being there and making such a fine product as Kannel is. If anyone is curious about my mods, please let me know and I'll gladly submit it. Keep on the good working. Best regards, Alejandro. On 2/6/06, Alejandro Guerrieri <[EMAIL PROTECTED]> wrote: > First of all, thank you for your help. I'm starting to figure out > things now. I think I'll need to do a lot more of code research before > I come up with anything usable, but now I think I know where to start. > > On 2/6/06, Lmwangi <[EMAIL PROTECTED]> wrote: > > Hi, > > have u scanned the provided for TLVs (Within the spec?) Coz if i > > remember correctly, an SMPP client we used (EMG from > > nordicmessaging.se) supported the use of billing info..... > > Anyway back to your question, > > >1. How do I include this new TLV's on the submit_sm PDU? > > > > From the way i understood it, A pdu is automatically built by a macro. > > The macro (gw/smsc/smpp_pdu.c ~ ln119) sorts of iterates over the > > provided fields (Called by a function which has populated pdu fields > > e.g line ~750 of gw/smsc/smsc_smpp.c ) and creates the pdu. > > The TLV definations can be added here. gw/smsc/smpp_pdu.def > > > > I've already did that. I've added the missing TLV's there. I've > grep'ed my way into knowing that they are not defined anyway in > kannel. > > Kannel compiled with no problems after that, so I assume I didn't > break anything! (yet) ;) > > > 2. How do I add new parameters to the sendsms inteface? > > > > Grep is your friend. It is the most powerful tool you have... Anyway > > look at gw/msg-decl.h. You need to speficy your smsbox (sendsms?) > > param here. Then go edit all functions within the gw/smsbox.c file to > > reflect your changes as necessary > > > > I'll do that, thanks. BTW, grep's already my best friend in shellspace! ;) > > > 3. How could I _only_ add this TLV's when the parameters are defined? > > > > Macros! It just builds according to the specified fields. This is > > really not good. IMHO. Your smpp client will be INCOMPATIBLE. with > > other smpp peers > > Here is a patch i just developed for smpp 3.4 submit_multi. Patch it > > against the latest cvs srces and use it as a guide. I hope it will be > > good enough > > http://www.opensource.or.ke/index.php?option=com_content&task=view&id=40&Itemid=26 > > I don't want to break things with other carriers, this should only be > > passed to this particular carrier. > > > I'll check your patch thoroughly until I figure out how's implemented, > it looks a littele cumbersome for my poor C skills but I think I can > handle it. It's very well commented, that'll surely help me. > > Thanks again for the help, I'll try to figure out things from here and > I'll cry for help again only if I'm really stuck at some point. > > Best regards, > > Alejandro. > > > On 2/6/06, Alejandro Guerrieri <[EMAIL PROTECTED]> wrote: > > > Dear List, > > > > > > Did anybody read this? Any hints about how to implement it (I don't > > > pretend for anybody to do the job for me!) will be very helpful. > > > > > > At least I need a place to start, I'm not sure about how to code > > > support for additional TLV's. > > > > > > Thank you in advance, > > > > > > Alejandro > > > > > > ---------- Forwarded message ---------- > > > From: Alejandro Guerrieri <[EMAIL PROTECTED]> > > > Date: Feb 3, 2006 5:48 PM > > > Subject: Additional TLV's > > > To: "[email protected]" <[email protected]> > > > > > > > > > Dear All, > > > > > > 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/ > > > > > > > > > -- > > > Alejandro Guerrieri > > > Magicom > > > http://www.magicom-bcn.net/ > > > > > > > > > > > > -- > > Article: > > - > > And an unknown college dropout named Bill Gates, together with his > > partner Paul Allen, wrote a version of the programming language BASIC > > for the Altair, forming a company called Micro-Soft in the process. He > > would later drop the hyphen and the capital S, and make billions of > > dollars. > > -- > > Comment: > > +++ > > Dammit Slashdot! If you would just drop the capital S, you could be > > making billions of dollars too! > > +++++ > > http://slashdot.org/comments.pl?sid=171335&cid=14270286 > > +++++++ > > www.opensource.or.ke > > > > > -- > Alejandro Guerrieri > Magicom > http://www.magicom-bcn.net/ > -- Alejandro Guerrieri Magicom http://www.magicom-bcn.net/
