提供到外部电话网络的呼叫转发的VoIP的制作方法

文档序号:12809503阅读:489来源:国知局
提供到外部电话网络的呼叫转发的VoIP的制作方法与工艺

本公开内容总体上涉及网络通信领域,并且更具体地涉及因特网协议语音(voip)通信领域。



背景技术:

因特网协议通信(voip)是一种使用数字信号传输技术实时地并且至少部分地通过因特网传输语音通信的技术。voip通过远距离交换载波使得通过因特网协议(ip)的音频或视频呼叫成为专门使用传统公共交换电话网络(pstn)的语音传输的成本有效的替选。由于传输的数字属性,voip提供增加的信号处理、加密和呼叫建立及操作能力。

通常,使用实时传输协议(rtp)、rtp控制协议(rtcp)和会话发起协议(sip)传输voip消息。因此,voip系统包括rtp服务器和sip服务器。rtp定义标准化的分组格式并且携带媒体流(例如音频数据和视频数据),而rtcp用于监测传输统计和服务质量(qos)并且帮助多个流的同步。sip帮助建立和结束通过网络实现的各个系统部件的连接。

在现有的voip系统中,每个用户与独立于电话号码(诸如固定电话号码或移动电话号码)的用户账户相关联。通常,用户id可以是由用户选择的任何字符串。呼叫者用户和被呼叫者用户二者必须同时用其voip账户登录以发起voip呼叫。使用voip时的挫折的主要原因是用户账户(特别是被呼叫者)通常保持登出或离线,因此呼叫者不能联系到被呼叫者,例如当voip应用程序在被呼叫者的ip电话上被关闭时,被呼叫者的ip电话被关闭或者不能访问wifi或任何其他网络服务等。相比而言,用户的固定电话或蜂窝电话通常保持待机或常开。



技术实现要素:

因此,会有利的是,提供一种voip系统,该voip系统能够增加一个voip用户与另一voip用户语音通信的机会并且从而改善对voip系统的用户体验。

本公开内容的实施例提供一种voip系统,该voip系统被配置成基于voip呼叫请求来访问电话号码,并且如果被呼叫者离线,则向与电话号码相关联的电话设备转发呼叫请求。电话设备被voip系统外部的电话网络(诸如固定电话、移动电话、专用电话网络中的电话、或者被呼叫者的另一voip系统中的电话(本文中统称为“普通电话”))控制。在接收到voip呼叫请求时,voip系统的会话发起协议(sip)服务器搜索被呼叫者账户已登录至其的任何端点设备。如果确定被呼叫者账户离线,则sip服务器向与电话号码相关联的电话网络自动传送呼叫请求。以这一方式,可以有利地通过普通电话联系被呼叫者,尽管他/她的voip账户离线。在一些实施例中,voip系统使用普通电话的电话号码作为用户的voip账户id。因此,在呼叫转发期间,sip服务器可以自动且直接使用被呼叫者的voip账户id联系被呼叫者的普通电话。向外部电话网络转发voip呼叫请求的过程对于呼叫者端点设备是透明的,并且因此对于呼叫者是透明的。因此,呼叫者仅需要拨打被呼叫者一次并且被提供通过voip呼叫或电话呼叫联系被呼叫者的可能性。另外,由于根据本公开内容的voip系统向使用voip通信比电话网络给予优先权,其有利地减小用于语音通信的用户的平均成本。

本公开内容的实施例还提供使用voip系统处理与普通电话相关的呼叫请求的机制,尤其是当普通电话在国内网络覆盖范围外部并且会产生漫游费用的时候。被呼叫者的普通电话被配置成将呼叫请求自动变换成voip呼叫请求,voip呼叫请求被自动转发给与本地接入号码相关联的sip平台。接入号码被选择以使得普通电话与sip平台之间的通信免漫游费。如果被呼叫者的voip账户id被设置为与普通电 话号码相同,则sip平台可以基于拨打的号码直接向被呼叫者的voip账户发送呼叫请求。这一机制可以有利地节约在被呼叫者相对于普通电话的国内网络处于外国时会被强加的被呼叫者漫游费用。从普通电话呼叫切换到voip呼叫对于呼叫者的设备并且因此对于呼叫者是透明的。

