SIP over UDP和SIP over TCP有什么区别?
“SIP over TCP”究竟意味着什么? 这是不是意味着:
SIP和RTP都使用TCP
或
SIP使用TCP和RTP使用UDP
答案 0 :(得分:1)
“SIP over TCP”仅表示“通过TCP流发送SIP消息”。 SIP主要与传输协议无关,因此相同的协议可以在SCTP,DTLS等上运行。
从用户的角度来看,没有区别。
从使用SIP堆栈/编写SIP应用程序的人的角度来看,几乎没有什么区别:SIP over UDP实现了各种可靠性机制(重启+启动器的退避)。
会话描述可以使用RTP进行媒体流,但SDP与使用RTP无关。如果您愿意,您可以使用普通的TCP流,或者任何其他协议(前提是有一种方法可以在SDP中描述协议,当然只对了解传输协议的客户端有用)。
RTP本身是通常在UDP上运行的传输协议(因为在实时传输协议中,时效性比可靠性更重要),但可以在TCP上运行(如果媒体是框架的 - 例如,RFC 4103数据不是。)
所以通常人们将通过TCP运行SIP和通过UDP运行RTP,但这两种协议都不限于此特定设置。