Добрый день, я в Астериске новичок!
У меня имеются два зарегистрированных на астериске номера, например: 4444444 и 7777777, и имеется проблема: при звонке на номер 7777777 консоль выдает сообщение: Call from '4444444' (voipserver:5164) to extension '7777777' rejected because extension not found in context 'test-in'. т.е. по какой то причине астериск думает что я звоню на номер 4444444 и пытается меня отправить в контекст test-in где конечно же не описан диалплан для экстеншена 7777777, если я звоню на 4444444 то диалплан отрабатывается без ошибок. Подскажите пожалуйста как можно решить данную проблему?
sip.conf:
register => 4444444:secret@voipserver:5164/4444444
register => 7777777:secret@voipserver:5164/7777777
[rubik](!)
type = friend
qualify = yes
host = dynamic
context = rubik-out
canreinvite = no
secret = secret
accountcode = 7777777
[300](rubik)
[301](rubik)
[4444444]
host = voipserver
port = 5164
type = peer
fromuser = 4444444
defaultuser = 4444444
remotesecret = secret
context = test-in
insecure = port,invite
qualify = yes
[7777777]
host = voipserver
port = 5164
type = peer
fromuser = 7777777
defaultuser = 7777777
remotesecret = secret
context = rubik-in
insecure = port,invite
qualify = yes
extensions.conf:
[rubik-in]
exten = 7777777,1,Answer
same = n,Dial(SIP/300&SIP/301,,)
same = n,Hangup
[test-in]
exten = 4444444,1,Answer
same = n,Wait(1)
same = n,Playback(/var/lib/asterisk/sounds/Nomer-ne-obsluzhivaetsya8)
same = n,Hangup
укажи один контекст и в нем разные экстеншены
[rubik-in]
exten = 7777777,1,Answer
same = n,Dial(SIP/300&SIP/301,,)
same = n,Hangup
exten = 4444444,1,Answer
same = n,Wait(1)
same = n,Playback(/var/lib/asterisk/sounds/Nomer-ne-obsluzhivaetsya8)
same = n,Hangup
Добрый день! Скорее всего ваша проблема связана с настройками пиров, а точнее с параметром insecure.
;insecure=port ; Allow matching of peer by IP address without
; matching port number
;insecure=invite ; Do not require authentication of incoming INVITEs
;insecure=port,invite ; (both)
Задан: Nov 9 '15
Просмотрен: 234 раз
Обновлен: Nov 10 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
[test-in] exten = 4444444,1,Answer same = n,Wait(1) same = n,Playback(/var/lib/asterisk/sounds/Nomer-ne-obsluzhivaetsya8) same = n,Hangup exten = 7777777,1,Answer same = n,Dial(SIP/300&SIP/301,,) same = n,Hangup это конечно выход, но хотелось бы разобраться по чему моя изначальная схема не работает. Должно же все работать.
insecure=port,invite и insecure=invite пробовал, даже закоменчивал ; не помогло.
7777777 начинает работать если полностью закоментить register =>4444444.... и пир [4444444]...
rubikoff (Nov 10 '15)editЧтобы разобраться, прочтите статью http://igorg.ru/2012/02/22/sip-trank-neskolko-uchyotok/ На мой взгляд лучше воспользоваться советом alexcr (оно же решение №1 в статье)
StuxForce (Nov 10 '15)editраз проблему не решить, придется использовать (способ1) из выше упомянутого гайда: Вызовы ото всех аккаунтов, относящихся к одному серверу,принимать в едином контексте, спасибо за наводку
rubikoff (Nov 10 '15)editмне тут подсказали решение: добавить в описание пира [7777777] callbackextension = 7777777 и в [4444444] callbackextension = 4444444, и все сразу проблема решилась, звонки уходят в контекст [rubik-in] и обрабатываются там. Но теперь в консоли пишет(сокращённо): WARNING: Probably a DNS error for registration to 7777777@voipserver, trying REGISTER again (after 90 seconds) NOTICE: Registration for '7777777@voipserver' timed out, trying again (Attempt #29) WARNING: Probably a DNS error for registration to 4444444@voipserver, trying REGISTER again (after 90 seconds) NOTICE: Registration for '4444444@voipserver' timed out, trying again (Attempt #28) Как от этого избавится и критично ли это?
rubikoff (Nov 11 '15)editСкорее всего это возникает потому, что у вас callbackextension добавлен в register => и в описание пира. Читайте sip.conf.sample:
StuxForce (Nov 11 '15)editпредисловие: подключение у меня к оператору по нестандартному порту, допустим 5164. появилась новая проблема: как появилась и когда(примерно вчера) не понял: при исходящих звонках в tcpdumpe запрос уходит на сервер почему то на стандартный порт: XXX.XXX.XXX.XXX.1024 > voipserver.5060, долго мучался/ковырялся и понял что все это из-за callbackextension, т.к. пришлось полностью удалить пиру, например [4444444] из sip.conf, далее sip reload, заново прописывать пиру ручками, только тогда запросы уходят на > voipserver.5164, но как только в описании пиры я добавляю callbackextension, все ломается, хотя явно указан port = 5164(см.sip.conf)? при чем если после этого закоментить(;) или удалить строчку callbackextension, проблема всеравно сохраняется. В чем может быть дело? В астериске больше ничего не менял за исключением sip и extension конфигов, два дня назад все работало исправно, вчера все сломалось(
rubikoff (Nov 12 '15)edit