一种基于VoIP的呼叫方法、系统及装置的制作方法

文档序号:7743656阅读:99来源:国知局
专利名称:一种基于VoIP的呼叫方法、系统及装置的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种基于VoIP的呼叫方法、系统及装置。
背景技术
随着IPdnternet Protocol,网际协议)网络的迅速普及,基于IP的语音(即 VoIP)作为一种新的应用得到了快速发展,并逐步替代了传统的PBX(Private Branch exchange,专用分组交换机)、Centrex (虚拟交换机)电话等PSTN (Public Switched Telephone Network,公共交换电话网)方式的语音,成为企业内部通信网络的主流选择。VoIP (Voice over IP, IP语音)是通过IP网络实现的语音业务,而VoIP的呼叫 可以分为信令流和媒体流两种。其中,当通话开始建立时,呼叫控制信令(即信令流,例如, SIP (Session Initiation Protocol,会话发起协议)、H. 323等VoIP协议)经过语音服务 器(例如,IP-PBX)进行处理;当呼叫建立成功时,RTP(Real time Transport Protocol,实 时传输协议)媒体流则不需要经过语音服务器进行中转,由主叫终端和被叫终端直接收发 媒体流。具体的,由于主叫终端和被叫终端之间需要直接收发媒体流,即要求主叫终端和 被叫终端之间的网络是相通的,如果二者互不相通,即使呼叫建立成功,主叫终端和被叫终 端之间也不能互相听到对方的声音。在实际应用中,企业一般包括总部、分支等多个节点,各个节点的IP网络出于安 全等因素考虑,并不能完全互通。例如,分支和总部之间能够互通,但各分支之间不能互通。 如图1所示的组网示意图,分支A的IP话机能够通过IP网络与总部的IP话机互通,分支 B的IP话机也能够通过IP网络与总部的IP话机互通,而分支A的IP话机与分支B的IP 话机之间不能互通。即基于IP网络的语音应用不能完全互通,并造成分支之间无法拨打电 话。为了解决上述问题,现有技术中,通过在总部中部署媒体代理服务器(例如,基于 PSTN的语音网关或基于IP的媒体服务器等),使得所有分支均能够和媒体代理服务器的 网络互通,并由该媒体代理服务器来转发不能互通的分支之间的通话(包括流信令和媒体 流)。如图2所示的一种在总部中部署了媒体代理服务器的示意图,当一个分支机构用 户的IP话机需要拨打另外一个分支用户的IP话机时,则需要拨打一个前缀(图2中的步 骤①),表示需要跨分支拨打电话;当语音服务器接收到带有前缀的呼叫后,会自动将该呼 叫请求转发到媒体代理服务器上(图2中步骤②);媒体代理服务器终结该呼叫,并向被叫 发起新的呼叫(图2中步骤③和④),并形成两段呼叫(主叫到媒体代理服务器的呼叫,以 及媒体代理服务器到被叫的呼叫),即媒体代理服务器来进行桥接,完成隔离网络(例如, 分支A和分支B)之间的通话。但是,在现有技术中,用户拨打电话之前,需要区分是要拨打网络内的呼叫还是 跨隔离网络的呼叫(实际应用为分支内的呼叫,还是分支间的呼叫,还是分支到总部的呼叫),并以此来确定是否需要拨打前缀号码。如果用户没区分清楚或者没有拨打前缀,并直 接拨了另外一个分支的电话号码,则会造成被叫电话振铃,但摘机后,没有声音的情况(由 于网络隔离,媒体流无法建立),从而影响用户的使用。

