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

Reply via email to