Asterisk петля, как избавится?
Сообщений: 4
|
Asterisk петля, как избавится?
Ситуация следующая на одном сервере, для SIP звонков установлены Asterisk и Kamailio(OpenSER). Для того что бы между ними не было конфликтов, стандартно развожу их по портам. Для Asteriska 5061 порт, в sip.conf bindport=5061, для Kamailio(OpenSER) - порт 5060. Далее есть два телефона один(1002) стучится на порт 5060, второй(1000) на 5061. Пробую звонить с Asterisk на Kamailio и:
Executing [1000@outbound:1] Goto("SIP/1002-08d44000", "inbound|1000|1") in new stack
-- Goto (inbound,1000,1)
-- Executing [1000@inbound:1] Answer("SIP/1002-08d44000", "") in new stack
-- Executing [1000@inbound:2] Wait("SIP/1002-08d44000", "1") in new stack
-- Executing [1000@inbound:3] Dial("SIP/1002-08d44000", "SIP/1000") in new stack
[Apr 9 14:30:01] WARNING[1642]: chan_sip.c:3005 create_addr: No such host: 1000
[Apr 9 14:30:01] WARNING[1642]: app_dial.c:1275 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [1000@inbound:4] Hangup("SIP/1002-08d44000", "") in new stack
== Spawn extension (inbound, 1000, 4) exited non-zero on 'SIP/1002-08d44000'
Как я понимаю, Asterisk ловит звонок, который переводит, и образуется петля. Т.е. не смотря на конфиг в котором указан 5061 порт он все же ловит 5060 порт. При разных физических серверах(на одном Asterisk на другом Kamailio(OpenSER)) все работает. Как это исправить?
|
Сообщений: 6521
|
Re: Asterisk петля, как избавится?
No such host: 1000 говорит. Это значит звоним неправильно.
Unable to create channel of type 'SIP' - потому же.
Синтаксис Dial("SIP/1002-08d44000", "SIP/1000") предполагает что у вас есть SIP экстеншн (внутренний номер) 1000, который можно увидеть по
sip show peers
Там не будет
1000 (Unspecified) D N A 5061 Unmonitored
Вам надо указывать примерно так:
exten => 1000,1,Dial(SIP/Kamailio/1000)
где Kamailio - будет пиром
[Kamailio]
type=friend
host=127.0.0.1
port=5061
|
Сообщений: 4
|
Re: Asterisk петля, как избавится?
Да, все верно, работает. Спасибо!
Использовал такую форму, что бы универсализировать диалплан:
exten => _1XXX,1,Dial(SIP/Kamailio/${EXTEN})
|
|