如果用户的voip账户和普通电话都被配置用于向彼此转发呼叫,则在被呼叫者的voip账户离线的情况下可以出现呼叫死循环。为了解决这一问题,根据本公开内容的实施例的sip服务器确定呼叫请求从外部电话网络(例如共用交换电话网络(pstn))传输还是在voip系统内(例如通过因特网)传输。如果呼叫来自pstn并且被呼叫者的voip账户离线,则sip服务器将呼叫标记为源自voip系统并且自动结束呼叫会话而将其再次转发给pstn系统。

在本公开内容的一个实施例中,一种计算机实现的方法包括接收通过第一用户账户从第一端点设备提交的对于与第二用户实时通信的第一呼叫请求。第一呼叫请求标识与第二用户相关联的第二用户账户。第一用户账户和第二用户账户向voip服务提供商注册。该方法还包括确定第二用户账户当前是否在线,并且基于第一呼叫请求标识与第二用户账户相关联的电话号码。如果第二用户账户当前离线,则向与电话号码相关联的电话设备发送对于与第二用户实时通信的第二呼叫请求。电话设备被voip服务提供商外部的电话网络控制。然后在第一端点设备与电话设备之间发起呼叫会话。

以上是概述并且因此根据需要包含对细节的简化、概括和省略;因此,本领域技术人员应当理解,该概述仅是说明性的而非意在以任何方式进行限制。如仅由权利要求限定的本发明的其他方面、发明特征和优点在下面给出的非限制性的详细描述中将变得很清楚。

附图说明

结合附图阅读以下详细描述将更好地理解本发明的实施例,在附图中,相似的附图标记表示相似的元素,并且在附图中:

图1是描绘根据本公开内容的一种实施例的管理包括到外部电话网络中的电话的呼叫转发的voip呼叫的示例性计算机实现的过程的流程图;

图2图示根据本公开内容的一种实施例的在处理voip呼叫请求和呼叫转发期间的示例性通信流程;

图3是描绘根据本公开内容的一种实施例的向voip系统转发漫游呼叫以用于处理的示例性计算机实现的方法的流程图;

图4图示根据本公开内容的一种实施例的被配置成使用voip系统促进初始与普通电话相关的国际呼叫的示例性通信网络;

图5是描绘根据本公开内容的一种实施例的在voip系统与pstn之间的呼叫转发而没有引起呼叫死循环的示例性过程的流程图;

图6图示根据本公开内容的一种实施例的在被呼叫者的voip账户和普通电话都被配置用于呼叫转发时、在处理voip呼叫请求期间的示例性通信流程;

图7是图示根据本公开内容的一种实施例的被配置成向外部电话网络转发呼叫请求的voip系统中的示例性sip服务器设备的配置的框图;以及

图8图示根据本公开内容的一种实施例的包括能够向外部电话网络转发呼叫的voip系统的网络系统。

具体实施方式

现在将详细参考本发明的优选实施例,其示例在附图中说明。虽然结合优选实施例描述本发明,然而应当理解,其并非意在将本发明限制为这些实施例。相反,本发明意在覆盖能够被包括在由所附权利要求限定的本发明的精神和范围内的替选、修改和等同方案。另外,在对本发明的实施例的以下详细描述中,给出大量具体细节以便提高对本发明的透彻理解。然而,本领域普通技术人员应当理解,可以在没有这些具体细节的情况下实践本发明。在其他情况下,没有详细描述众所周知的方法、过程、部件和电路以免模糊本发明的各实施例的 各方面。虽然一种方法出于清楚的考虑可以被描绘为一系列编号的步骤,然而编号不一定指示各步骤的顺序。应当理解,其中一些步骤可以被跳过、被并行执行或者在不要求保持严格顺序的情况下被执行。示出本发明实施例的附图是半图示性的并且没有按比例,特别地,其中一些尺寸是为了清楚的呈现并且在附图中被放大示出。类似地,虽然附图中的视图为了描述的方便通常示出相似的方位,然而附图中的这一描绘对于大多数部分是任意的。通常,可以在任何方位上操作本发明。

符号和术语

然而,应当铭记,所有这些和类似的术语要与适当的物理量相关联并且仅是适用于这些量的方便的标记。除非另外具体指出,否则根据下面的讨论很清楚的是,应当理解,贯穿本发明,使用诸如“处理”或“访问”或“执行”或“存储”或“渲染”等术语的讨论是指将被表示为计算机系统的寄存器和存储器以及其他计算机可读介质内的物理(电子)量的数据操纵和变换成类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据的计算机系统或类似的电子计算设备的动作和过程。当部件出现在若干实施例中时,相同附图标记的使用表示该部件是与初始实施例中所说明的相同的部件。

