LINUX.ORG.RU

Asterisk

 , ,


0

1

Есть asterisk 11.25 (freepbx) сервер, подключенный ко внешнему транку. В опциях транка стояло type=friend. Когда от внешнего транка приходит звонок, где номер звонящего совпадает с чем-то уже заведенным в кач-ве экстеншена на asterisk'е, он его не принимает:

WARNING[3712][C-0000000c] chan_sip.c: username mismatch, have <120>, digest has <sipgw>
NOTICE[3712][C-0000000c] chan_sip.c: Failed to authenticate device "120" <sip:120@IP>;tag=

Что как бы понятно и логично. Но «прикол» в том, что раньше всё работало. И настройки на asterisk'е не менялись, как были, так и есть, но приходили раньше звонки с «совпадающими» номерами! Доподлинно известно, что со стороны удаленного транка поменяли железку, но конфиг вроде остался тот же, но другая версия софта (прошивки) всё-таки там стала. При это раньше, когда работало, точно приходил нормальный CID как минимум это же номер 120 работал и определялся как 120. Т.е. подмены CID/From тоже не было.

Просто любопытно, а какая настройка со стороны удаленного транка могла такое позволить, если учесть, что со стороны звёздочки ничего не менялось?


Ответ на: комментарий от Aborigen1020

Ну задача минимум - разрешить прием звонков с транка, где номер звонящего будет совпадать с теми, что заведены уже в виде экстеншенов, не требуя от них авторизации под этими экстеншенами. Но это я догадываюсь как решить - поставить тип peer вместо friend. Исходя из описания это не будет пытаться сопоставлять поле From для авторизации, а только IP адрес откуда приходит вызов.

Задача максимум - разобраться почему оно работало раньше. В образовательных целях, т.к. не очень хорошо ориентируюсь в параметрах asterisk’а, а хотелось бы немного лучше освоиться.

nstorm ()