在hdcc系统对接audiocdoes m2000出现问题,audicocodes 4.2版本在MP108上测试兼容没有问题,但是使用4.8版本的TP260则出现问题。问题和解决问题方法如下:
1. SDP出错
HDCC发送Invite到tp260,查看tp260日志,发行tp260不能正确解析invite封装的sdp信息,通过log问题提示,发现在hdcc invite的sdp消息中没有s单元内容,导致tp260不能正确解析,添加单元内容,问题解决。相同的问题出现在180 183 200 ok等消息中。
出问题的sdp部分:
.......
v=0
o=- 0 0 IN IP4 0.0.0.0
c=IN IP4 192.168.1.44
t=0 0
m=audio 20030 RTP/AVP 18
a=rtpmap:18 G729/8000
添加s单元内容后的sdp部分
.......
o=- 0 0 IN IP4 0.0.0.0
s=HDCC
c=IN IP4 192.168.1.44
t=0 0
m=audio 20030 RTP/AVP 18
a=rtpmap:18 G729/8000
2.200 ok不能收到ack,导致200 0k消息不断重发。
因为在实际运营中不能使用标准5060端口(安全问题),在使用非标端口和tp260对接的时候,给tp260发送 200 ok connect消息没有收到正常的ack消息,导致200 ok不断重发,超时后系统自动挂断。经过查看日志发现,系统使用非标端口 7700给tp260的5060发消息,tp260的invite消息给hdcc的7770端口没有问题,但是当系统摘机后,200 ok发送给tp260,tp260返回的ack 消息发送到了系统的5060端口,由于5060端口没有监听,导致ack包得丢失和200 0k消息的重发。在tp260的电话到IP路由配置选项中将端口加入,则问题解决。
出问题的配置方式
修改解决问题的配置方式
3.info消息不正确
对接tp260的时候发现info消息不能正确解析,查看配置信息后发现,tp260选择的是info(notel)而hdcc系统支持的是info(cisco)方式,将tp260的dtmf选项修改为info(cisco)后,问题解决。