Hi,
I've googled  for your issue and I've found this thread, it seems to be
useful.
http://www.mail-archive.com/[email protected]/msg08960.html

Regards.

Benaiad

2009/10/2 Nikos Balkanas <[email protected]>

>  Thanks,
>
> I am impressed, you said you were no C programmer. However, these are just
> the definitions. Implementation means you have to create a flow for them.
> How does kannel respond when receiving such a PDU? Most likely it will panic
> - or just ignore it if it receives an unknown PDU, depending on its state.
> Have you tested them?
>
> The big reason that noone wants to deal with them, is that without the
> architectural documents describing the flow of these PDUs, you cannot use
> them. Another reason is that you have to be able to test the portions of
> code as you build it, and noone has access.
>
> I have no doubt that meta-data works, and doesn't even need the PDU
> definitions, but what about the rest? I have the feeling that Illimar didn't
> have this in mind.
>
> BR,
> Nikos
>
> ----- Original Message -----
>  *From:* [email protected]
> *To:* [email protected]
> *Sent:* Friday, October 02, 2009 10:36 PM
> *Subject:* Kannel Patch - LMT Latvia - Custom PDU
>
> Patch for LMT Operator in LATVIA.
>
>
> This will add support for custom PDU into Kannel
>
>
> Description:
>
> LMT Operator has custom PDU in SMPP server answers:
>
>
> LMT_REPORT         0x00010000
>
> LMT_REPORT_RESP         0x80010000
>
> LMT_GEN_CODE         0x00010001
>
> LMT_GEN_CODE_RESP         0x80010001
>
> LMT_VERIFY_CODE         0x00010002
>
> LMT_VERIFY_CODE_RESP         0x80010002
>
>
>
> I wrote this patch for my self and every one.
>
>
>
> File: gw/smsc/smpp_pdu.def
>
>
> //
>
> // LMT
>
> //
>
>
> PDU(LMT_REPORT,
>
>     0x00010000,
>
>     HEADER
>
>     OPTIONAL_BEGIN
>
>        TLV_OCTETS(lmt_created_ts, 14, 14)
>
>        TLV_INTEGER(lmt_report_type, 1)
>
>        TLV_OCTETS(lmt_message_id, 1, 65)
>
>        TLV_OCTETS(lmt_subscriber_id, 1, 20)
>
>     OPTIONAL_END
>
> )
>
>
> PDU(LMT_REPORT_RESP,
>
>     0x80010000,
>
>     HEADER
>
> )
>
>
> PDU(LMT_GEN_CODE,
>
>     0x00010001,
>
>     HEADER
>
>        INTEGER(source_addr_ton, 1)
>
>        NULTERMINATED(source_addr, 21)
>
>        INTEGER(dest_addr_ton, 1)
>
>        NULTERMINATED(destination_addr, 21)
>
>        NULTERMINATED(validity_period, 17)
>
>        INTEGER(data_coding, 1)
>
>        OPTIONAL_BEGIN
>
>        TLV_OCTETS(message_payload, 0, 65536)
>
>        OPTIONAL_END
>
> )
>
>
> PDU(LMT_GEN_CODE_RESP,
>
>     0x80010001,
>
>     HEADER
>
>        NULTERMINATED(message_id, 65)
>
> )
>
>
> PDU(LMT_VERIFY_CODE,
>
>     0x00010002,
>
>     HEADER
>
>        OPTIONAL_BEGIN
>
>        TLV_OCTETS(message_payload, 0, 65536)
>
>        OPTIONAL_END
>
> )
>
>
> PDU(LMT_VERIFY_CODE_RESP,
>
>     0x80010002,
>
>     HEADER
>
>        INTEGER(source_addr_ton, 1)
>
>        NULTERMINATED(source_addr, 21)
>
>        NULTERMINATED(message_id, 65)
>
>        OPTIONAL_BEGIN
>
>        TLV_OCTETS(lmt_subscriber_id, 1, 20)
>
>        OPTIONAL_END
>
> )
>
>
> //
>
> // END OF LMT
>
> //
>
>
>
>
> File: gw/smsc/smpp_pdu_opt.def
>
>
> //
>
> // LMT
>
> //
>
> #define        SMPP_lmt_created_ts                        0x1500
>
> #define        SMPP_lmt_subscriber_id                        0x1501
>
> #define        SMPP_lmt_response_till                        0x1502
>
> #define        SMPP_lmt_tariff_class                        0x1503
>
> #define        SMPP_lmt_more_messages_to_send                        0x1504
>
> #define        SMPP_lmt_service_desc                        0x1505
>
> #define        SMPP_lmt_message_id                        0x1506
>
> #define        SMPP_lmt_report_type                        0x1508
>
> #define        SMPP_lmt_transaction_id                        0x1509
>
> #define        SMPP_lmt_addr                        0x1510
>
> #define        SMPP_lmt_addr_ton                        0x1511
>
> //
>
> // END OF LMT
>
> //
>
>
>
>
> LMT also have big amount of TLV variables ( for kannel.conf )
>
>
> group = smpp-tlv
>
> name = lmt_created_ts
>
> tag = 0x1500
>
> type = octetstring
>
> length = 14
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_subscriber_id
>
> tag = 0x1501
>
> type = octetstring
>
> length = 20
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_response_till
>
> tag = 0x1502
>
> type = octetstring
>
> length = 20
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_tariff_class
>
> tag = 0x1503
>
> type = integer
>
> length = 2
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_more_messages_to_send
>
> tag = 0x1504
>
> type = integer
>
> length = 1
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_service_desc
>
> tag = 0x1505
>
> type = octetstring
>
> length = 40
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_message_id
>
> tag = 0x1506
>
> type = octetstring
>
> length = 65
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_report_type
>
> tag = 0x1508
>
> type = integer
>
> length = 1
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_transaction_id
>
> tag = 0x1509
>
> type = integer
>
> length = 4
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_addr
>
> tag = 0x1510
>
> type = octetstring
>
> length = 20
>
> smsc-id = LMT
>
>
> group = smpp-tlv
>
> name = lmt_addr_ton
>
> tag = 0x1511
>
> type = integer
>
> length = 1
>
> smsc-id = LMT
>
>
>
>
>
> p.s. I wrote this, because no one does, and only one person has his own
> patch: Illimar Reinbusch <illimar [at] telejazz.com> , and he told me that
> he will only sell it. So fuck off asshole!
>
>
>

Reply via email to