提供到外部电话网络的呼叫转发的voip

总之,本公开内容的实施例采用以下计算机实现的过程:在被呼叫者的voip账户离线的情况下,使用被呼叫者的电话号码向另一电话网络转发呼叫者的对于ip语音(voip)呼叫的请求。在voip系统确定被呼叫者voip账户当前离线后转发呼叫请求。以这一方式,仍然能够通过电话网络建立语音通信,尽管被呼叫者对于voip呼叫不可用。被呼叫者的电话号码可以明确地包含在voip用户id中,或者存储在voip数据库中并且与用户id相关联。转发过程对于呼叫者是 透明的。

本公开内容的实施例还提供从普通电话网络到voip系统的呼叫转发过程。与普通电话相关的国际呼叫请求被切换到本地sip平台以建立voip呼叫会话。从而被呼叫者能够节省普通电话网络可能强加的昂贵的漫游费用。如果用户的voip账户和普通电话都被配置用于到彼此的呼叫转发并且一旦voip账户被确定为离线,则sip服务器将来自pstn的来电标记为源自voip系统并且自动结束呼叫会话以防止呼叫死循环。

图1是描绘根据本公开内容的一种实施例的管理voip呼叫的示例性计算机实现的过程100的流程图。过程100可以在下面更详细地描述的voip系统的会话发起协议(sip)服务上被实现。在101,通过呼叫者与voip系统中的端点设备交互来向sip服务器提交呼叫请求。比如,呼叫者通过安装在智能电话中的voip应用程序的图形用户界面(gui)输入被呼叫者的voip账户id(或者本文中的“voipid”)。在102,在sip服务器处处理呼叫请求。基于呼叫请求,访问包括被呼叫者的电话号码的被呼叫者的voip账户信息。根据本公开内容,voip用户账户与属于voip系统外部的电话网络(诸如无线电话网络或公用交换电话网络(pstn))的电话号码相关联。

在103,sip服务器搜索被呼叫者的账户在其上已登录或“在线”的voip端点设备。如果sip服务器检测到这样的端点设备,则在104,sip服务器在呼叫者和被呼叫者的端点设备之间发起voip通信会话。

呼叫者和被呼叫者的端点设备是voip订阅用户设备。可以作为端点设备操作的设备包括个人计算机、台式计算机、智能电话、个人数字助理(pda)、手持式计算机、可编程消费电子产品、配置有模拟电话适配器(ata)的标准电话、ip电话、或者其他移动设备等。应当理解,订阅用户设备可以安装有voip应用程序(例如在智能电话中)或者可以耦合到被配置成将电话呼叫转换成voip呼叫的适配器(例如voip路由器或voip网关)。

另一方面,如果sip服务器在103确定被呼叫者的voip账户当 前登出或“离线”,则sip服务器向外部电话网络自动转发呼叫请求。更具体地,sip服务器在105向外部电话网络发送被呼叫者的电话号码并且请求呼叫者的电话上的呼叫会话。作为响应,电话网络处理转发的请求并且在呼叫者的端点设备与被呼叫者的普通电话之间建立拨号连接。

在一些实施例中,呼叫转发选项由被呼叫者事先选择,例如在voip账户注册中或者在通过voip应用的gui的设置配置过程中。在一些实施例中,电话号码与被呼叫者的voipid相同或者被明确地包含在被呼叫者的voipid中。在这种情况下,呼叫者可以在提交呼叫请求时直接输入被呼叫者的电话号码并且这一号码由sip服务器直接使用以联系外部电话网络。在这一配置中,呼叫者仅需要使一个联系号码与被呼叫者相关联,而非单独的voipid和电话号码。在一些其他实施例中,被呼叫者的电话号码存储在voip系统的数据库中作为用户简档的一部分。sip服务器在呼叫请求中一旦接收到被呼叫者的用户id就从数据库访问电话号码。

本公开内容不限于能够从voip系统接收转发的呼叫请求的任何具体类型的电话网络。与这样的电话网络相关联的电话在本文中可以称为“普通电话(regularphone)”。外部电话网络可以是pstn、专用交换机(pbx)网络、移动电话网络或者另一voip系统等。这样的移动电话网络可以是全球移动通信系统(gsmc)网络、码分多址(cdma)网络等。

