Я запускаю красный5,
а потом я запускаю red5phone
Я пытаюсь зарегистрировать пользователя sip, подробности, которые я предоставляю,
username = 999999 password = **** ip = asteriskserverip
И я получил
-- Registering contact -- sip:999999@127.0.0.1:5072
Правильный контакт может быть
-- Registering contact -- sip :99999@asteriskserverip
Это журнал:
SipUserAgent - listen -> Init...
Red5SIP register
[SIPUser] register
RegisterAgent: Registering contact <sip:99999@127.0.0.1:5072> (it expires in 3600 secs)
RegisterAgent: Registration failure: No response from server.
[SIPUser] SIP Registration failure Timeout
RegisterAgent: Failed Registration stop try.
Red5SIP Client leaving app 1
Red5SIP Client closing client 35C1B495-E084-1651-0C40-559437CAC7E1
Release ports: sip port 5072 audio port 3002
Release port number:5072
Release port number:3002
[SIPUser] close1
[SIPUser] hangup
[SIPUser] closeStreams
RTMPUser stopStream
[SIPUser] unregister
RegisterAgent: Unregistering contact <sip:99999@127.0.0.1:5072>
SipUserAgent - hangup -> Init...
SipUserAgent - closeMediaApplication -> Init...
[SIPUser] provider.halt
RegisterAgent: Registration failure: No response from server.
[SIPUser] SIP Registration failure Timeout
Пожалуйста, дайте мне знать, если я делаю что-то не так.
Захват пакетов (thsark / ngrep) содержит ответы, которые вы ищете.
Я бы сказал, что сервер не получает SIP-пакет для регистрации или клиент не может получить ответ, судя по
«RegisterAgent: ошибка регистрации: нет ответа от сервера».
Убедитесь в этом, используя tshark / ngrep / tcpdump на сервере, на котором вы пытаетесь зарегистрироваться. Если вы видите, что он приземляется на сервере, но сервер не отвечает, проверьте его файлы журнала. Убедитесь, что на сервере нет правил брандмауэра, заблокируйте его. Он покажет обнюхивание, но приложение не ответит на него.
Стандартный SIP будет на порту 5060, скорее всего, UDP, но иногда и TCP (я смотрю на вас, Microsoft ...).
Примеры:
tshark -i eth0 "порт 5060"
ngrep -q -W byline "" "порт 5060"
tcpdump "порт 5060"
ngrep удобен, если у вас много другого действительного SIP-трафика, но вам нужно быстро его прочитать.
ngrep -q -W byline "5025851212" "порт 5060"
Это, например, будет искать конкретный номер телефона или
ngrep -I CAPTURED.PCAP -q -W byline "CallID@Here.com" "порт 5060"
конкретный идентификатор вызова внутри предварительно записанного файла: CAPTURED.PCAP
Я бы посоветовал выполнить захват пакетов как на телефоне, так и на сервере, а затем проанализировать полученные данные с помощью WireShark.
Wireshark имеет исключительно хорошую интерпретацию трафика VoIP и разбивает пакеты SIP на легко читаемые фрагменты.
Оттуда вы можете определить, неверен ли ваш STUN-сервер (если вы используете STUN), или что-то странное происходит с пакетом подключения, а затем использовать это, чтобы сузить ситуацию.
Причина запуска захвата на обоих концах заключается в том, что я видел, как некоторые брандмауэры, поддерживающие SIP, неправильно манипулируют SIP-пакетами, что вызывает бесконечные головные боли, но тогда я мог сказать, что пакеты, входящие в брандмауэр, были отличное от того, что покидало брандмауэр, что было раздачей.