发明内容
本发明提供一种基于VoIP的呼叫方法、系统及装置,以实现主叫设备和被叫设备 之间的VoIP呼叫,且不影响用户的使用。为了达到上述目的,本发明提出了一种基于IP语音VoIP的呼叫方法,应用于包括 主叫设备、被叫设备、媒体代理服务器和语音服务器的系统中,所述方法包括以下步骤所述被叫设备接收呼叫请求消息,判断所述呼叫请求消息中是否携带了呼叫已经 被代理的标志位,所述呼叫请求消息中携带了所述主叫设备的IP地址;如果没有携带呼叫已经被代理的标志位,则所述被叫设备根据所述呼叫请求消息 获取所述主叫设备的IP地址,并根据所述IP地址进行可达性探测;如果探测结果为不可达 时,所述被叫设备向所述语音服务器发送重定向响应消息,所述重定向响应消息中携带了 所述媒体代理服务器的地址信息且携带呼叫需要所述媒体代理服务器进行代理的所述呼 叫已经被代理的标志位;所述语音服务器根据所述地址信息向所述媒体代理服务器发送由 所述媒体代理服务器对所述主叫设备和所述被叫设备之间的呼叫进行代理的呼叫请求消 息,所述媒体代理服务器代理所述被叫设备和所述被叫设备之间的呼叫;如果携带呼叫已经被代理的标志位,则所述被叫设备确定由所述媒体代理服务器 代理所述被叫设备和所述被叫设备之间的呼叫。根据所述IP地址进行可达性探测之后,还包括如果探测结果为可达时,所述被叫设备与对端设备进行协商,并向所述对端设备 返回振铃响应消息,并与所述主叫设备建立呼叫。所述被叫设备向所述语音服务器发送重定向响应消息具体包括所述被叫设备向所述语音服务器发送302重定向响应消息,所述302重定向响应 消息中携带了所述主叫设备与所述被叫设备之间的呼叫需要所述媒体代理服务器进行代 理的所述呼叫已经被代理的标志位,以及所述媒体代理服务器的地址信息。所述媒体代理服务器代理所述被叫设备和所述被叫设备之间的呼叫,具体包括所述媒体代理服务器与所述被叫设备建立VoIP连接,以及与所述主叫设备建立 VoIP连接,实现所述主叫设备与所述被叫设备通话。所述媒体代理服务器与所述被叫设备建立VoIP连接,具体包括如果所述被叫设备接收到所述媒体代理服务器向所述被叫设备发送携带了呼叫 已经被代理的标志位的呼叫请求消息时,所述被叫设备与所述媒体代理服务器进行协商, 向所述媒体代理服务器返回振铃响应消息,并与所述媒体代理服务器建立VoIP连接。一种基于VoIP的呼叫系统,包括主叫设备、被叫设备、媒体代理服务器和语音服 务器,其中所述主叫设备,用于通过所述语音服务器向所述被叫设备发送呼叫请求消息,所 述呼叫请求消息中携带了所述主叫设备的IP地址;所述被叫设备,用于接收呼叫请求消息,判断所述呼叫请求消息中是否携带了呼叫已经被代理的标志位;如果没有携带呼叫已经被代理的标志位,则根据所述呼叫请求消 息获取所述主叫设备的IP地址,并根据所述IP地址进行可达性探测;如果探测结果为不可 达时,向所述语音服务器发送重定向响应消息,所述重定向响应消息中携带了所述媒体代 理服务器的地址信息且携带呼叫需要所述媒体代理服务器进行代理的所述呼叫已经被代 理的标志位;如果携带呼叫已经被代理的标志位,则确定由所述媒体代理服务器代理所述 被叫设备和所述被叫设备之间的呼叫;所述语音服务器,用于在接收到所述重定向响应消息时,根据所述地址信息向所 述媒体代理服务器发送由所述媒体代理服务器对所述主叫设备和所述被叫设备之间的呼 叫进行代理的呼叫请求消息;所述媒体代理服务器,用于代理所述被叫设备和所述被叫设备之间的呼叫。—种基于VoIP的呼叫装置,应用于包括主叫设备、被叫设备、媒体代理服务器和 语音服务器的系统中,所述装置在所述系统中作为所述主叫设备或者被叫设备,当所述装 置为所述被叫设备时,所述装置包括接收模块,用于接收呼叫请求消息,所述呼叫请求消息中携带了所述主叫设备的 IP地址;判断模块,与所述接收模块连接,用于判断所述呼叫请求消息中是否携带了呼叫 已经被代理的标志位;处理模块,与所述判断模块连接,用于当判断结果为没有携带呼叫已经被代理的 标志位,则根据所述呼叫请求消息获取所述主叫设备的IP地址,并根据所述IP地址进行可 达性探测;如果探测结果为不可达时,则向所述语音服务器发送重定向响应消息,所述重定 向响应消息中携带了所述媒体代理服务器的地址信息且携带呼叫需要所述媒体代理服务 器进行代理的所述呼叫已经被代理的标志位;当判断结果为携带呼叫已经被代理的标志位,则确定由所述媒体代理服务器代理 所述被叫设备和所述被叫设备之间的呼叫。所述处理模块还用于,当探测结果为可达时,与对端设备进行协商,并向所述对端 设备返回振铃响应消息,并与所述主叫设备建立呼叫。所述处理模块还用于,向所述语音服务器发送302重定向响应消息,所述302重定 向响应消息中携带了所述主叫设备与所述被叫设备之间的呼叫需要所述媒体代理服务器 进行代理的所述呼叫已经被代理的标志位,以及所述媒体代理服务器的地址信息。所述处理模块还用于,如果接收到所述媒体代理服务器向所述被叫设备发送携带 了呼叫已经被代理的标志位的呼叫请求消息时,与所述媒体代理服务器进行协商,向所述 媒体代理服务器返回振铃响应消息,并与所述媒体代理服务器建立VoIP连接。与现有技术相比,本发明具有以下优点被叫设备通过获取主叫设备的IP地址, 能够根据主叫设备的IP地址进行可达性探测,在不可达时,由媒体代理服务器代理被叫设 备和主叫设备的呼叫,在可达时,被叫设备和主叫设备能够直接呼叫,从而简化了拨号策 略,统一了拨号习惯。


