VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
SMak044
Сообщения: 26
Зарегистрирован: 25 дек 2012, 13:31

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

Сообщение 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 транка к системе.

Может быть кто то сталкивался с такой проблемой, и как то ее решил, поиск в гугл ничего толкового не дал, правда я мог и не то искать.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

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

Сообщение Vlad1983 »

на устройстве возвращающем в зад поставить префикс перед CID (допустим пару нулей)
в контексте транка отрезать префикс и кинуть дальше
ЛС: @rostel
SMak044
Сообщения: 26
Зарегистрирован: 25 дек 2012, 13:31

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

Сообщение SMak044 »

Вот блин!!!!
Все гениальное просто!!!!
Спасибо.... Это выход...
Пошел прикручивать и резать!!!!
Спасибо!
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH