VoIP:无音频,SIP 标头中存在本地 IP

VoIP:无音频,SIP 标头中存在本地 IP

我正在尝试让 SIP 中继在我的 Bintec Elmeg hybird 130j 上运行,并以 sipgate.de 作为中继提供商。

到目前为止,呼叫信号工作正常,因此我可以拨打外地电话,也可以接听我网络外的电话。但根本没有任何声音。

我的设置:

  • 混合 130j PBX:192.168.250.144
  • 电话 1:192.168.250.121
  • 网关:192.168.250.1

网关通过公网 IP 连接到互联网。在修改了防火墙后,我捕获到了以下信息:

REGISTER sip:sipconnect.sipgate.de SIP/2.0
Via: SIP/2.0/UDP 192.168.250.144:5060;branch=randomchars1;rport
From: <sip:[email protected]>;tag=randomchars2
To: <sip:[email protected]>
Call-ID: randomchars5Crandomchars4
CSeq: 31 REGISTER
Contact: <sip:[email protected]:5060;transport=udp;line=randomchars2>;+sip.instance="<urn:uuid:00000000-0000-1000-8000-randomchars4>"
Max-Forwards: 70
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, MESSAGE, SUBSCRIBE, UPDATE, PRACK, REFER
Supported: 100rel, replaces, timer
User-Agent: hybird_130j V.9.1 Rev. 10 (Patch 5) IPSec 
Expires: 60
Authorization: Digest algorithm=MD5, username="myusername", uri="sip:sipconnect.sipgate.de", realm="sipconnect.sipgate.de", nonce="letskeepthatsecret", response="samehere"
Content-Length: 0

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.250.144:5060;branch=randomchars1;rport=5060
From: <sip:[email protected]>;tag=randomchars2
To: <sip:[email protected]>;tag=randomchars3
Call-ID: randomchars5Crandomchars4
CSeq: 31 REGISTER
Contact: <sip:[email protected]:5060;transport=udp;line=randomchars2>;expires=60;+sip.instance="<urn:uuid:00000000-0000-1000-8000-randomchars4>"
Content-Length: 0

我删除了一些信息因为我认为它们是敏感数据(?)

如上所示,REGISTER 和 Response 数据包在 Via: 行中都包含 PBX 的本地 IP 192.168.250.144。我在网络上的 PBX 和网关之间捕获了这些数据包。

SIP 状态 180 振铃后,有 10 个 RTP 数据包、1 个 RTCP 再见,然后是 ~200 个 RTP 数据包,然后是 RTCP 再见。所有数据包均从 PBX 发送,没有传入 RTP 数据包。

然后出现一个 SIP 请求:取消(由 PBX 发送)、状态 200 和 487 均从我的 LAN 外部发送,以及来自我的 PBX 的 ACK。

现在,我该怎么做才能让 hybird 130j 在 Via: 线路中发送正确的公共 IP?抱歉,但我是 VoIP/SIP 的初学者。

我需要 STUN 服务器吗?SIP 代理?还是 PBX/防火墙配置错误?

- 目前尚无反馈 :(

答案1

是的,公共 IP 必须位于 SIP 标头中,呼叫才能正常工作。

此外,还必须为提供商的注册器、STUN 和 RTP/语音服务器打开端口。就我而言,需要打开相当多的 IP 地址/端口组合才能使 VoIP 正常工作,但至少我现在可以使用它了。

相关内容