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

Reply via email to