1

我正在尝试在 OpenSIPs 服务器中使用 RTP 代理进行 SIP 呼叫。我按照此指南在 OpenSIPs 服务器中安装 RTP 代理模块。http://voiprookie.blogspot.kr/2009/04/rtpproxy-12x-installation.html

我在 35000-65000 之间打开了 UDP 端口,并通过在 SSH 上使用以下命令检查它是否真的工作。

Tcpdump –n portrange 5060-65000

我使用 CSipSimple Android 应用程序来找出答案。我可以看到 5060 SIP 连接,但 35000-65000 端口之间没有连接。我什至不知道 RTP 代理模块是否正在运行。

我如何知道 SIP 呼叫在 RTP 代理下工作?我是否必须在 CSipSimple Android 应用程序上设置某些内容才能通过 RTP 代理服务器进行呼叫?

谢谢你。

4

1 回答 1

2

我如何知道 SIP 呼叫在 RTP 代理下工作?

在一个典型的设置中,您通过B2BUAopenSIPS + RTPproxy)IP 桥接媒体:SDP中存在的端口 Connection Data “C=”两个客户端发送的所有请求的字段将使用 RTPproxy 所在的公共 IP 和提供的端口重写通过它。为确保这一点,您可以将流经 SIP 服务器端口 5060 的传出 SIP 消息转储到文件中,并在其 SDP 部分中查找 RTP 代理的公共 IP。例子:

INVITE sip:userB@ipB;user=phone SIP/2.0
... SIP HEADER FIELDS AND VALUES ...

v=0
o=J2S 3 1 IN IP4 99.99.99.99
s=session
c=IN IP4 <PUBLIC IP RTP PROXY HERE>
t=0 0
m=audio <PORT> RTP/AVP 112 ...
a=rtpmap:112 iLBC/8000/1
... MORE CODECS AND PARAMETERS

如果您有客户端发送的原始 IP(在从 openSIPS 发送到客户端的传出消息的 SDP 中),那么您必须检查设置中的某些错误。如果 RTP 代理公共 IP 存在并且您仍然没有音频,则应进一步查找连接问题(IPTables 等)。

我是否必须在 CSipSimple Android 应用程序上设置某些内容才能通过 RTP 代理服务器进行呼叫?

不,代理和端口协商完全取决于 B2BUA,如上所述。您可以在此处查看 RTP 代理的详细信息。

于 2014-03-16T18:19:10.620 回答