Ok.

Thanks for your reply.

2011/4/18 Nikos Balkanas <nbalka...@gmail.com>

> Hi,
>
> This is POTS (legacy phone) standard, which is used by SMS for
> transmission. CCITT set these calling standards, now maintained by ITU. In
> the ITU-T E.164 the general recommendation is for 00 prefix, but several
> countries have their own. SMPP just reuses the international format, since
> it has to transmit the SMS over SS7.
>
> BR,
> Nikos
> ----- Original Message ----- From: Ivan Kurnosov
> To: Singularnet
> Cc: users@kannel.org
> Sent: Monday, April 18, 2011 2:43 AM
> Subject: Re: Specification of destination_addr
>
>
>
> Yep, I've googled that too, but it is strange for me that there is no any
> explicit reference to that document in SMPP specs.
>
>
> On Mon, Apr 18, 2011 at 10:37 AM, Singularnet <singular...@gmail.com>
> wrote:
>
> I belive that the international number format is define in the
> recomendation ITU e.164, that should be the definition of that code
>
> 2011/4/17, Ivan Kurnosov <zer...@zerkms.ru>:
>
>  Hello
>>
>> For now International (addr = 0x1) numbers are validated with this code:
>>
>>    case GSM_ADDR_TON_INTERNATIONAL:
>>        /*
>>         * Checks to perform:
>>         *   1) assume international number has at least 7 chars
>>         *   2) the whole source addr consist of digits, exception '+' in
>> front
>>         */
>>        if (octstr_len(addr) < 7) {
>>            /* We consider this as a "non-hard" condition, since there
>> "may"
>>             * be international numbers routable that are < 7 digits. Think
>>             * of 2 digit country code + 3 digit emergency code. */
>>            warning(0, "SMPP[%s]: Mallformed addr `%s', generally expected
>> at least 7 digits. ",
>>                     octstr_get_cstr(id),
>>                     octstr_get_cstr(addr));
>>        } else if (octstr_get_char(addr, 0) == '+' &&
>>                   !octstr_check_range(addr, 1, 256, gw_isdigit)) {
>>            error(0, "SMPP[%s]: Mallformed addr `%s', expected all digits.
>> ",
>>                     octstr_get_cstr(id),
>>                     octstr_get_cstr(addr));
>>            reason = SMPP_ESME_RINVSRCADR;
>>            goto error;
>>        } else if (octstr_get_char(addr, 0) != '+' &&
>>                   !octstr_check_range(addr, 0, 256, gw_isdigit)) {
>>            error(0, "SMPP[%s]: Mallformed addr `%s', expected all digits.
>> ",
>>                     octstr_get_cstr(id),
>>                     octstr_get_cstr(addr));
>>            reason = SMPP_ESME_RINVSRCADR;
>>            goto error;
>>        }
>>        /* check if we received leading '00', then remove it*/
>>        if (octstr_search(addr, octstr_imm("00"), 0) == 0)
>>            octstr_delete(addr, 0, 2);
>>
>>        /* international, insert '+' if not already here */
>>        if (octstr_get_char(addr, 0) != '+')
>>            octstr_insert_char(addr, 0, '+');
>>
>>        break;
>>
>>
>> Could any one give a reference for the international format, which has
>> been
>> used while this code was written. There is no any in SMPP 3.4 specs.
>>
>> Thanks.
>>
>> --
>> With best regards, Ivan Kurnosov
>>
>>
>
> --
> Enviado desde mi dispositivo mσvil
>
>
>
>
>
> --
> With best regards, Ivan Kurnosov
>



-- 
With best regards, Ivan Kurnosov

Reply via email to