Re: Asterisk и ОКС7
libss7/isup.c
static FUNC_SEND(called_party_num_transmit) {
int numlen, oddeven; isup_put_number(&parm[2], c->called_party_num, &numlen, &oddeven);
parm[0] = 0x03; /* Assume unknown */
if (oddeven) parm[0] |= 0x80; /* Odd number of digits */
parm[1] = (0x1 << 4) | 0x00; /* Assume E.164 numbering plan */
return numlen + 2;
}
Вот она где собака зарыта:
parm[0] = 0x03
Вот он у меня и шлёт всегда national.
Бум патчить (эх нати бы время).
Вопрос остаётся открытым:
как правильно должно работать national/international в PRI?
Т.е. если стоит dynamic, то он сам должен соображать, что если в номере есть международный префикс, то он сам должен отгрызать этот префикс и в тип номера проставлять international при отправке в сеть? И наоборот.
|