0

我已经阅读了有关 SIP 和 RTP 数据包流的信息,但以关于 SIP 会话开始时客户端到客户端之间的 RTP 数据包流逻辑的问题结束。我在 ubuntu (12.04) 平台上有一个正在运行的 Kamailio (V 4.0.4) 服务器,它也配置了 DNS 和 DHCP 服务器。以下是我的测试台设置:

                                                                   Kamailio server
                                                             (DNS+ DHCP+Kamailio)
                                                                      |
                              Router <----------------------------> Switch<----------------------------> Router
                                  |                                                                        |
                              clientA <--------------------- RTP(audio/video) ? --------------------> client B

现在,当 SIP 会话建立时(SIP 数据包必须通过所有路由器并切换到 Kamailio 服务器),客户端 A 和 B 之间将开始 RTP 会话。但是这里的客户端到客户端是什么意思?客户端之间到达目的地的 RTP 数据包路径是什么?RTP 数据包是否必须通过路由器和交换机才能到达其目标客户端?(即客户端A--->路由器1---->交换机----->路由器2----->客户端B)?如果我将客户端 A 和客户端 B 都连接到同一个路由器怎么办?

PS:我没有配置任何媒体中继(RTPproxy/Media-proxy)

请帮助我澄清所有这些疑问。

任何人的帮助将不胜感激。

问候,

南迪尼

4

1 回答 1

0

在“正常”SIP 呼叫中,媒体 RTP 直接在客户端之间发送。如果您嗅探 SIP 流量,您可以看到它的去向。

SIP INVITE 对话中,INVITE 消息的正文通常为“ SDP ”格式。您可以看到它是 SDP 格式,因为 SIP 消息应包含以下内容:

内容类型:应用程序/sdp

INVITE 消息通常包含所谓的 SDP 提议,而 200 OK 响应(当它出现时)通常包含 SDP 应答。

一个例子

[Offer]

  v=0
  o=alice 2890844526 2890844526 IN IP4 10.1.1.10
  s=
  c=IN IP4 10.1.1.10
  t=0 0
  m=audio 49170 RTP/AVP 0 8 97
  a=rtpmap:0 PCMU/8000
  a=rtpmap:8 PCMA/8000
  a=rtpmap:97 iLBC/8000

[Answer]

  v=0
  o=bob 2808844564 2808844564 IN IP4 10.1.1.11
  s=
  c=IN IP4 10.1.1.11
  t=0 0
  m=audio 49174 RTP/AVP 0
  a=rtpmap:0 PCMU/8000

在这个提议/答案中,音频媒体将在之间发送/接收

10.1.1.10:49170 <--> 10.1.1.11:49174

这将只是一个音频编解码器,它将以 G711u 格式(PCMU 8hz)编码。

如果您询问网络流量在两个端点之间的传输方式。这将在很大程度上取决于心理网络。从逻辑上讲,它只是向/从每个地址发送数据包,并且不通过任何“服务器”。

于 2014-02-25T06:03:59.583 回答