У нас в офисе есть несколько Polycom 301, а также 501, 601 и SoundStation 4001. Недавно несколько телефонов 301 и 4001 перестали регистрироваться на сервере Trixbox / Asterisk, и дополнительные телефоны начинают демонстрировать такое поведение. Они могут связываться с сервером для получения IP-адреса, связываться с TFTP-сервером для подготовки и даже загрузки журналов отладки, но время регистрации истекает. Исключения из журнала приведены ниже. Любые идеи?
Asterisk 1.4.22 Trixbox 2.8.0 Polycom 3.0.1
0724113935|sip |3|03|Retry send 281
0724113939|sip |3|03|SendMessageFail
0724113939|sip |3|03|CUser::NewWorkingServer 1 to 279772128
0724113939|sip |3|03|SipOnEvNewWorkingServer User 0, old 0, new 0, expire 0
0724113939|sip |3|03|SipOnEvRegistrarUpdate User 0, index 0, state 0, expire 0, working 1
0724113939|sip |1|03|Client State finished REGISTER
0724113939|sip |3|03|SipStartFailOver 0
0724114008|sip |1|03|CreateFailOverProxyList : Reg to Domain '192.168.1.110' nPort 5060
0724114008|sip |1|03|CreateFailOverProxyList : For REGISTER Request nPort 5060
0724114008|sip |1|03|doDnsListLookup(udp): doDnsSrvLookupForARecordList for '192.168.1.110' port 5060 returned 1 results
0724114008|sip |1|03|doDnsListLookup(udp): result 0 '192.168.1.110' port 5060
0724114008|sip |1|03|CreateFailOverProxyList : Not NAPTR for '192.168.1.110' port 5060 IP 0 is '192.168.1.110' on udp port 5060
0724114008|sip |2|03|CreateFailOverProxyList : Exit with 1 IP Addresses
0724114008|sip |2|03|CreateFailOverProxyList : IP 1 is '192.168.1.110' on udp port 5060
0724114008|sip |0|03|>>> Data Send to 192.168.1.110:5060
0724114008|sip |0|03| REGISTER sip:192.168.1.110:5060 SIP/2.0
0724114008|sip |0|03| Via: SIP/2.0/UDP 192.168.1.248;branch=z9hG4bKdc51d87E89D17EA
0724114008|sip |0|03| From: "Joe Blow" ;tag=2FC4C6AD-D293EB4E
0724114008|sip |0|03| To:
0724114008|sip |0|03| CSeq: 1 REGISTER
0724114008|sip |0|03| Call-ID: 309e7d39-a17d681b-95fecaa4@192.168.1.248
0724114008|sip |0|03| Contact: ;methods="INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY, PRACK, UPDATE
0724114008|sip |0|03| , REFER"
0724114008|sip |0|03| User-Agent: PolycomSoundPointIP-SPIP_301-UA/3.0.1.0032
0724114008|sip |0|03| Max-Forwards: 70
0724114008|sip |0|03| Expires: 3600
0724114008|sip |0|03| Content-Length: 0
0724114008|sip |0|03|
0724114009|sip |0|03|>>> Data Send to 192.168.1.110:5060
0724114009|sip |0|03| REGISTER sip:192.168.1.110:5060 SIP/2.0
0724114009|sip |0|03| Via: SIP/2.0/UDP 192.168.1.248;branch=z9hG4bKdc51d87E89D17EA
0724114009|sip |0|03| From: "Joe Blow" ;tag=2FC4C6AD-D293EB4E
0724114009|sip |0|03| To:
0724114009|sip |0|03| CSeq: 1 REGISTER
0724114009|sip |0|03| Call-ID: 309e7d39-a17d681b-95fecaa4@192.168.1.248
0724114009|sip |0|03| Contact: ;methods="INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY, PRACK, UPDATE
0724114009|sip |0|03| , REFER"
0724114009|sip |0|03| User-Agent: PolycomSoundPointIP-SPIP_301-UA/3.0.1.0032
0724114009|sip |0|03| Max-Forwards: 70
0724114009|sip |0|03| Expires: 3600
0724114009|sip |0|03| Content-Length: 0
Откройте консоль Asterisk (asterisk -r
), включите отладку SIP (sip set debug ip yourphonesip
) и зарегистрировать телефон. Проверьте, видите ли вы пакеты REGISTER и есть ли какие-либо ответы и / или сообщения об ошибках.
Это просто коммутируемая сеть или между Asterisk и телефонами есть другие устройства?
Отредактируйте после ваших комментариев: на этом этапе я хотел бы убедиться, что трафик телефонов действительно достигает сервера Asterisk - запустите tcpdump на сервере и, возможно, также где-нибудь рядом с телефонами. Если пакеты REGISTER попадают на сервер, но не отображаются в журнале Asterisk (плюс телефоны работают с другим Asterisk, как вы тестировали), то на стороне Asterisk что-то не так.
Если, с другой стороны, вы не можете увидеть запросы REGISTER телефонов даже с помощью tcpdump, тогда вам нужно найти, где они теряются - больше обнюхивать в разных точках сети.
Также, вот обсуждение того, что Polycom не регистрируется, в последнем посте есть инструкции по «сбросу локальной конфигурации» - возможно, это то волшебство, которое вам нужно.
В какой-то момент у нас была такая же проблема, но оказалось, что наш брандмауэр Cisco ASA решил, что сервер trixbox был злоумышленником. добавление локальной LAN в белый список быстро решило эту проблему.
После нескольких недель, когда телефоны медленно умирали, мы наняли консалтинговую фирму, которая определила, что конфигурация брандмауэра не позволяет использовать порт 5060 UDP в локальной сети. Порт 5060 - это порт по умолчанию, используемый протоколом SIP VoIP, поэтому он не позволял некоторым телефонам подключаться к серверу. По некоторым причинам работающие телефоны уже прошли через брандмауэр и, следовательно, смогли подключиться к приложению Trixbox.
Они добавили правило, разрешающее порт 5060 UDP, но только на eth0 (который является интерфейсом LAN). Мы сохранили правила iptables, и они останутся, даже если сервер будет перезагружен. Вот команда для этого правила, которое было добавлено:
iptables -I INPUT 27 -p udp -m udp --dport 5060 -i eth0 -j ACCEPT
Для желающих мы привлекли к услугам Teliphone Orion чтобы решить эту проблему. Они определили и решили проблему в очень короткие сроки.
Что вы видите на консоли Asterisk? Попробуйте включить подробный (установить подробный 3) и искать ошибки sip для этих узлов на стороне Asterisk.
Получает ли ящик Asterisk сообщения SIP с этих телефонов? Если телефон может получить связь по протоколу DHCP и TFTP, я думаю, мы можем исключить проблемы с сетью.