因此,根据本公开内容,响应于呼叫者提交呼叫请求,voip系统首先搜索被呼叫者的voip账户在其中已登录的端点设备并且从而确定是否能够建立voip呼叫会话。如果被呼叫者的账户当前离线,则voip系统向电话网络发送被呼叫者电话号码以使得能够建立呼叫者设备与被呼叫者的电话之间的通信会话。因此,voip系统有利地确保voip呼叫会话比通过电话网络的呼叫会话优先以减小用户进行呼叫的平均成本。另外,根据本公开内容,当被呼叫者的voip账户离线时,voip系统自动切换到替选通信系统。这有利地增加呼叫者接 通被呼叫者的可能性。另外,由于转发过程对于呼叫者的端点设备以及呼叫者是透明的,所以呼叫者未察觉无法连接voip呼叫而仅察觉与呼叫者的成功连接。因此,voip系统提供更好的用户体验。

图2图示根据本公开内容的一种实施例的在处理voip呼叫请求期间的示例性通信流程。如以简化形式所图示的,voip系统200包括sip服务器210以及呼叫者和被呼叫者的相应的端点设备220和230。

响应于呼叫者的与端点设备220上的用户接口的交互,从端点设备220生成呼叫请求并且该呼叫请求被发送到voip系统的sip服务器210(如箭头“1”所标记的)。例如,呼叫请求包括呼叫者和被呼叫者的用户id,sip服务器能够从其获取向外部电话网络注册的被呼叫者的电话号码。

在接收到呼叫请求时,sip服务器210搜索呼叫者的账户已登录的端点设备(如箭头“2”所标记的)。假定被呼叫者的端点设备230在线并且被呼叫者接受呼叫,则设备230向sip服务器210反馈指示其可用性的信号(如箭头“3”所标记的)。作为响应,sip服务器210告知呼叫者的端点设备220被呼叫者已经接受呼叫(如箭头“4”所标记的)。sip服务器然后在设备220与230之间建立呼叫连接和语音数据传输。

另一方面,在没有检测到被呼叫者的voip账户已登录的端点设备的场景中,sip服务器通过外部电话网络呼叫被呼叫者的电话号码,该电话号码与被呼叫者的普通电话240相关(如箭头“5”所标记的)。例如,普通电话240是由pstn系统控制的固定电话或者由gsm系统控制的蜂窝电话。如果被呼叫者在普通电话240上应答呼叫请求,则其向sip服务器210发送反馈信号(如箭头“6”所标记的)。因此,在呼叫者的voip端点设备220与被呼叫者的普通电话240之间建立呼叫会话。

通常,当用户在国内电话网络的地理覆盖区域外部旅行时,用户必须支付非常昂贵的漫游费用以使用移动电话进行呼叫或者接收呼 叫,尤其是国际漫游费用。根据本公开内容的另一方面,移动电话设备可以被配置成引起任何网络外呼叫请求(例如国际呼叫)被转发给对应于sip平台的接入号码的本地号码。作为响应,sip平台作为voip呼叫请求来处理呼叫请求,从而将普通电话呼叫变换成voip呼叫而没有产生漫游费用。图3是描绘根据本公开内容的一种实施例的向voip系统转发国际漫游呼叫以用于处理的示例性计算机实现的方法300的流程图。

在301,通过将其电话号码与本地sip平台接入号码链接来将用户的(本示例中为“被呼叫者”)电话(例如移动电话)配置用于呼叫转发。可以响应于用户输入或者在检测到电话已经行进到国内网络外部时自动启用呼叫转发功能。比如,当在海外旅行时,用户通过安装在电话中的电话程序选择呼叫转发功能。本地sip平台接入号码可以被自动选择或者是用户特定的,使得电话与sip平台之间的通信免漫游费。

一旦被配置,则向与本地sip平台接入号码相关联的sip服务器自动转发(例如通过电话国内网络)与电话号码相关的或者从电话拨打的任何呼叫请求。这一转发过程对于呼叫者的设备和呼叫者可以是透明的。因此,在302,响应于呼叫者拨打被呼叫者的电话号码,在电话网络处并且在电话处接收与电话号码相关的呼叫请求。呼叫请求可以由呼叫者从任何类型的电话(例如呼叫者的voip电话或者普通电话)来提交。在303,将初始呼叫请求自动变换成用于呼叫被呼叫者的voip账户的voip呼叫请求。在304,向与本地sip平台接入号码相关联的本地sip服务器发送voip呼叫请求。被呼叫者的电话与voip平台之间通过其国内网络的通信是本地的,并且因此免漫游费。因此,sip服务器搜索呼叫者的账户已登录的端点设备。

