SIP问题:INVITE请求的TRYING响应无法被服务器识别
TRYING响应的三个核心问题:
Call-ID不匹配
原INVITE请求的Call-ID是完整的0e23cffb0fdc0fbe19949dd042d668ac@79.98.45.133:5060,但你的响应里仅保留了0e23cffb0fdc0fbe19949dd042d668ac,还多了一个前导空格。Call-ID是SIP事务关联的核心标识,必须完全原样复制原请求的Call-ID内容,不能截断、修改或添加多余字符。Via字段错误
原请求的Via字段包含;rport参数,你的响应里遗漏了该参数;同时响应的Via字段中branch参数前多了一个空格(格式为; branch=z9hG4bK2f7cb45b)。SIP响应的Via字段必须完整复制原请求的Via内容(仅允许添加received参数),任何参数遗漏或格式偏差都会导致服务器无法识别事务归属。CSeq字段拼写不规范
原请求使用标准的CSeq(首字母C大写,Seq的S大写),你的响应写成了Cseq(q小写)。虽然SIP头字段名称理论上大小写不敏感,但部分SIP服务器会严格校验字段名的标准写法,这种不一致可能导致服务器忽略该字段,进而无法匹配对应事务。
修复以上问题后,服务器就能正确将TRYING响应关联到原INVITE请求,停止重复发送INVITE。
内容的提问来源于stack exchange,提问作者Giorgio Torassa
相关产品推荐
相关产品推荐

