在SIP呼叫中,RTP音频流仅在一个方向上起作用

时间:2015-10-01 07:43:16

标签: asterisk sip voip rtp

我正在为会话边界控制器(SBC)开发软件功能。 我正在尝试使用两个SIP客户端和一个会话边界控制器(SBC)建立SIP呼叫。 Asterisk用作软开关。

当我打电话时,SIP信令工作正常。但我只在一个方向上获得音频。我使用wireshark在所有接口上捕获了rtp数据包。我观察到一个方向的rtp数据包被星号丢弃。

注意:任何SIP / SDP消息中都没有仅发送属性。

我想知道星号中是否有可能导致此问题的设置?

我想知道的另一件事是,从SIP客户端获取RTP连接信息。端口信息存在于媒体属性

m=audio 16388 RTP/AVP 8 0 101

客户端从哪里获取传输IP地址?它是来自SDP中的“o =”字段或“c =”字段还是SDP或SIP中的任何其他字段?

1 个答案:

答案 0 :(得分:2)

您应该通过使用Wireshark捕获完整的调用来解决问题。然后仔细看看:

  • 客户端初始INVITE:期望媒体开启哪个端口(m =线路)哪个地址是期望媒体开启(c =线路)
  • SBC for Client A initial INVITE:如果SBC正在锚定媒体(我假设是这样),请检查m / c行
  • SBC for Client B initial INVITE:哪个端口/ ip(m / c行)是客户端A期待媒体的SBC
  • 客户B初始邀请:哪个端口/ IP(m / c行)是客户B期待媒体的SBC

此方向的所有节点是否都将媒体发送到正确的端口/ ips(查看wireshark中的RTP流)?

然后检查另一个方向(基于183或200中的SDP(取决于您的信令流程))。

注意:在wireshark中有一个很好的功能,可以帮助很多:电话 - > VoIP呼叫,以图形方式显示呼叫流程