专利名称:一种网络故障后实现网络通话的方法及其装置的制作方法
技术领域:
本发明涉及在网络中保障网络电话通信可靠性的技术领域,特别涉及一种网络故障后实现网络通话的方法,以及实现该方法的装置。
背景技术:
SIP(Session Initiation Protocol,会话初始协议)是IETF制订的,用于多方多媒体通信。按照IETFRFC3261的定义,SIP是一个基于文本的应用层控制协议,独立于底层传输协议TCP/UDP/SCTP,用于建立、修改和终止IP网上的双方或多方多媒体会话。
IP-PBX(Internet Protocol-Private Branch(telephone)eXchange,基于IP技术的专用语音交换机)是一种基于IP的企业电话系统,采用SIP协议创建和控制会话,它通过组织机构已有的数据网络实现话音通信,与PSTN(Public Switched Telephone Network,公共电话交换网络)网络相比,IP-PBX为企业提供了更加廉价的通信方案。
在SIP中,终端设备被称作用户代理(User Agent),它们之间通过SIP消息进行通信,SIP消息一般通过中间服务器转发,逻辑上称之为代理服务器(Proxy Server)。同时,SIP终端通过发送注册消息到一台服务器发布自己的物理位置,逻辑上称之为注册服务器(Registrar Server)。一般这些服务都在SIP服务器中实现。除了消息路由以外,SIP服务器还提供安全认证,业务触发等多种功能。
在IP-PBX中,消息投递需要经过一个或多个SIP服务器。终端向服务器发起请求,服务器收到请求后,决定转发请求到目的终端或者其它SIP服务器。如果服务器决定投递消息到目的终端,那么它会查找目的终端的位置,随后请求将被投递。最终目的终端将收到请求,根据请求消息记录的Via(经过)字段,作出应答,应答消息沿着相反的路径,返回到源终端。SIP服务器一旦发生故障出现网络中断时,正常的业务无法进行,为了保证基本通话不受影响,IP-PBX必须通过其它途径建立呼叫。
现有技术中,一般认为,PSTN网络是稳定的,所以当IP-PBX无法通过IP建立会话时,通过接入设备转PSTN网络。这些接入设备包括媒体终端,媒体网关,中继网关,如图1所示。在图1中,当SIP电话或媒体网关发现无法注册到SIP服务器时,提示用户IP电话无法使用,然后使用逃生口切换到PSTN网络(图中粗实线所示)。
在上述的网络故障后实现网络通话的方法中,故障发现和PSTN网络的切换需要硬件设备的支持,而且连线复杂,同时使用PSTN网络需要增加额外的通信费用。
除上述网络故障后实现网络通话的方法外,现有技术中还有通过网络的冗余部署,SIP服务器主备或热备份来实现网络通话,保证系统的可靠性的方法。这种方法实现复杂,设备费用昂贵,成本高。
发明内容
为了解决现有技术中网络故障后实现网络通话的方法连线复杂、设备昂贵、实现成本高的问题,本发明提供一种实现简单、成本低的网络故障后实现网络通话的方法,以及实现该方法的装置。
本发明的网络故障后实现网络通话的方法为建立一个终端位置信息表,发生网络故障后,源终端从终端位置信息表中查询得到目的终端的位置信息,直接向目的终端发起点对点对话。
所述方法具体包括A.将所有终端的位置信息建立一个终端位置信息表;B.源终端向SIP服务器发起请求,网络返回请求不可达时,从所述终端位置信息表中查询目的终端的位置信息;C.源终端根据查得的目的终端的位置信息向目的终端发送点对点对话请求;D.目的终端收到所述源终端发送的点对点对话请求后回复,源终端收到回复后建立点对点对话。
所述步骤A中,将建立的所述终端位置信息表保存在目录服务器上或数据库中。
所述步骤A中,可以由终端定时向终端位置信息表中添加自己的位置信息,若终端位置信息表中已经存在该终端的位置信息,则更新该位置信息。
所述步骤A中,还可以由所述SIP服务器定时或实时将其获得的终端的位置信息发送给所述终端位置信息表。
本发明的网络故障后实现网络通话的装置,包括管理模块,用于接收各终端的位置信息,建立终端位置信息表,并将该终端位置信息表保存在存储模块中;存储模块,与管理模块相连,用于存储管理模块建立的终端位置信息表;查询模块,与管理模块相连,用于请求管理模块从终端位置信息表中查询目的终端的位置信息;请求模块,与查询模块相连,用于根据查询模块查得的目的终端位置信息向目的终端请求建立点对点对话;发送模块,与管理模块相连,用于向管理模块发送终端的位置信息。
所述装置还包括定时器,与发送模块相连,用于为发送模块发送终端位置信息设定一个时间周期。
所述发送模块为位于终端上的位置信息报告模块。
所述发送模块为位于SIP服务器上的同步模块。
本发明产生的有益效果是在SIP服务器发生故障,或发生其它部分网络故障(例如交换机故障、部分因特网出现故障)时,仍能保证各终端之间实现基本的通话业务。在企业环境中,可以有效利用已有的目录服务器,不需要增加额外的设备,也不需要利用PSTN网络,降低了实现成本,也避免了连线上的麻烦。
下面结合附图和实施例对本发明进一步说明。
图1为现有技术中网络故障后实现网络通话的方法的网络结构示意图;图2为本发明的网络故障后实现网络通话的方法的一种实施例的流程图;图3为本发明的网络故障后实现网络通话的方法中建立及更新终端位置信息表的一种方法的示意图;图4为本发明的网络故障后实现网络通话的方法中建立及更新终端位置信息表的另一种方法的示意图;图5为本发明的网络故障后实现网络通话的装置的一种实施例的示意图;图6为本发明的网络故障后实现网络通话的装置的另一种实施例的示意图;图7为利用本发明的一种SIP电话组网的实施例的示意图。
具体实施例方式
如图2所示,本发明的网络故障后实现网络通话的方法包括以下步骤步骤201将所有终端的位置信息建立一个终端位置信息表,将该终端位置信息表保存在一个专门的目录服务器上,或者是用数据库、文件等其它方式存储起来;步骤202源终端向SIP服务器发起请求,如INVITE,如果网络返回请求不可达,源终端向目录服务器或以其它方式保存的终端位置信息表中查询目的终端的位置信息;该步骤中请求不可达的信息可以由ICMP(Internet Control Messages Protocol,网间控制报文协议)协议来定义;步骤203源终端根据步骤202中查得的目的终端的位置信息向目的终端发送点对点对话请求;步骤204目的终端收到所述源终端发送的点对点对话请求后回复,源终端收到回复后建立点对点对话。
上述各步骤中,建立终端位置信息表、源终端查询目的终端位置信息、源终端向目的端发送建立点对点对话请求以及目的终端向源终端作出回复等过程可以使用LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)协议,也可以使用其它协议,如HTTP协议、HTTPS协议、SOAP协议和XCAP协议等,还可以由自己定义协议。LDAP协议是较佳的选择。
如图3所示,一种建立及更新终端的位置信息表的方法是,由终端定时将其位置信息发送给目录服务器或以其他方式存储的终端位置信息表。另外,也可实时发送,即当终端的位置信息发生改变时,主动向目录服务器或以其他方式存储的终端位置信息表发送更新的位置信息。发送过程可以使用LDAP协议,也可以采用其他协议。
如图4所示,另一种建立及更新终端的位置信息表的方法是,由SIP服务器将其获得的各终端的位置信息发送给目录服务器或以其他方式存储的终端位置信息表,可以是定时发送,也可以是实时发送。定时发送是每隔一定时间SIP服务器就将其获得的各终端的位置信息发送给目录服务器或以其他方式存储的终端位置信息表;实时发送是当SIP服务器发现有终端的位置信息改变时,将其获得更新后的各终端的位置信息发送给目录服务器或以其他方式存储的终端位置信息表。该发送过程可以使用LDAP协议,也可以采用其他协议。
如图5所示,网络故障后实现网络通话的装置的一个实施例,由管理模块501、存储模块502、查询模块503、请求模块504、位置信息报告模块505和定时器506组成,其中查询模块503、请求模块504、位置信息报告模块505和定时器506设在终端上。
管理模块501用于接收各终端的位置信息,建立终端位置信息表,并将该终端位置信息表保存在存储模块502中;存储模块502与管理模块501相连,用于存储管理模块501建立的终端位置信息表,存储模块可以是目录服务器、数据库、文件或其他具有存储功能的模块;查询模块503与管理模块501相连,用于请求管理模块501从终端位置信息表中查询目的终端的位置信息;请求模块504与查询模块503相连,用于根据查询模块503查得的目的终端位置信息向目的终端请求建立点对点对话。
位置信息报告模块505与管理模块501相连,用于向管理模块501发送终端的位置信息。
定时器506与位置信息报告模块505相连,用于为位置信息报告模块505发送终端位置信息设定一个时间周期。
如图6所示,网络故障后实现网络通话的装置的另一个实施例,由管理模块601、存储模块602、查询模块603、请求模块604、同步模块605和定时器606组成,其中查询模块603和请求模块604设置在终端上,同步模块605和定时器606设在SIP服务器上。
管理模块601用于接收各终端的位置信息,建立终端位置信息表,并将该终端位置信息表保存在存储模块602中;存储模块602与管理模块601相连,用于存储管理模块601建立的终端位置信息表,存储模块可以是目录服务器、数据库、文件或其他具有存储功能的模块;查询模块603与管理模块601相连,用于请求管理模块601从终端位置信息表中查询目的终端的位置信息;请求模块604与查询模块603相连,用于根据查询模块603查得的目的终端位置信息向目的终端请求建立点对点对话。
同步模块605与管理模块601相连,用于将SIP服务器上的终端的位置信息发送给管理模块601,再由管理模块601将所述终端的位置信息保存在终端位置信息表中。
定时器606与同步模块605相连,用于为同步模块605发送终端位置信息设定一个时间周期。
如图7所示,网络中同时设有目录服务器701和SIP服务器702,另外还有两个终端。首先,终端一703和终端二704分别将自己的位置信息发送给目录服务器701,由目录服务器生成一个终端位置信息表并存储起来。正常情况下,终端一703和终端二704之间通过SIP服务器702通讯。当SIP服务器702发生故障时,作为源终端的终端一703向SIP服务器发送请求时,SIP服务器702返回请求不可达的信息,终端一703收到该信息后向目录服务器701发送请求,请求获得作为目的终端的终端二704的位置信息,目录服务器701从终端位置信息表中查询到终端二704的位置信息并反馈给终端一703,终端一703根据终端二704的位置信息向其发送建立点对点对话的请求,终端二704接到该请求后回复给终端一703,终端一703接到回复后建立点对点对话。
以上所述,仅为本发明较佳的具体实施方式
,本发明的保护范围并不局限于此,本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的任何变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种网络故障后实现网络通话的方法,其特征在于,建立一个终端位置信息表,发生网络故障后,源终端从终端位置信息表中查询得到目的终端的位置信息,直接向目的终端发起点对点对话。
2.根据权利要求1所述的网络故障后实现网络通话的方法,其特征在于,所述方法具体包括A.将所有终端的位置信息建立一个终端位置信息表;B.源终端向SIP服务器发起请求,网络返回请求不可达时,从所述终端位置信息表中查询目的终端的位置信息;C.源终端根据查得的目的终端的位置信息向目的终端发送点对点对话请求;D.目的终端收到所述源终端发送的点对点对话请求后回复,源终端收到回复后建立点对点对话。
3.根据权利要求2所述的网络故障后实现网络通话的方法,其特征在于,所述步骤A中将建立的所述终端位置信息表保存在目录服务器上或数据库中。
4.根据权利要求2所述的网络故障后实现网络通话的方法,其特征在于,所述步骤A中,终端定时向终端位置信息表中添加自己的位置信息,若终端位置信息表中已经存在该终端的位置信息,则更新该位置信息。
5.根据权利要求2所述的网络故障后实现网络通话的方法,其特征在于,所述步骤A中,由所述SIP服务器定时或实时将其获得的终端的位置信息发送给所述终端位置信息表。
6.一种网络故障后实现网络通话的装置,其特征在于,包括管理模块,用于接收各终端的位置信息,建立终端位置信息表,并将该终端位置信息表保存在存储模块中;存储模块,与管理模块相连,用于存储管理模块建立的终端位置信息表;查询模块,与管理模块相连,用于请求管理模块从终端位置信息表中查询目的终端的位置信息;请求模块,与查询模块相连,用于根据查询模块查得的目的终端位置信息向目的终端请求建立点对点对话;发送模块,与管理模块相连,用于向管理模块发送终端的位置信息。
7.根据权利要求6所述的网络故障后实现网络通话的装置,其特征在于,所述装置还包括定时器,与发送模块相连,用于为发送模块发送终端位置信息设定一个时间周期。
8.根据权利要求6或7所述的网络故障后实现网络通话的装置,其特征在于,所述发送模块为位于终端上的位置信息报告模块。
9.根据权利要求6或7所述的网络故障后实现网络通话的装置,其特征在于,所述发送模块为位于SIP服务器上的同步模块。
全文摘要
本发明公开了一种网络故障后实现网络通话的方法及其装置,属于在网络中保障网络电话通信可靠性的技术领域。本发明的技术方案是建立一个终端位置信息表,SIP服务器发生故障后,源终端从终端位置信息表中查询得到目的终端的位置信息,直接向目的终端发起点对点对话。本发明产生的有益效果是在SIP服务器发生故障,或发生其它部分网络故障时,仍能保证各终端之间实现基本的通话业务。在企业环境中,可以有效利用已有的目录服务器,不需要增加额外的设备,也不需要利用PSTN网络,降低了实现成本,也避免了连线上的麻烦。
文档编号H04L29/06GK1960289SQ200610152139
公开日2007年5月9日 申请日期2006年9月14日 优先权日2006年9月14日
发明者孟越涛, 陈克平 申请人:华为技术有限公司