Re: Unknown dest_addr_ton
Alexander Malysh <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
did u try cvs head? there were made some changes that make ton/npi check
not so strict.
Thanks,
Alex
Roman Lysenko schrieb:
> 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.
>
>
>
> ------------------------------------------------------------------------
>
> --- 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;
> }