У меня есть система Asterisk, которая отлично работает около шести месяцев, и теперь мы хотим добавить идентификатор входящего звонящего.
Мы получили услугу от нашей телефонной компании; мы видим, что идентификатор вызывающего абонента поступает в журналы Cisco (debug vpm sig
). Мы видим, что звонки поступают от Cisco к Asterisk (с tcpdump
); но те, у кого есть идентификатор вызывающего абонента, просто игнорируются, и звонка не происходит.
В tpdump
мы видим, что разница между звонками в том, откуда они глоток:ip@айпи адрес или глоток:Callerid@айпи адрес и Asterisk принимает первые и игнорирует те, у которых есть callerid - без звонков, ничего.
Должно быть чего-то не хватает на sip.conf
, но я не смог узнать что.
Может какая-то добрая душа посоветует, как заставить Asterisk принимать эти звонки?
Версии
Сеть
telephone lines
| | | | 4FXO interfaces
2811
|.254
| 172.31.20.0/24
===+=====+=============+=====+=====
|.224 |.1 |.2
asterisk phone phone ...
Скажите, пожалуйста, нужны ли другие версии, журналы или конфигурация.
Конфигурация Asterisk
Это основная часть sip.conf
:
[general]
context=unauthenticated
allowguest=no
srvlookup=no
udpbindaddr=0.0.0.0
tcpenable=no
callcounter=yes
; this is the Cisco with the 4FXO interface
[172.31.20.254]
context=LocalSets
type=friend
host=172.31.20.254
disallow=all
allow=all
Работает
Рабочий конфиг на Cisco («рабочий = звонки проходят, но говорят из неизвестного»)
Звонок приходит, как видно в tcpdump
From: "unknown" <sip:172.31.20.254>;tag=4C2B58F4-1422
Конфигурация Cisco
dial-peer voice 1000 voip
description link to pbx
preference 10
destination-pattern [1-8]..
session protocol sipv2
session target ipv4:172.31.20.224:5060
session transport udp
voice-class h323 1
dtmf-relay rtp-nte
codec g711ulaw
clid strip
no vad
Неудачный
Неудачное поведение (failing = "идентификатор вызывающего абонента отправлен в Asterisk, Asterisk игнорирует весь вызов, без звонка")
Звонки приходят, как видно в tcpdump
From: <sip:07777123456@172.31.20.254>;tag=4C2F4350-71D
Та же конфигурация, кроме нет clid strip
вместо этого
dial-peer voice 1000 voip
...
clid network-provided
Просто идея, но пробовали ли вы также отладку SIP внутри Asterisk? Описанные вами попытки больше касаются сетевого трафика, чем обработки сигналов ... Мне это не кажется проблемой с сетью. Это может быть дополнительная часть обработки.
Попробуйте одно из следующего:
sip set debug on
sip set debug peer 172.31.20.254
И отключить
sip set debug off
Затем вы можете проверить также базовую отладку (включая, например, детали обработки диалплана):
core set debug ...
Вы сосредоточились на Из но то, что было бы интересно, также то, что Чтобы или что есть дефолт / что угодно в твоем диалплан. Также может случиться так, что есть и другие (пока что для вас) невидимый причина изменения не соответствует записи диалплана, поэтому сеанс может быть обработан, но результатом может быть просто отсутствие звонка в какую-либо ветку.