Страница 1 из 1

Проблема принятия звонков от устройства при переадресации

Добавлено: 10 сен 2013, 17:54
SMak044
Довольно не тривиальная проблема, но может кто подскажет как ее решить
Астериск работает нормаль
В нем заведено 2 абонента
1. 60001
2. 60002
Заведен транк на внешнее устройство
host=11.17.54.6
type=peer
qualify=yes
insecure=port,invite
disallow=all
nat=no
allow=ulaw&alaw
Весь набор на номера 7XXXX идет в этот транк
Устройство (сервис) имеет возможность вернуть звонок (переадресовать) на номер 60001

Но тут вот и возникает проблема. Дело в том, что обратный вызов делает сам сервис и есть две возможности, подставить номер самой системы или номер абонента, который в систему звонил.

И так при наборе 71001 с номера 60002, звонок уходит на сервис, там после манипуляций с донабором можно набрать номер 60001.
В первом случае, когда звонит сам сервис и в поле from значение 71001@.... то звонок номеру 60001 доходит
А в случае если подставлять значение звонящего сервис в поле from вставляет 60002@..... и звонок не доходит, астериск отбивает по 401.

В общем ничего не понятного нет, так по идее и должно быть, если не учитывать в настройках транка параметров
host=11.17.54.6
type=peer
insecure=port,invite
Которые не должны давать астериску запрашивать авторизацию. Но сам астериск, просто так поступает от природы
Сопоставление входящих вызовов с клиентами и пирами
Обычно, Asterisk ищет подходящего SIP клиента, при поступлении входящего вызова, по полю From: username (без доменной части). Однако, если Asterisk не смог найти подходящего пользователя для поступившего вызова, то он будет использовать IP адрес звонящего для поиска подходящего SIP пира с соответствующим адресом. Если же и после этого нет совпадений, тогда вызов будет отправлен на обработку в контекст, определенный в секции [general] файла sip.conf.
То есть если он видит в поле from 60002, то просто не принимает дальше условий insecure=port,invite на транке....

Поведение дурное и глупое но вот я ни как не соображу, что с этим делать....
Вот параметры 60002

Код: Выделить всё

[60002]
deny=0.0.0.0/0.0.0.0
secret=
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
type=friend
nat=yes
port=5060
qualify=yes
callgroup=
pickupgroup=
dial=SIP/60002
mailbox=60002@device
permit=0.0.0.0/0.0.0.0
callerid=device <60002>
callcounter=yes
faxdetect=no
Может быть тут надо что то подправить, но по идее астериск все равно найдет этого абонента, а я не могу ему присвоить IP. он же динамический.... и никак не IP транка к системе.

Может быть кто то сталкивался с такой проблемой, и как то ее решил, поиск в гугл ничего толкового не дал, правда я мог и не то искать.

Re: Проблема принятия звонков от устройства при переадресаци

Добавлено: 10 сен 2013, 19:13
Vlad1983
на устройстве возвращающем в зад поставить префикс перед CID (допустим пару нулей)
в контексте транка отрезать префикс и кинуть дальше

Re: Проблема принятия звонков от устройства при переадресаци

Добавлено: 10 сен 2013, 19:26
SMak044
Вот блин!!!!
Все гениальное просто!!!!
Спасибо.... Это выход...
Пошел прикручивать и резать!!!!
Спасибо!