第三方上级平台请流格式不对导致我司VM回复报错
一、现场组网:VM9500-B3333H299-----GB---VM8500-B3339H200--------GB---第三方上级
二、问题现象:VM9500对接上级平台,上级无法实况,上级抓包定位发请流以后我们VM8500就回复500错误,没有回复200OK.
三、排查流程:
1.从上级的报文看我司报错errcode是1 执行失败
2.检查MS配置文件,/usr/local/svconf/msconf/mpsyscfg.ini 把FwdNatAddr修改为MS映射映射后的地址,配置也没问题。
3.在VM上过滤5060.5061.8800.5063端口抓包,先开始抓包,然后在上级实况还看同一个相机,反馈报文和vmserver、sgserver查看分析。
四、解决方案:
经过仔细检查报错原因,发现是上级请流信息不对,上级发送的invite消息携带的SDP里的o字段和c字段多了个空格,导致VM不识别报错,因此报错,协调上级修改后问题解决。
四、关于报文分析步骤如下:
打开请流的报文sip contains 37088300411316010325(相机编码)过滤出来,找到invite请流的这一条,右键选择Follow UDP Stream,检查请流信息是否符合规范。

如下图所示,可以看到上级请流的地址和端口等都没问题,但是o和c字段里面空格是两个,正常都是一个,问题出在这里,可以把内容复制到nootpad++里面看,会比较清晰。



