UC2.0发送文件被叫一接受就服务器主动发BYE

发布时间:  2014-04-01 浏览次数:  131 下载次数:  0
问题描述
用户A给用户B发送文件传输,B接受后,文件传输刚一开始就被服务器自动取消;从UAP抓包上来看,是PGM主动发送了一个BYE请求将该文件传输请求中止 
告警信息
处理过程
1、U29上配置到SIPDispacher的中继的时候,不能启动呼叫级心跳消息(SIPDispacher不支持)。
2、关闭到SipDispacher的中继的呼叫级心跳;
ADD SIPTG:TG=0,SRT=0,TGN="sipdispatcher",RCHS=0,HCIC=65535,LCIC=65535,EA=YES,SFPARA=SVR0-0&SVR1-0&SVR2-0&SVR3-0&SVR4-0&SVR5-0&SIPTCHK-0&SVR7-0&SVR8-0&SVR9-0&SV10R-0&SVR11-0&SVR12-0&SVR13-0&SVR14-0&SVR15-0&SVR16-0&SVR17-0&SVR18-0&SVR19-0&SVR20-0&SVR21-0&SVR22-0&SVR23-0&SVR24-0,VIDEOS=SUPPORT,CHBF=NO,E2833F=NSUPPORT,SELMODE=DIST,THB=18;


根因
从UAP的抓包上可以看到,在BYE之前一定是有一个OPTION消息从UAP发送到PGM,然后PGM就回复了一个BYE消息。原因是SipAdapter不支持会话内心跳消息,如果UAP发送了OPTION消息到SipAdapter,就会导致把该会话消息挂断,比如在文件传输的时候,收到了OPTION消息,就把INVITE会话挂断,导致文件发送失败。 
建议与总结
1、U29系列上面配置中继的时候,有两个心跳:普通心跳和呼叫级心跳,普通心跳是U29检测和对端之间链接是否正常的,而呼叫级心跳是建立了会话以后,维持本会话是否正常的心跳,比如一个呼叫建立起来以后,要发心跳消息,以防网络或者其他问题导致没有失败消息回复后,要将该会话挂断,否则该会话长时间挂着,占用多余的资源。
2、开启心跳之前需要确认对端是不是支持心跳。

END