如果在305处sip服务器检测到被呼叫者的账户在线,则sip服务器在306处在呼叫者与被呼叫者的端点设备之间发起voip通信会话。被呼叫者的端点设备可以是与和电话号码相关联的被呼叫者的普通电话相同的设备,或者是单独的计算设备。因此,被呼叫者可以有 利地进行国际呼叫而不产生任何漫游费用。如果被呼叫者在305处被确定为离线,则sip服务器可以在307发送指示呼叫者不可用的消息并且结束呼叫。替选地,如果被呼叫者如参考图1-图2所描述地那样配置voip账户中的呼叫转发特征,则可以将voip呼叫恢复到电话上的常规呼叫,这强加漫游费用。针对与被呼叫者的普通电话号码相关的每个呼叫请求重复302-307中的以上过程。

图4图示根据本公开内容的一种实施例的被配置成使用voip系统促进初始与普通电话号码相关的国际呼叫的示例性通信系统和网络400。该系统包括呼叫者的端点设备401、被呼叫者的电话402、voip平台403(例如sip服务器)以及被呼叫者的voip账户已登录的voip端点设备405。voip平台403和端点设备405耦合到因特网404。例如,被呼叫者的电话402是具有向pstn注册并且安装有voip客户端应用程序的电话号码的移动电话。

在本实施例中,被呼叫者的电话402被配置用于到voip平台403的呼叫转发。更具体地,电话402的电话号码与voip平台403的平台接入号码链接。比如,被呼叫者在电话402的国内网络的地理覆盖区域外部,例如在usa外部旅行。假定国内网络可以在被呼叫者在usa外部时对于在电话402上进行的任何呼叫强加漫游费用。在呼叫转发配置期间,选择本地平台接入号码以确保电话402与voip平台403之间的通信免漫游费。被呼叫者的voipid与电话402的电话号码相同。

当在被呼叫者的电话402处接收到从呼叫者的设备401提交的呼叫请求(如箭头“1”所示)时,基于本地voip平台号码向voip平台403自动转发呼叫请求(如箭头“2”所示)。因此,将与电话402的电话号码相关的初始呼叫请求变换成包括被呼叫者的电话号码的voip请求。可以通过呼叫者的voip账户提交初始呼叫请求。

基于电话号码,voip平台直接获取被呼叫者的voipid,因为其在一些实施例中与电话号码相同。voip平台搜索被呼叫者的voipid已登录的端点设备。例如,如果被呼叫者的账户在端点设备处已登录, 则可以在呼叫者设备401与被呼叫者的设备405之间建立voip呼叫会话。

在本公开内容的一些实施例中,用户的voip账户和普通电话都可以被配置用于到彼此的呼叫转发,例如如关于图1和图3所描述的。该配置可以提供更好的用户体验,并且通过有效地增加接通被呼叫者的概率以及减小用户的漫游费用来减小用户的成本。然而,本配置在voip账户被确定为离线的场景中可能是有问题的,其中从sip服务器向外部电话网络转发呼叫请求。因此,提出向sip服务器自动转发回呼叫请求的电话网络,其使sip服务器向电话网络再次转发回呼叫请求等,以引起所谓的呼叫死循环。

图5是描绘根据本公开内容的一种实施例的voip系统与pstn之间的双向呼叫转发而没有引起死循环的示例性过程500的流程图。在501,将被呼叫者的voip账户配置成实现从voip账户到耦合到pstn的被呼叫者的普通电话的呼叫转发功能,如参考图1-图2更详细地描述的。voipid可以与普通电话的电话号码相同。在502,将被呼叫者的普通电话配置成例如通过将电话号码链接到sip平台接入号码来实现从普通电话到voip账户的呼叫转发的功能,如参考图3-图4更详细地描述的。在503,接收来自呼叫者的voip端点设备的voip呼叫请求。如果被呼叫者的voip账户在线,则在505建立voip呼叫会话。

