我已经阅读了有关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服务器)时,RTP会话将在客户端A和B之间启动。但客户端到客户端的含义是什么? 客户端到达目的地之间的RTP数据包路径是什么? RTP数据包是否必须通过路由器并切换到其目标客户端? (即客户端A ---&gt;路由器1 ----&gt;开关-----&gt;路由器2 -----&gt;客户端B)? 如果我将客户端A和客户端B连接到同一个路由器怎么办?
PS:我还没有配置任何媒体中继(RTPproxy /媒体代理)
请帮助我澄清所有这些疑惑。
任何人的帮助都会非常感激。
此致
南迪尼
答案 0 :(得分:0)
在“正常”SIP呼叫中,媒体RTP直接在客户端之间发送。如果您嗅探SIP流量,您可以看到它的发展方向。
在SIP INVITE dialog中,INVITE消息的正文通常采用“SDP”格式。您可以看到它是SDP格式,因为SIP消息应包含以下内容:
Content-Type:application / 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&lt; - &gt; 10.1.1.11:49174
只会是一个音频编解码器,它将以G711u格式(PCMU 8hz)编码。
如果您在询问网络流量在两个端点之间传输的精神程度。这很大程度上取决于心理网络。从逻辑上讲,它只是向/从每个地址发送数据包,而不是通过任何“服务器”。