已建立的SIP会话如何切换传输协议?TCP转UDP实现方案
SIP已建立TCP会话切换为UDP的实现方法
你的思路是正确的,通过RE-INVITE修改对应头字段确实可以完成传输协议切换,具体操作流程如下:
- 构造RE-INVITE请求时,先修改
Via头的传输协议标识:将原有值中的TCP替换为UDP,同时填写本端用于接收UDP SIP信令的端口 - 同步调整
Contact头的URI参数:在Contact的SIP URI末尾添加transport=udp参数,明确告知对端后续向本端发送该会话的相关信令时,使用UDP协议传输 - 若媒体面参数无变化,RE-INVITE携带的SDP内容可以和原会话保持一致,无需额外修改
- 收到对端返回的200 OK响应后,检查响应中的Via、Contact头是否已对应携带UDP传输标识,正常回复ACK后,该会话后续所有信令交互就会正式切换为UDP协议
注:RE-INVITE本身支持修改会话的各类属性,包括信令传输地址、传输协议、媒体参数等,修改IP地址的场景和修改传输协议的逻辑完全一致,都是通过更新会话的信令传输路径相关属性实现的。
内容的提问来源于stack exchange,提问作者Haphil
相关产品推荐
相关产品推荐

