本发明涉及通信领域,特别是涉及一种sip终端实现网络切换的方法、设备、ip-pbx及通信系统。
背景技术:
1、sip(session initiation protocol)是用于发起会话的协议,sip会话(session)是两个用户终端之间,也可能是更多用户之间,基于ip网络的会话,即voip会话,会话的媒体一般是语音、视频等形式。
2、在移动互联网时代,手机是每个人的标配,人们经常需要在wifi和4g之间进行切换,比如在公司使用公司的wifi,出门在路上,切换到4g或5g,到了家里又连上了家里的wifi。所以人们的日常生活中需要经常性的切换网络,那每一次的切换网络,都将导致ip地址发生变化。
3、在voip领域,切换网络也是需要解决的一个课题。目前,针对网络变化的通用处理流程如图1所示。如图1,现有技术的sip网络切换是通过re-invite重新协商媒体信息(sdp,session description protocol)来恢复,需要发sip包(re-invite)去重新协商媒体,与服务器协商和交互,这种方法在网络切换后会导致通话出现短暂的中断,影响通话的质量和用户的体验。
技术实现思路
1、本发明的实施例提供了一种sip终端实现网络切换的方法、设备、ip-pbx及通信系统,以通过修改协商方式来减少通话过程中网络切换产生的延迟和停顿的时间,从而提高了通话质量。
2、为了实现上述目的,一方面,提供一种sip终端实现网络切换的方法,包括:
3、当sip终端在通话过程中发生网络切换时,所述sip终端将当前通话对应的第一call-id进行加密,将加密后的第一call-id作为填充信息填充到rtp包中,生成包含所述填充信息的新rtp包,并将所述新rtp包按照原来的发包地址发送给ip-pbx;
4、当所述ip-pbx确定所接收的rtp包的发包来源是新ip地址且所接收的rtp包为包含填充信息的新rtp包时,所述ip-pbx从所述新rtp包中提取出所述填充信息,并对所述填充信息进行解密,获得解密后的第二call-id;
5、所述ip-pbx判断所述第二call-id是否与原先协商的所述第一call-id一致;如是,则所述ip-pbx将所述新ip地址标记为合法地址并用所述新ip地址替换所述sip终端在网络切换前的旧ip地址,以供通话的对端通过所述ip-pbx将rtp包按照所述新ip地址发送到所述sip终端;
6、当所述sip终端接收到所述对端发送的rtp包之后,所述sip终端恢复发送不包含所述填充信息的原始rtp包。
7、优选地,所述的方法,当所述第二call-id与原先协商的所述第一call-id一致时,还包括:
8、所述ip-pbx将所接收的所述rtp包中的所述填充信息去除,获得不含所述填充信息的原始rtp包。
9、优选地,所述的方法,还包括:
10、所述ip-pbx将所述原始rtp包发送到所述对端,及接收所述对端发送的原始rtp包。
11、另一方面,还提供一种用于实现如上文任一所述的实现sip终端网络切换的方法的sip终端设备。
12、又一方面,还提供一种用于实现如上文任一所述的实现sip终端网络切换的方法的ip-pbx。
13、又一方面,还提供一种通信系统,包括:sip终端和ip-pbx,使用如上文任一所述的实现sip终端网络切换的方法来解决sip终端网络切换导致通话中断的问题。
14、上述技术方案具有如下技术效果:
15、本发明实施例的技术方案通过sip终端将当前通话对应的call-id加密后作为填充信息填充到rtp包中生成新rtp包,并将其按原来的路径发送到ip-pbx;当ip-pbx识别到发包来源是新ip地址且所接收的rtp包为包含填充信息的新rtp包时,提取新rtp包中的填充信息解密得到call-id,验证其与协商的call-id是否一致,若一致则将新ip地址标记为合法且替换旧的地址,对端通过ip-pbx按照新ip地址将rtp包发送到sip终端,当sip终端接收到rtp包后恢复原始rtp包发送,实现sip终端的网络切换,使sip终端在通话过程中遇到网络切换时,采用rtp直接带验证的方式,让rtp包的传输不中断,减少通话过程中网络切换产生的延迟和停顿的时间,提高通话质量。
1.一种sip终端实现网络切换的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,当所述第二call-id与原先协商的所述第一call-id一致时,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.一种使用权利要求1至3中任一项所述的方法来实现网络切换的sip终端设备。
5.一种使用权利要求1至3中任一项所述的方法来实现sip终端网络切换的ip-pbx。
6.一种通信系统,包括:sip终端和ip-pbx,其特征在于,所述sip终端和所述ip-pbx使用如权利要求1至3中任一所述的sip终端实现网络切换的方法来实现网络切换。
