为什么在SIP完成信令时为RTP协商多个ip-port对。协商的ip-port数量的最大值是多少?
答案 0 :(得分:3)
SDP描述中的每个媒体行描述SDP描述中一个媒体的一个RTP流:对于每个媒体(音频,视频,桌面共享......),您将需要2个连接:一个用于RTP(ip:来自c = line的端口)和一个用于RTCP(ip:端口+ 1)的端口。媒体行数量没有最大值。
另外,SDP可以包含ICE(rfc5245)候选者,它们也可以提供替代的LOCAL ip:端口和替代DESTINATION ip:端口来交换媒体。例如:
a=candidate:4273728266 1 udp 2122260223 192.168.1.125 43897 typ host generation 0
a=candidate:4273728266 2 udp 2122260223 192.168.1.125 43897 typ host generation 0
a=candidate:779251937 1 udp 2122194687 192.168.1.107 55273 typ host generation 0
a=candidate:779251937 2 udp 2122194687 192.168.1.107 55273 typ host generation 0
a=candidate:2956466170 1 tcp 1518280447 192.168.1.125 0 typ host generation 0
a=candidate:2956466170 2 tcp 1518280447 192.168.1.125 0 typ host generation 0
a=candidate:1626442769 1 tcp 1518214911 192.168.1.107 0 typ host generation 0
a=candidate:1626442769 2 tcp 1518214911 192.168.1.107 0 typ host generation 0
在最近的rfc中,您可以找到SDP扩展以最小化连接数。 a = rtcp-mux(在rfc5761中定义)允许您在单个端口上复用RTP和RTCP数据。然后,您只需要一个,而不是每个媒体2个端口。
第二个扩展,仅作为草稿发布(draft-ietf-mmusic-sdp-bundle-negotiation),可与SDP Offer / Answer机制一起使用,以协商单个地址的使用:端口组合(BUNDLE地址) )用于接收与多个SDP媒体描述相关联的媒体(称为捆绑媒体)(“m =”行)。
通过这两个最后扩展,您可以最终只使用一个ip:端口连接,用于所有媒体线和SDP描述的所有RTP / RTCP流。
答案 1 :(得分:0)
ip:端口对的最大数量取决于客户端的SDP。如果在SDP中发布多个m-line,则客户端需要为每个m-line条目分配ip:ports。