Страница 1 из 2
Dlink DVG-7111S как Sip-транк
Добавлено: 22 апр 2020, 11:01
dimm-dimm
Добрый день!
Не идут входящие звонки через FXO шлюз в Asterisk.
Шлюз D-link DVG-7111S
Со стороны шлюза настроил логин и пароль на FXO, а также включил SIP Proxy с адресом Астериска (скрин во вложении). Статус sip proxy register на шлюзе - Successful
На Астериске создал экстеншн с именем 300, и транк. Для входящих данные на нем такие:
host=dynamic
username=логин FXO
secret=пасс FXO
type=friend
context=from-trunk
qualify=yes
insecure=no
Пир транка в астериске в статусе - ОК
Шлюз при звонке просто сбрасывает после двух гудков. В консоли Астериска - тишина.
В чем может быть проблема?
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 22 апр 2020, 12:32
ded
А зачем вы замазываете внутренний адрес 192.168. на скриншоте? Чтобы всех запутать?
На Астериске создал экстеншн с именем 300,
Лучше не экстеншн, а SIP trunk - пир, который по отношению к внутренним экстенам будет внешним транком, и тогда контекст from-trunk, правильный. Пир обозначить не мифическим номером 400, а городским номером, который на этой телефонной линии, типа 7654321.
insecure=no
откуда такой параметр взяли? Скорее всего надо insecure=invite,port
но вы же при этом указываете
username=логин FXO
secret=пасс FXO
значит вызов (инвайт) идёт аутентифицированный через этот username / secret
Далее, чтобы понять где проблема - включайте sip debug ip (адрес шлюза) и смотрите что прилетает с него при входящем звонке из города.
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 22 апр 2020, 14:13
dimm-dimm
Лучше не экстеншн, а SIP trunk - пир, который по отношению к внутренним экстенам будет внешним транком, и тогда контекст from-trunk, правильный. Пир обозначить не мифическим номером 400, а городским номером, который на этой телефонной линии, типа 7654321.
Выставил настройки для пира с номером.
type=peer
username=8121234567
secret=пароль
qualify=yes
port=5060
insecure=port, invite
host=192.168.10.11
context=from-trunk
disallow=all
allow=g729&ulaw&alaw
Логин и секрет на шлюзе и на атс одинаковый.
При настройке его как пира, на АТС приходит ошибка регистрации от шлюза:
Код: Выделить всё
NOTICE[24130]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from '"8121234567" <sip:8121234567@192.168.10.10>' failed for '192.168.10.11:5060' (callid: D1B9-1B1D-000000285FEF62824AC9-001@SipHost) - Failed to authenticate
При этом статус пира в атс - ОК.
Я что-то упустил с настройками пира?
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 22 апр 2020, 16:02
Zavr2008
insecure вообще убрать.
вместо username написать defaultuser
поставить host=dynamic
Но самый то прикол ниже!!!
Вы пишите про конфигурацию chan_sip, а прилетает то судя по всему с chan_pjsip!!!
NOTICE[24130]: res_pjsip/pjsip_distributor.c:676 ...
На Dlink указжите правильный порт 5160 )
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 22 апр 2020, 17:10
ded
Да-а-а.. фраза "Я что-то упустил?" приобретает глубокий смысл.
Если можно так ответить - многое упущено, если не всё.
В конфиге должно быть после правильной записи
Код: Выделить всё
[8121234567]
type=peer
username=8121234567
secret=пароль
qualify=no ; вам не нужно же пингать его всё время? Они же рядом?
port=5060
; insecure=port, invite это не нужно, если используется username и secret, я же написал выше?
host=dynamic
context=from-trunk
disallow=all
allow=g729&ulaw&alaw ; зачем вам поганый сжатый g729 в локальной сети? Оставьте просто ulaw&alaw
ну и что-то надо решить с pjsip, если не изучили его как следует - не надо использовать. Он слушает у вас видать порт 5060, а chan_sip (как заметил коллега
Zavr2008 - порт 5160.
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 23 апр 2020, 12:35
dimm-dimm
Поправил конфиги входящих до такого состояния:
type=peer
host=dynamic
username=8121234567
secret=123
qualify=no
port=5060
context=from-trunk
disallow=all
allow=ulaw&alaw
Zavr2008 писал(а):Вы пишите про конфигурацию chan_sip, а прилетает то судя по всему с chan_pjsip!!!
С этим тоже интересно. Сам транк создан как legacy sip, а не pjsip и слушает порт 5060. После смены порта на Dlinke на порт 5160, стало уже прилетать от обычного sip следующее:
Код: Выделить всё
chan_sip.c:28959 handle_request_register: Registration from '"8121234567" <sip:8121234567@192.168.10.10>' failed for '192.168.10.12:5060' - Wrong password
То есть, насколько я понял, что даже с настроенным портом 5061, от Dlink-a регистрация прилетает на порт 5060. Тут, чтобы не путаться, я думаю вариант с портом pjsip можно исключить, так как в обоих случаях все упирается в невозможность авторизации Dlink-a на Астериске через регистрационные данные.
При этом поле secret в настройках транка и поле password на Dlinke полностью идентичны. Также статус входящего пира на Астериске перешел из ОК в UNKNOWN.
То есть на текущий момент я вижу проблему в том, что Dlink через параметр Sip Proxy отправляет регистрацию на астер, через логин и пароль FXO порта, а астериск, по какой-то причине, не может его зарегистрировать из-за неверного логина.
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 23 апр 2020, 12:37
dimm-dimm
При этом, когда я регистрировал транк через внутренний номер, а не через пир, регистрация с Dlink-a проходила корректно. Входящие звонки на этот экстеншн все равно не шли, но это уже отдельная история)
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 23 апр 2020, 13:24
dimm-dimm
Сделал еще следующее:
Прописал на порт FSX данные от обычного внутреннего номера Астериска, и на нем регистрация прошла успешно.
Значит Астериск не понимает регистрационные данные, посылаемые от Dlink-a, которые прописаны у него в транке во входящих настройках пира.
Есть ли еще какие-либо критерии авторизации, кроме полей username и secret?
В интернете ходят легенды, что название транка должно совпадать с полем Username в D-link. Это я тоже пробовал - не помогло.
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 23 апр 2020, 13:53
ded
прилетает не на порт 5060, а с порта 5060 -
'192.168.10.12:5060' - Wrong password
Ещё раз, чтобы не путались:
прилетает от 192.168.10.12:5060 => на 192.168.10.10:5160 (у вас на скриншоте так и указано - sip proxy port 5160)
Код: Выделить всё
<sip:8121234567@192.168.10.10>' failed for '192.168.10.12:5060' - Wrong password
У вас должен быть пир 8121234567 на выводе команды
CLI> sip show peers
Для эксперимента в области паролей Wrong password - уберите всё из поля Password на порту FXO и/или замаркируйте
;secret=
в параметрах пира. Смотрите
CLI> sip set debug ip 192.168.10.12
Добейтесь регистрации. Если не получается - убирайте совсем птичку Register из настрое порта FXO, в настройках пира в Астериске вместо host=dynamic укажите статически host= 192.168.10.12 и уж тогда incecure=invite.
И контролируйте через дебаг
CLI> sip set debug ip 192.168.10.12
Re: Dlink DVG-7111S как Sip-транк
Добавлено: 23 апр 2020, 14:58
dimm-dimm
У вас должен быть пир 8121234567 на выводе команды
CLI> sip show peers
Вывод команды sip show peers:
Код: Выделить всё
[root@asterisk ~]# asterisk -rx "sip show peers"
Name/username Host Dyn Forcerport Comedia ACL Port Status Description
8121234567/8121234567 192.168.10.12 Yes Yes 5060 Unmonitored
rostelecom_outgoing 192.168.10.12 Yes Yes 5060 OK (22 ms)
2 sip peers [Monitored: 1 online, 0 offline Unmonitored: 1 online, 0 offline]
В статусе ОК сейчас находится пир для исходящих, который работает корректно.
Вывод дебага ошибки авторизации с включенной регистрацией:
Код: Выделить всё
[2020-04-23 14:42:20] NOTICE[1673]: chan_sip.c:28959 handle_request_register: Registration from '"8121234567" <sip:8121234567@192.168.10.10>' failed for '192.168.10.12:5060' - Wrong password
Scheduling destruction of SIP dialog 'D1B9-1B1D-00000028A72EDF26C892-001@SipHost' in 32000 ms (Method: REGISTER)
Пробовал убирать пароли из FXO Dlink, закомментировал строку secret - все равно выдает Wrong password.
Если не получается - убирайте совсем птичку Register из настрое порта FXO, в настройках пира в Астериске вместо host=dynamic укажите статически host= 192.168.10.12 и уж тогда incecure=invite.
И контролируйте через дебаг
При данных манипуляциях в дебаге вижу вот это:
Код: Выделить всё
<--- SIP read from UDP:192.168.10.12:5060 --->
SIP/2.0 200 OK
Allow:INVITE,ACK,OPTIONS,BYE,CANCEL,INFO,PRACK,REFER,SUBSCRIBE,NOTIFY,UPDATE,SERVICE
Via: SIP/2.0/UDP 192.168.10.10:5160;rport;branch=z9hG4bK379f9346
From: "Unknown" <sip:Unknown@192.168.10.10:5160>;tag=as7aa450fd
To: <sip:192.168.10.12>;tag=aa8af630-347
Call-ID: 1de333e961a8d91f1dae92706e415875@192.168.10.10:5160
CSeq: 102 OPTIONS
Contact: <sip:192.168.10.12:5060>
User-Agent: dlink 12-3895-11529-1.4.2.196-SP350SO
Content-Length: 0
Как я понял, для входящих Dlink должна регистрироваться самостоятельно. Но почему-то регистрируется только как внутренний экстеншн, а не как пир.