Unknown dest_addr_ton
Roman Lysenko <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Organization | Актив Технолоджи |
| Message-ID | <[email protected]> |
Good day. I have SMPP connection to SMSC, which sends me destination addres such as NNNN#NNNNNNNN, where N is a digit, but dest_addr_ton: 0 = 0x00000000 - "Unknown" ton dest_addr_npi: 0 = 0x00000000 Than kannel sends back response with command_status: 11 = 0x0000000b. I think it because of there are '#' in destination address. In the source code of smsc_smpp.c there are statement which allow such destination address only with dest_addr_ton: 5 = 0x00000005. But as mention in GSM 03.40 ""Unknown" is used when the user or network has no a priori information about the numbering plan. In this case, the Address-Value field is organized according to the network dialling plan, e.g. prefix or escape digits might be present." So may be it means that # is allowed for "dest_addr_ton: 0" too? I have made some simple patch. May be i'm wrong but now it's work fine for me. -- Best regards, Roman.
smsc_smpp_patch.txt
(text/plain, 520 B)
--- gw/smsc/smsc_smpp.c Fri Jul 22 19:45:00 2005
+++ gw/smsc/smsc_smpp_patched.c Fri Jul 22 19:54:40 2005
@@ -400,7 +400,7 @@
}
/* now check dest addr range */
- if (ton != GSM_ADDR_TON_ALPHANUMERIC && !octstr_check_range(pdu->u.deliver_sm.destination_addr, 1, 256, gw_isdigit)) {
+ if (ton != GSM_ADDR_TON_ALPHANUMERIC && ton != GSM_ADDR_TON_UNKNOWN && !octstr_check_range(pdu->u.deliver_sm.destination_addr, 1, 256, gw_isdigit)) {
*reason = SMPP_ESME_RINVDSTADR;
goto error;
}