图1为现有技术中基于VoIP的组网示意图2为现有技术中在总部中部署了媒体代理服务器的示意图;图3为本发明提出的一种基于VoIP的呼叫方法流程图;图4为本发明应用场景下提出的一种基于VoIP的呼叫方法流程图;图5为本发明提出的一种基于VoIP的呼叫装置结构图。
具体实施例方式本发明中,通过在主叫设备向被叫设备发送的呼叫请求消息中携带该主叫设备的 IP地址,当被叫设备接收到该呼叫请求消息时,能够获取到主叫设备的IP地址,并根据该 主叫设备的IP地址进行可达性探测,在探测结果为不可达时,由媒体代理服务器代理被叫 设备和主叫设备的呼叫,而在探测结果为可达时,由被叫设备和主叫设备直接进行呼叫,从 而简化了拨号策略,统一了拨号习惯。本发明提出了一种基于VoIP的呼叫方法,应用于包括主叫设备、被叫设备、媒体 代理服务器和语音服务器的系统中,其中,在实际应用中,主叫设备和被叫设备是相对的, 例如,当设备A向设备B发起呼叫时,则设备A为主叫设备,设备B为被叫设备,而当设备B 向设备A发起呼叫时,则设备B为主叫设备,设备A为被叫设备;如图3所示,该方法进一步 包括以下步骤步骤301,被叫设备接收呼叫请求消息。具体的,本发明中,对于被叫设备接收到的呼叫请求消息,分为两种情况考虑,分 别为没有携带呼叫已经被代理的标志位的呼叫请求消息和携带呼叫已经被代理的标志位 的呼叫请求消息。第一种情况,呼叫请求消息中没有携带呼叫已经被代理的标志位;即被叫设备接 收主叫设备通过语音服务器向被叫设备发送的呼叫请求消息,其中,呼叫请求消息中没有 携带呼叫已经被代理的标志位。具体的,当主叫设备发起呼叫请求时,则主叫设备需要向被叫设备发送呼叫请求 消息,该呼叫请求消息中携带了主叫设备的IP地址。其中,在主叫设备发起一个呼叫时,需 要在请求消息中携带主叫方媒体流所使用的IP地址,即携带该主叫设备的IP地址。进一步 的,在主叫设备向被叫设备发送呼叫请求消息的过程中,该主叫设备需要首先将该呼叫请 求消息发送给语音服务器,并由语音服务器将该呼叫请求消息转发给对应的被叫设备。当 语音服务器接收到呼叫请求消息时,根据该呼叫请求消息进行呼叫路由,并能够获取到被 叫设备的IP地址,从而根据被叫设备的IP地址将呼叫请求消息发送到被叫设备。第二种情况,呼叫请求消息中携带呼叫已经被代理的标志位;即被叫设备接收媒 体代理服务器向被叫设备发送的呼叫请求消息,其中,该呼叫请求消息中携带了呼叫已经 被代理的标志位。具体的,当语音服务器根据媒体代理服务器的地址信息通知媒体代理服务器对主 叫设备和被叫设备之间的呼叫进行代理时,则被叫设备能够接收到携带了呼叫已经被代理 的标志位的呼叫请求消息,需要注意的是,这种情况是在执行了后续步骤的前提下发生的, 后续步骤将对该情况进行详细说明,在此不再详加赘述。步骤302,被叫设备判断呼叫请求消息中是否携带了呼叫已经被代理的标志位; 如果没有携带呼叫已经被代理的标志位,则转到步骤303,如果携带呼叫已经被代理的标志位,则转到步骤306。步骤303,被叫设备根据呼叫请求消息获取主叫设备的IP地址,并根据该IP地址 进行可达性探测。如果探测结果为不可达时,转到步骤304,如果探测结果为可达时,转到步 骤 306。具体的,当接收到来自语音服务器的呼叫请求消息时,由于该呼叫请求消息中携 带了该主叫设备的IP地址,即被叫设备能够根据该IP地址进行可达性探测。其中,该可达 性探测的方式可以根据实际需要进行选择,例如,可以通过向该IP地址发送消息A的方式 来进行可达性探测。步骤304,被叫设备向语音服务器发送重定向响应消息,该重定向响应消息中携带 了媒体代理服务器的地址信息。当然,在实际应用中,根据实际的需要,该被叫设备还可以向主叫设备发送重定向 响应消息(例如,对于没有语音服务器的系统),此时,后续的语音服务器相关的重定向操 作均是由主叫设备执行的,这种情况本发明中不再详加赘述。具体的,重定向响应消息可以为302重定向响应消息(当然,实际应用中,还可以 为其他重定向响应消息,本发明中不再赘述),而在该302重定向响应消息中,除了需要携 带媒体代理服务器的地址信息,还需要携带主叫设备与被叫设备之间的呼叫需要该媒体代 理服务器进行代理的信息。而在实际应用中,被叫设备可以通过设置标志位的方式来表示 呼叫是否已经被代理,即此时被叫设备需要设置呼叫已经被代理的标志位。需要说明的是,媒体代理服务器地址信息的获得方式包括但不限于在被叫设备上 手工配置该媒体代理服务器的地址信息,或者,在被叫设备自动获取IP地址的过程中,由 DHCP (Dynamic Host Configuration Protocol,动态主机设置协议)服务器通过扩展选项 的方式将该媒体代理服务器的地址信息下发给该被叫设备。步骤305,语音服务器根据地址信息向媒体代理服务器发送由媒体代理服务器对 主叫设备和被叫设备之间的呼叫进行代理的呼叫请求消息,该媒体代理服务器代理被叫设 备和被叫设备之间的呼叫。具体的,当语音服务器接收到302重定向响应消息时,能够根据该302重定向响应 消息中的地址信息直接将呼叫请求消息重定向到媒体代理服务器,即语音服务器能够根据 地址信息向媒体代理服务器重新发送呼叫请求消息,而呼叫请求消息中携带了呼叫已经被 代理的标志位。进一步的,当媒体代理服务器接收到该呼叫请求消息后,根据该标志位,确定主叫 设备和被叫设备之间的呼叫需要自身进行代理,此时,该媒体代理服务器需要与主叫设备 建立VoIP连接,并与被叫设备建立VoIP连接。在与被叫设备建立VoIP连接的过程中,该 媒体代理服务器需要向被叫设备发送该呼叫请求消息,而呼叫请求消息中同样携带了呼叫 已经被代理的标志位。当被叫设备接收该呼叫请求消息(可以理解的是,此时接收到的呼叫请求消息为 步骤301中第二种情况所针对的呼叫请求消息)时,即转到步骤301中进行后续的处理。此 时,在步骤301中的处理过程中,被叫设备获取该标志位的信息时将发现该标志位,并确定 呼叫已经被媒体代理服务器代理,进行步骤306。步骤306,被叫设备按照正常的呼叫流程进行协商,并向对端设备返回振铃响应消息,并最终与主叫设备建立呼叫。其中,该对端设备可以为媒体代理服务器、主叫设备、语音 服务器等。可以理解的是,按照正常的呼叫流程进行协商,并向对端设备返回振铃响应消息 时,对端设备为媒体代理服务器,或者主叫设备,或者,语音服务器的处理过程是类似的。具体的,在步骤302中,由于呼叫请求消息中携带呼叫已经被代理的标志位转到 本步骤时,则被叫设备需要按照正常的呼叫流程进行协商,并向媒体代理服务器返回振铃 响应消息,并与媒体代理服务器建立呼叫,而媒体代理服务器还需要与主叫设备建立呼叫, 从而使得被叫设备能够与主叫设备建立呼叫。而在步骤303中,由于探测结果为可达转到本步骤时,则被叫设备需要按照正常 的呼叫流程进行协商,并向语音服务器或主叫设备返回振铃响应消息,并与语音服务器或 主叫设备建立呼叫,从而使得被叫设备能够与主叫设备建立呼叫。为了更加清楚的说明本发明所提出的基于VoIP的呼叫方法,以下结合一种具体 的应用场景进行详细说明,其中,在该应用场景下,是针对SIP协议的,而实际应用中,其他 VoIP协议(例如,H. 323等)的处理过程与SIP协议的处理过程类似,本发明中不再详加赘 述,以SIP协议为例详细说明本发明所提供的基于VoIP的呼叫方法。如图4所示,包括以 下步骤步骤401,主叫设备向语音服务器发送INVITE(请求)请求消息,其中,在该 INVITE请求消息中包含了扩展头域Media-Caller (媒体呼叫),而该Media-Caller用于携 带该主叫方媒体(即主叫设备)所使用的IP地址。具体的,当用户在全网使用统一的拨号方法进行拨号,如果要拨打一个被叫号码 时,需要发送一个包含扩展头域Media-Caller的INVITE请求消息给语音服务器。当语音 服务器接收到该INVITE请求消息后,需要向主叫设备回应IOOtrying(正在尝试)消息。需要说明的是,扩展头域Media-Caller语法的定义如下Media-Caller = “ Media-Caller" “ “ hostporthostport = host [〃 ·." port]host = hostname/IPv4address/IPv6reference当然,实际应用中,也可以选择其他方式来定义Media-Caller,只要Media-Caller 中能够携带主叫设备所使用的IP地址即可。步骤402,语音服务器根据该INVITE请求消息进行呼叫路由,查找到被叫设备对 应的IP地址,并将INVITE请求消息发送给被叫设备。当被叫设备接收到该INVITE请求消 息后,需要向语音服务器回应IOOtrying消息。步骤403,被叫设备接收到该INVITE请求消息后,解析Media-Caller,获得主叫设 备的IP地址,并使用SIP OPTIONS (选项)消息来探测该IP地址是否可达。当然,实际应 用中,还可以选择其他消息(例如,消息A)来探测该IP地址是否可达。如果该IP地址可达时,则说明主叫设备与被叫设备之间能够互通,即主叫设备和 被叫设备可以直接收发媒体流,此时,按照正常的SIP协议流程,被叫设备与主叫设备建立 VoIP连接,并根据VoIP连接进行主叫设备和被叫设备之间的呼叫,该过程本发明中不再赘 述。如果该IP地址不可达时,则说明主叫设备与被叫设备之间没有互通,即主叫设备 和被叫设备不能直接收发媒体流,转到步骤404中进行后续处理。
步骤404,被叫设备向语音服务器回复302重定向响应消息,并在该302重定向响 应消息中的Contact头域中指明媒体代理服务器的IP地址,在该302重定向响应消息中的 Diversion头域中指明重定向的原因为呼叫需要媒体代理服务器进行代理。当然,并不局限 于使用Contact头域和Diversion头域表示相关信息,还可以使用302重定向响应消息的 其他部分携带上述信息,本发明中不再赘述。需要说明的是,媒体代理服务器地址信息的获得方式包括但不限于在被叫设备上 手工配置该媒体代理服务器的地址信息,或者,在被叫设备自动获取IP地址的过程中,由 DHCP服务器通过扩展选项的方式将该媒体代理服务器的地址信息下发给该被叫设备。步骤405,语音服务器接收到302重定向响应消息后,根据Contact头域中的地 址(即媒体代理服务器的IP地址),将INVITE请求消息重定向到媒体代理服务器;并在 Diversion头域中填充重定向原因为需要使用媒体代理服务器代理呼叫。当媒体代理服务 器接收到该INVITE请求消息后,需要向语音服务器回应IOOtrying消息。需要说明的是,在Diversion头域中填充重定向原因的方式包括但不限于在已有 的原因值列表中扩展一个原因码“media-proxy-required”,如下所示的一种示意情况Diversion :callediB ;reason = media-proxy-required步骤406,媒体代理服务器收到INVITE请求消息后,终结该呼叫,并向被叫设备重 新发起新的呼叫。重新发起新的呼叫的过程具体为媒体代理服务器向语音服务器发送INVITE请求 消息,该INVITE请求消息中携带了呼叫需要媒体代理服务器进行代理的信息和媒体代理 服务器的地址信息;语音服务器向媒体代理服务器回应IOOtrying消息;语音服务器向被 叫设备发送INVITE请求消息,该INVITE请求消息中携带了呼叫需要媒体代理服务器进行 代理的信息和媒体代理服务器的地址信息;被叫设备向语音服务器回应IOOtrying消息。步骤407,被叫设备接收到INVITE请求消息后,获取Diversion头域的信息,当该 Diversion头域中的reason = media-proxy-required时,表明该呼口L]己经被代理,不需要 进行探测,直接根据媒体代理服务器的地址信息与媒体代理服务器进行协商,以使媒体代 理服务器能够对被叫设备和主叫设备之间的呼叫进行代理。协商的过程具体为被叫设备向语音服务器发送ISORinging (振铃)消息;语 音服务器向媒体代理服务器发送ISORinging消息;媒体代理服务器向语音服务器发送 ISORinging消息;语音服务器向主叫设备发送ISORinging消息;被叫设备向语音服务器发 送2000Κ消息;语音服务器向媒体代理服务器发送2000Κ消息;媒体代理服务器向语音服 务器发送ACK (确认)消息;语音服务器向被叫设备发送ACK消息;媒体代理服务器向语音 服务器发送2000Κ消息;语音服务器向主叫设备发送2000Κ消息;主叫设备向语音服务器 发送ACK消息;语音服务器向媒体代理服务器发送ACK消息。步骤408,主叫设备与媒体代理服务器建立呼叫,被叫设备与媒体代理服务器建立 呼叫,并实现主叫设备和被叫设备的通话。其中,本发明中各个步骤的顺利可以根据实际的需要进行调整。本发明还提出了一种基于VoIP的呼叫系统,包括主叫设备、被叫设备、媒体代理 服务器和语音服务器,其中所述主叫设备,用于通过所述语音服务器向所述被叫设备发送呼叫请求消息,所述呼叫请求消息中携带了所述主叫设备的IP地址;所述被叫设备,用于接收呼叫请求消息,判断所述呼叫请求消息中是否携带了呼 叫已经被代理的标志位;如果没有携带呼叫已经被代理的标志位,则根据所述呼叫请求消 息获取所述主叫设备的IP地址,并根据所述IP地址进行可达性探测;如果探测结果为不可 达时,向所述语音服务器发送重定向响应消息,所述重定向响应消息中携带了所述媒体代 理服务器的地址信息且携带呼叫需要所述媒体代理服务器进行代理的所述呼叫已经被代 理的标志位;如果携带呼叫已经被代理的标志位,则确定由所述媒体代理服务器代理所述 被叫设备和所述被叫设备之间的呼叫;所述语音服务器,用于在接收到所述重定向响应消息时,根据所述地址信息向所 述媒体代理服务器发送由所述媒体代理服务器对所述主叫设备和所述被叫设备之间的呼 叫进行代理的呼叫请求消息;所述媒体代理服务器,用于代理所述被叫设备和所述被叫设备之间的呼叫。如图5所示,本发明还提出了一种基于VoIP的呼叫装置,应用于包括主叫设备、被 叫设备、媒体代理服务器和语音服务器的系统中,所述装置在所述系统中作为所述主叫设 备或者被叫设备,当所述装置为所述被叫设备时,所述装置包括接收模块51,用于接收呼叫请求消息,所述呼叫请求消息中携带了所述主叫设备 的IP地址。判断模块52,与所述接收模块51连接,用于判断所述呼叫请求消息中是否携带了 呼叫已经被代理的标志位。处理模块53,与所述判断模块52连接,用于当判断结果为没有携带呼叫已经被代 理的标志位,则根据所述呼叫请求消息获取所述主叫设备的IP地址,并根据所述IP地址进 行可达性探测;如果探测结果为不可达时,则向所述语音服务器发送重定向响应消息,所述 重定向响应消息中携带了所述媒体代理服务器的地址信息且携带呼叫需要所述媒体代理 服务器进行代理的所述呼叫已经被代理的标志位;当判断结果为携带呼叫已经被代理的标志位,则确定所述主叫设备和所述被叫设 备之间的呼叫需要由所述媒体代理服务器进行代理,并与所述媒体代理服务器建立VoIP 连接。所述处理模块53还用于,当探测结果为可达时,与对端设备进行协商,并向所述 对端设备返回振铃响应消息,并与所述主叫设备建立呼叫。所述处理模块53还用于,向所述语音服务器发送302重定向响应消息,所述302 重定向响应消息中携带了所述主叫设备与所述被叫设备之间的呼叫需要所述媒体代理服 务器进行代理的所述呼叫已经被代理的标志位,以及所述媒体代理服务器的地址信息。所述处理模块53还用于,如果接收到所述媒体代理服务器向所述被叫设备发送 携带了呼叫已经被代理的标志位的呼叫请求消息时,与所述媒体代理服务器进行协商,向 所述媒体代理服务器返回振铃响应消息,并与所述媒体代理服务器建立VoIP连接。其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合 并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储 介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可 以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流 程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领 域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
一种基于IP语音VoIP的呼叫方法,其特征在于,应用于包括主叫设备、被叫设备、媒体代理服务器和语音服务器的系统中,所述方法包括以下步骤所述被叫设备接收呼叫请求消息,判断所述呼叫请求消息中是否携带了呼叫已经被代理的标志位,所述呼叫请求消息中携带了所述主叫设备的IP地址;如果没有携带呼叫已经被代理的标志位,则所述被叫设备根据所述呼叫请求消息获取所述主叫设备的IP地址,并根据所述IP地址进行可达性探测;如果探测结果为不可达时,所述被叫设备向所述语音服务器发送重定向响应消息,所述重定向响应消息中携带了所述媒体代理服务器的地址信息且携带呼叫需要所述媒体代理服务器进行代理的所述呼叫已经被代理的标志位;所述语音服务器根据所述地址信息向所述媒体代理服务器发送由所述媒体代理服务器对所述主叫设备和所述被叫设备之间的呼叫进行代理的呼叫请求消息,所述媒体代理服务器代理所述被叫设备和所述被叫设备之间的呼叫;如果携带呼叫已经被代理的标志位,则所述被叫设备确定由所述媒体代理服务器代理所述被叫设备和所述被叫设备之间的呼叫。
2.如权利要求1所述的方法,其特征在于,根据所述IP地址进行可达性探测之后,还包括如果探测结果为可达时,所述被叫设备与对端设备进行协商,并向所述对端设备返回 振铃响应消息,并与所述主叫设备建立呼叫。
3.如权利要求1所述的方法,其特征在于,所述被叫设备向所述语音服务器发送重定 向响应消息具体包括所述被叫设备向所述语音服务器发送302重定向响应消息,所述302重定向响应消息 中携带了所述主叫设备与所述被叫设备之间的呼叫需要所述媒体代理服务器进行代理的 所述呼叫已经被代理的标志位,以及所述媒体代理服务器的地址信息。
4.如权利要求1所述的方法,其特征在于,所述媒体代理服务器代理所述被叫设备和 所述被叫设备之间的呼叫,具体包括所述媒体代理服务器与所述被叫设备建立VoIP连接,以及与所述主叫设备建立VoIP 连接,实现所述主叫设备与所述被叫设备通话。
5.如权利要求4所述的方法,其特征在于,所述媒体代理服务器与所述被叫设备建立 VoIP连接,具体包括如果所述被叫设备接收到所述媒体代理服务器向所述被叫设备发送携带了呼叫已经 被代理的标志位的呼叫请求消息时,所述被叫设备与所述媒体代理服务器进行协商,向所 述媒体代理服务器返回振铃响应消息,并与所述媒体代理服务器建立VoIP连接。
6.一种基于VoIP的呼叫系统,其特征在于,包括主叫设备、被叫设备、媒体代理服务器 和语音服务器,其中所述主叫设备,用于通过所述语音服务器向所述被叫设备发送呼叫请求消息,所述呼 叫请求消息中携带了所述主叫设备的IP地址;所述被叫设备,用于接收呼叫请求消息,判断所述呼叫请求消息中是否携带了呼叫已 经被代理的标志位;如果没有携带呼叫已经被代理的标志位,则根据所述呼叫请求消息获 取所述主叫设备的IP地址,并根据所述IP地址进行可达性探测;如果探测结果为不可达 时,向所述语音服务器发送重定向响应消息,所述重定向响应消息中携带了所述媒体代理服务器的地址信息且携带呼叫需要所述媒体代理服务器进行代理的所述呼叫已经被代理 的标志位;如果携带呼叫已经被代理的标志位,则确定由所述媒体代理服务器代理所述被 叫设备和所述被叫设备之间的呼叫;所述语音服务器,用于在接收到所述重定向响应消息时,根据所述地址信息向所述媒 体代理服务器发送由所述媒体代理服务器对所述主叫设备和所述被叫设备之间的呼叫进 行代理的呼叫请求消息;所述媒体代理服务器,用于代理所述被叫设备和所述被叫设备之间的呼叫。
7.一种基于VoIP的呼叫装置,其特征在于,应用于包括主叫设备、被叫设备、媒体代理 服务器和语音服务器的系统中,所述装置在所述系统中作为所述主叫设备或者被叫设备, 当所述装置为所述被叫设备时,所述装置包括接收模块,用于接收呼叫请求消息,所述呼叫请求消息中携带了所述主叫设备的IP地址;判断模块,与所述接收模块连接,用于判断所述呼叫请求消息中是否携带了呼叫已经 被代理的标志位;处理模块,与所述判断模块连接,用于当判断结果为没有携带呼叫已经被代理的标志 位,则根据所述呼叫请求消息获取所述主叫设备的IP地址,并根据所述IP地址进行可达性 探测;如果探测结果为不可达时,则向所述语音服务器发送重定向响应消息,所述重定向响 应消息中携带了所述媒体代理服务器的地址信息且携带呼叫需要所述媒体代理服务器进 行代理的所述呼叫已经被代理的标志位;当判断结果为携带呼叫已经被代理的标志位,则确定由所述媒体代理服务器代理所述 被叫设备和所述被叫设备之间的呼叫。
8.如权利要求7所述的装置,其特征在于,所述处理模块还用于,当探测结果为可达时,与对端设备进行协商,并向所述对端设备 返回振铃响应消息,并与所述主叫设备建立呼叫。
9.如权利要求7所述的装置,其特征在于,所述处理模块还用于,向所述语音服务器发送302重定向响应消息,所述302重定向响 应消息中携带了所述主叫设备与所述被叫设备之间的呼叫需要所述媒体代理服务器进行 代理的所述呼叫已经被代理的标志位,以及所述媒体代理服务器的地址信息。
10.如权利要求7所述的装置,其特征在于,所述处理模块还用于,如果接收到所述媒体代理服务器向所述被叫设备发送携带了呼 叫已经被代理的标志位的呼叫请求消息时,与所述媒体代理服务器进行协商,向所述媒体 代理服务器返回振铃响应消息,并与所述媒体代理服务器建立VoIP连接。
全文摘要
本发明公开了一种基于VoIP的呼叫方法,包括主叫设备向被叫设备发送呼叫请求消息;所述被叫设备根据所述呼叫请求消息获取所述主叫设备的IP地址,并根据所述IP地址进行可达性探测;如果探测结果为不可达,所述被叫设备向所述语音服务器发送重定向响应消息,所述语音服务器通知所述媒体代理服务器对呼叫进行代理。本发明中,简化了拨号策略,统一了拨号习惯。
文档编号H04M7/00GK101873392SQ20101012414
公开日2010年10月27日 申请日期2010年3月15日 优先权日2010年3月15日
发明者郭晓军 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1