无法使用 red5phone 在 red5server 上注册 sip 用户

无法使用 red5phone 在 red5server 上注册 sip 用户

我启动了red5,

然后我启动red5phone

我尝试注册 SIP 用户,我提供的详细信息是

    用户名 = 999999
    密码 = ****
    ip = asteriskserverip

我得到了

-- 注册联系人 -- sip:[电子邮件保护]:5072

正确的联系方式可能是

-- 注册联系人 -- sip :99999@asteriskserverip

这是日志:

SipUserAgent - listen -> Init...
Red5SIP register
[SIPUser] register
RegisterAgent: Registering contact <sip:[email protected]: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:[email protected]:5072>
SipUserAgent - hangup -> Init...
SipUserAgent - closeMediaApplication -> Init...
[SIPUser] provider.halt
RegisterAgent: Registration failure: No response from server.
[SIPUser] SIP Registration failure Timeout

如果我做错了什么,请告诉我。

答案1

我建议在手机和服务器端都进行数据包捕获,然后使用 WireShark 分析捕获的内容。

Wireshark 对 VoIP 流量的解释非常好,并且会将 SIP 数据包分解为易于阅读的块。

从那里,您可以判断您的 STUN 服务器是否不正确(如果您使用 STUN),或者连接数据包是否存在异常,然后使用它来缩小情况范围。

在两端运行捕获的原因在于,我见过一些善意的“SIP 感知”防火墙错误地操纵 SIP 数据包,从而导致无尽的麻烦,但我可以判断进入防火墙的数据包与离开防火墙的数据包不同,这是一个赠品。

答案2

数据包捕获(thsark/ngrep)保存着您寻求的答案。

我想说的是,服务器没有收到用于注册的 SIP 数据包,或者客户端无法收到响应,根据以下情况判断

‘RegisterAgent:注册失败:服务器没有响应。’

在您尝试注册的服务器上使用 tshark/ngrep/tcpdump 来验证这一点。如果您看到它登陆服务器但服务器从未响应,请检查它的日志文件。验证服务器上没有防火墙规则阻止它。它会显示嗅探,但应用程序不会响应它。

标准 SIP 将在端口 5060 上,最有可能是 UDP,但偶尔也会是 TCP(我正在看微软...)。

例子:

tshark -i eth0 “端口 5060”
ngrep -q -W byline “” “端口 5060”
tcpdump “端口 5060”

如果您有大量其他有效的 SIP 流量但需要快速读取其中一些,ngrep 会很方便。

ngrep -q -W 署名“5025851212”“端口 5060”

例如,这将寻找特定的电话号码,或

ngrep -I CAPTURED.PCAP -q -W 署名”[电子邮件保护]“端口 5060”

预先捕获的文件中的特定呼叫 ID:CAPTURED.PCAP

相关内容