如果确定被呼叫者的voip账户离线,则在506,基于在501执行的配置通过pstn向被呼叫者的普通电话转发呼叫请求。因为普通电话也被配置用于呼叫转发,所以pstn向voip系统自动转发回呼叫请求。因此,在507,与所规定的sip平台接入号码相关联的sip平台从pstn接收呼叫请求。如虚线箭头线所图示的,过程504、506和507可能不期望地重复并且变为循环或者呼叫死循环。

为了解决呼叫死循环问题,sip平台区分并且标记呼叫请求的状态是来自外部电话网络(例如pstn)还是来自因特网。如果sip平台确定呼叫请求发自pstn,则sip平台在508通过将状态标识符与 电话号码或呼叫日志中的voip账户号码附接来将呼叫请求的状态标记为源自voip请求。因此,sip平台在509结束呼叫并且告知呼叫者被呼叫者不可用。如果sip平台确定呼叫请求发自因特网,则sip平台继续进行以处理呼叫。应当理解,本公开内容不受确定呼叫请求从pstn路由还是从voip系统(例如因特网)路由的机制和过程的限制。

在一些其他实施例中,当在503接收到呼叫请求时,sip平台确定呼叫从外部电话网络(例如pstn)路由还是从因特网路由。如果其来自pstn,则sip平台使用电话号码或者voip账户号码标记这样的状态,比如使状态标识符与呼叫日志中的电话号码相关联。可以维持标记直到呼叫会话结束。sip平台然后确定被呼叫者的voip账户是否在线。如果在线,则如关于块504和505所描述地那样发起呼叫会话。然而,如果离线,则sip平台基于状态标识符结束呼叫会话,而非向pstn转发呼叫请求,如关于块504和509所描述的。

图6图示根据本公开内容的一种实施例的在被呼叫者的voip账户和普通电话都被配置用户呼叫转发时在处理voip呼叫请求期间的示例性通信流程。如以简化形式所图示的,voip系统600包括sip服务器610(或平台)以及呼叫者和被呼叫者的相应的端点设备620和630。

从voip端点设备620,呼叫者首先向sip服务器610提交呼叫被呼叫者的呼叫请求(如箭头“1”所示)。作为响应,sip服务器610尝试检测被呼叫者的账户已登录的端点设备。在本示例中,sip服务器610确定被呼叫者的voip账户当前离线(如箭头“2”所示)。

基于用于voip账户的呼叫转发配置,sip服务器610联系被呼叫者的普通电话640,以试图在呼叫者的设备620与被呼叫者的普通电话640之间建立呼叫会话(如箭头“3”所示)。转而,基于用于普通电话的呼叫转发配置,普通电话640向sip服务器610转发回呼叫,以试图将呼叫变换成voip会话。

根据本公开内容,sip服务器用状态标识符标记与sip接入号码 相关并且来自pstn的所有呼叫。例如,使前缀“*”或任何其他合适的注释与呼叫日志中的普通电话号码(如箭头“5”所示)相关联。因此,如果sip服务器检测到被呼叫者的voip账户离线(如箭头“6”所示),并且电话号码与状态标识符相关联,则sip服务器丢弃呼叫而非向普通电话640转发呼叫(如箭头“7”所示)。

图7是图示根据本公开内容的一种实施例的被配置成向外部电话网络转发呼叫请求的voip系统中的示例性sip服务器设备700的配置的框图。sip服务器设备700包括主处理器701、系统存储器702、图形处理单元(gpu)703、i/o接口704和网络电路705、操作系统706以及应用软件710。应用软件710包括存储在存储器702中的sip服务器程序720。当由主处理器701执行时,sip服务器程序720可以在被呼叫者在线的情况下响应于用户请求来发起voip呼叫会话。而如果被呼叫者离线,则sip服务器程序720可以向与被呼叫者相关联的被呼叫者的普通电话自动转发呼叫请求,其中被呼叫者的普通电话被voip系统外部的电话网络控制。

更具体地,sip服务器程序720包括网络拓扑/路由数据库721、rtp选择模块722、会话拆除模块723、会话建立模块724和端点设备检测模块725。网络拓扑/路由数据库721存储与用于提供voip服务的网络的各种部件的布置和状态以及物理和逻辑结构相关的信息。根据多个用户端点设备的地址并且基于数据库721中所包含的信息,rtp选择模块722标识分别用于端点设备的合适的rtp服务器。选择可以基于一组qos量度以实现每个特定的端点设备与其分配的rtp服务器之间的增强的传输性能。一组量度可以与延迟、可用性、抖动和带宽等有关。会话建立模块724用于信令所选择的rtp服务器以建立端口镜像并且发起voip呼叫会话。会话拆除模块723用于信令rtp服务器以一旦电话呼叫结束就结束端口镜像关系。端点设备检测模块725基于呼叫请求来标识参与呼叫的在线端点设备。

