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

Переадресация входящих звонков

Добавлено: 15 окт 2013, 12:44
RomanL
Есть контекст для приёма входящих звонков от сиппровайдера
[incoming]
exten => s,1,Answer()
exten => s,2,Dial(SIP/300&SIP/301&SIP/302)
exten => s,3,Hangup()

include => Local

И контекст для локальных вызово
[Local]
exten => 100,n,Dial(SIP/100)

exten => 300,1,Dial(IAX2/outgoing/89031234567)
exten => 301,1,Dial(IAX2/outgoing/89031234568)
exten => 302,1,Dial(IAX2/outgoing/89031234569)

Сделал отдельные экстеншены 300,301,302, потому что конструкция вида exten => s,2(SIP/sipprovider/89031234567&SIP/sipprovider/89031234568&SIP/sipprovider/89031234569) почему-то работала некорректно, звонки одновременно шли на 1 или 2 номера из списка рандомно(кстате почему???)

Так вот при входящем в контекст incoming звонке выдаёт ошибки вида

chan_sip.c:5441 create_addr: Purely numeric hostname (300), and not a peer--rejecting!

Хотя при замене 300 скажем на 100 или любой другой существующий, звонки одновременно проходят корректно.

Понимаю что дилетантский вопрос, но в упор не вижу ошибку. Заранее спасибо.

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 12:59
Vlad1983
[incoming]
exten => s,1,Answer()
exten => s,2,Dial(Local/300@Local&Local/301@Local&Local/302@Local)
exten => s,3,Hangup()

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 13:15
RomanL
Не подходит, он же ищет хост Local и канал создать пытается Local, а не SIP. :( Или я что-то не понимаю...

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 13:18
Vlad1983
RomanL писал(а):Или я что-то не понимаю...

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 13:41
RomanL
Тогда вопрос что... почему предложенный вариант не работает

[incoming]
exten => s,1,Answer()
exten => s,2,Dial(Local/300@Local&Local/301@Local&Local/302@Local)
exten => s,3,Hangup()

ERROR[3488]: netsock2.c:263 ast_sockaddr_resolve: getaddrinfo("Local", "(null)", ...): Name or service not known
WARNING[3488]: chan_sip.c:5483 create_addr: No such host: Local
WARNING[3488]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
== Using SIP RTP CoS mark 5

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 13:57
Vlad1983
переименовать [Local] в [from-local]
и поправить
exten => s,2,Dial(Local/300@from-local&Local/301@from-local&Local/302@from-local)

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 14:05
RomanL
Блин я балда, спасибо большое...

Только теперь он отрабатывает только exten => 300,1,Dial(IAX2/outgoing/89031234567)

exten => 300,1,Answer()
exten => 300,2,Dial(IAX2/outgoing/89031234567)

exten => 301,1,Answer()
exten => 301,1,Dial(IAX2/outgoing/89031234568)

exten => 302,1,Answer()
exten => 302,1,Dial(IAX2/outgoing/89031234569)

То есть отрабатывает Answer у всех, а Dial делает только на первый, а необходимо, что бы был одновременный Dial на все три.

-- Executing [300@LocalOnly:1] Answer("Local/300@LocalOnly-d1f9;2", "") in new stack
-- Local/300@LocalOnly-d1f9;1 answered SIP/zadarmaext-00000015
-- Executing [301@LocalOnly:1] Answer("Local/301@LocalOnly-c8d2;2", "") in new stack
== Spawn extension (LocalOnly, 301, 1) exited non-zero on 'Local/301@LocalOnly-c8d2;2'
-- Executing [302@LocalOnly:1] Answer("Local/302@LocalOnly-a97f;2", "") in new stack
== Spawn extension (LocalOnly, 302, 1) exited non-zero on 'Local/302@LocalOnly-a97f;2'
-- Executing [300@LocalOnly:2] Dial("Local/300@LocalOnly-d1f9;2", "IAX2/niderlands/89031234567,,Tt") in new stack

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 14:14
Vlad1983
убрать Answer() везде

Re: Переадресация входящих звонков

Добавлено: 15 окт 2013, 15:04
RomanL
Так, отлично. Спасибо огромное, теперь понятно, но идёт посылка вызова через один транк сипнета, но проходит звонок на один случайно выбранный номер.

Re: Переадресация входящих звонков

Добавлено: 16 окт 2013, 08:49
virus_net
RomanL писал(а):но проходит звонок на один случайно выбранный номер
значит скорее всего у тя номер одноканальный
см. в sip debug общения с провайдером, там точно узнаешь ответ