sip服务器700还包括用户账户数据库726和外部电话网络通信模块727。除了在传统的voip系统中使用的用户信息,用户账户数 据库726还可以在用户简档下存储用户的电话号码。如果被呼叫者已经使能呼叫转发功能并且当端点设备检测模块725确定被呼叫者离线时,外部电话网络通信模块727使用电话号码向被电话网络控制的被呼叫者的普通电话发送呼叫请求。

sip服务器700也可以被配置成标识从外部电话网络转发的呼叫请求是否源自本voip系统并且因此记录呼叫请求的这样的状态。如果呼叫请求从外部电话网络路由,则sip服务器700将呼叫请求视为应当向外部电话网络转发回的所转发的呼叫请求。sip服务器700可以生成状态标识符以标记呼叫请求的这样的状态。因此,如果sip服务器检测到被呼叫者的voip账户离线,则其基于标记丢弃呼叫以避免呼叫死循环。

sip服务器程序720可以执行如关于图1-图6所讨论的其他各种功能和过程。应当理解,sip服务器700可以包括本领域众所周知的大量其他模块和功能。用于实现这些编程的模块的技术是本领域众所周知的。另外,根据本公开内容的voip系统可以包括可以分别被配置为sip寄存器服务器、sip代理服务器或sip重定向服务器的一个或多个sip服务器设备。根据本公开内容的呼叫转发功能可以在这些sip服务器或任何其他合适的服务器中的任何一个或多个服务器中被实现。如本领域普通技术人员应当理解的,sip服务器程序720可以用本领域技术人员已知的任何一个或多个合适的编程语言来实现,诸如c、c++、java、python、perl、c#、sql等。

图8图示根据本公开内容的一种实施例的包括能够向外部电话网络转发呼叫的voip系统810的网络系统800。voip系统800包括sip服务器811、rtp服务器812和813以及端点设备814和815,这些全部通过通信网络(例如因特网)彼此耦合。应当理解,根据本公开内容的voip系统还包括本领域众所周知的各种其他部件。例如,应当理解,voip端点设备(例如814或815)可以经由一个或多个中间设备(诸如voip网关、支持voip的路由器、网络交换机、集线器、专用自动交换机(pabx)、防火墙、和/或网络地址翻译设备等)耦 合到因特网和rtp服务器。另外,voip数据传输可以采用通过传输控制协议(tcp)的rtp和sip。

根据本公开内容的实施例,voip系统810的用户向voip系统注册外部电话网络的电话号码。外部电话网络可以是pstn820、gsm系统830或pbx840等。因此,电话号码可以与固定电话821或822、移动电话831或832、或者分机电话841或842等相关联。响应于呼叫请求,如果sip服务器811不能定位其中被呼叫者的voip账户已登录的端点设备,则sip服务器811转变为通过外部网络(例如820、830或840)呼叫电话号码。仍然根据本公开内容的实施例,voip系统810还可以接管和处理从外部电话网络转发的电话呼叫,如参考图3-图6更详细地描述的。

本公开内容不受用于传输voip数据的网络的类型或规模的限制。voip系统可以部署在公共网络(或因特网)或被设计用于提供voip服务的专用网络、有线网络、无线网络、软件定义的网络(sdn)、虚拟网络、物理网络或其组合上。因此,端点设备可以与相应的公共ip地址或专用网络地址等相关联。

rtp服务器812和813能够以镜像方式向单个rtp服务器路由voip数据。在rtp服务器(例如812)被选择以参与voip呼叫会话时,其可以执行路由优化过程以确定用于与所选择的另一rtp服务器(例如813)交换voip数据的网络路由。

虽然本文已经公开了某些优选实施例和方法,然而本领域技术人员根据以上公开内容应当清楚,可以在不偏离本发明的精神和范围的情况下对这样的实施例和方法进行改变和修改。意在本发明应当仅限于所附权利要求所要求的范围以及适用法律的条款和原则。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1