CN101137209B - 基于位置路由的系统及位置路由设备和方法 - Google Patents
基于位置路由的系统及位置路由设备和方法 Download PDFInfo
- Publication number
- CN101137209B CN101137209B CN200610127706XA CN200610127706A CN101137209B CN 101137209 B CN101137209 B CN 101137209B CN 200610127706X A CN200610127706X A CN 200610127706XA CN 200610127706 A CN200610127706 A CN 200610127706A CN 101137209 B CN101137209 B CN 101137209B
- Authority
- CN
- China
- Prior art keywords
- equipment
- initiator
- positional information
- request
- routing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种基于位置路由的系统,包括:呼叫会话设备和位置路由设备,其中,呼叫会话设备,用于接收来自发起方的通信请求;向位置路由设备发送获取接收方路由信息的请求;位置路由设备,用于根据来自所述呼叫会话设备的请求,查询接收方的路由信息。本发明还公开了一种位置路由设备和一种位置路由方法。本发明通过在呼叫会话设备与位置路由设备之间实现信息交互,从而使得基于位置路由的系统能够在任何情况下,获取到接收方的路由信息,并能够根据接收方的路由信息,发起将呼叫向接收方的路由。
Description
技术领域
本发明涉及移动通信技术,特别涉及基于位置路由的系统及位置路由设备和方法。
背景技术
IP多媒体子系统(Internet Protocol Multimedia Subsystem,IMS)中,用户通过用户设备(User Equipment,UE)向呼叫会话控制单元(Call SessionControl Function,CSCF)发送呼叫请求,通过域名服务器(Domain NameServer,DNS)解析呼叫请求中携带的通用资源标识(Universal ResourceIdentifier,URI),从呼叫请求中获取被叫方的路由信息,并根据UE的位置信息和被叫方的路由信息,进行位置路由,将呼叫路由到被叫方,从而实现了呼叫方和被叫方的通话连接。
然而,在有些情况下,DNS不能解析获取到被叫方的路由信息,因而无法进行路由,不能将呼叫方发出的呼叫路由到被叫方。例如,在IMS中,用户通过UE向IMS的紧急呼叫会话控制单元(Emergency-CSCF,E-CSCF)发送紧急呼叫,请求提供紧急呼叫业务,但紧急呼叫请求中没有携带URI,而是携带被叫方的统一资源名称(Uniform Resource Name,URN),而E-CSCF无法通过DNS从URN中解析出被叫方的路由信息。
可见,现有技术无法保证在路由时获取到被叫方的路由信息,从而无法保证将呼叫方发起的呼叫路由到被叫方,进而无法对呼叫方与被叫方之间的通话连接提供有效保障,降低了网络的可服务性。
发明内容
有鉴于此,本发明的一个主要目的在于,提供一种基于位置路由的系统,能够保证将呼叫路由到被叫方。
本发明的另一个主要目的在于,提供一种位置路由设备,能够保证基于位置路由的系统将呼叫路由到被叫方。
本发明的第三个主要目的在于,提供一种位置路由方法,能够保证将呼叫路由到被叫方。
根据上述的一个主要目的,本发明提供了一种基于位置路由的系统,包括:呼叫会话设备、位置路由设备和位置服务器,
所述呼叫会话设备,用于接收来自发起方的通信请求;在通信请求中不包括发起方位置信息或者位置信息不可信时,向位置服务器发送包括发起方标识的位置信息请求,并将包括来自位置服务器的位置信息的,获取接收方路由信息的请求发送到位置路由设备;或者,向位置路由设备发送包含所述发起方标识和/或所述发起方位置信息的获取接收方路由信息的请求;
所述位置路由设备,用于在来自呼叫会话设备的获取接收方路由信息的请求中不包括发起方的位置信息时,向位置服务器发送包括发起方标识的位置信息请求;根据接收方标识和从呼叫会话设备或位置服务器获取的发起方的位置信息,查询获取接收方的路由信息。
所述呼叫会话设备进一步用于接收来自发起方的,包括接收方标识和发起方位置信息的通信请求;向位置路由设备发送获取接收方路由信息的请求,获取接收方路由信息的请求中包括所述通信请求中的发起方位置信息和接收方标识;
所述位置路由设备进一步用于在判断出来自呼叫会话设备的发起方位置信息可信之后,根据发起方位置信息和接收方标识进行查询,获取接收方的路由信息。
所述呼叫会话设备用于向位置路由设备发送包含发起方标识、接收方标识和发起方位置信息的路由信息请求;
所述位置路由设备进一步用于在判断出来自呼叫会话设备的发起方位置信息不可信之后,向位置服务器发送包括发起方标识的位置信息请求;根据来自位置服务器的发起方位置信息和来自呼叫会话设备的接收方标识进行查询,获取接收方的路由信息。
所述呼叫会话设备进一步用于接收来自发起方的,包括发起方标识和接收方标识的通信请求;向位置服务器发送,包括发起方标识的位置信息请求;向位置路由设备发送获取接收方路由信息的请求,所述获取接收方路由信息的请求中包括所述通信请求中的接收方标识以及来自位置服务器的发起方位置信息;
所述位置路由设备进一步用于根据来自呼叫会话设备的发起方位置信息和接收方标识进行查询,获取接收方的路由信息。
所述呼叫会话设备进一步用于接收来自发起方的,包括发起方标识和接收方标识的通信请求;向位置路由设备发送获取接收方路由信息的请求,所述获取接收方路由信息的请求中包括发起方标识以及接收方标识;
所述位置路由设备进一步用于向位置服务器发送,包括发起方标识的位置信息请求;根据接收方标识和来自位置服务器的发起方位置信息进行查询,获取接收方的路由信息。
所述呼叫会话设备进一步用于根据来自位置路由设备的路由信息,将包括所述路由信息的通信请求,路由到接收方;
所述位置路由设备进一步用于将查询到的接收方的路由信息,发送到呼叫会话设备。
所述呼叫会话设备进一步用于将来自发起方的通信请求发送给位置路由设备;将来自位置路由设备的通信请求,路由到接收方;
所述位置路由设备进一步用于将查询到的接收方的路由信息携带于来自呼叫会话设备的通信请求中,将包括接收方路由信息的通信请求路由到呼叫会话设备。
根据上述的另一个主要目的,本发明提供了一种位置路由设备,包括:查询模块和路由模块,其中,
查询模块,用于根据来自外部的获取路由信息请求,获取接收方的路由信息,将通过查询获取到的接收方的路由信息发送到路由模块;
路由模块,用于根据来自查询模块的路由信息,发起将通信请求向接收方的路由。
根据上述的第三个主要目的,本发明提供了一种位置路由方法,包括以下步骤:
A、呼叫会话设备根据发起方的通信请求,
在通信请求中不包括发起方位置信息或者位置信息不可信时,向位置服务器发送包括发起方标识的位置信息请求,位置服务器根据包括发起方标识的位置信息请求,查询发起方的位置信息,将查询出的发起方的位置信息,发送到呼叫会话设备,呼叫会话设备将包括来自位置服务器的位置信息的,获取接收方路由信息的请求发送到位置路由设备;或者,
向位置路由设备发送包含所述发起方标识和/或所述发起方位置信息的获取接收方路由信息的请求;
B、位置路由设备接收来自呼叫会话设备的获取接收方路由信息的请求,在获取接收方路由信息的请求中不包括发起方的位置信息时,向位置服务器发送包括发起方标识的位置信息请求,位置服务器根据包括发起方标识的位置信息请求,查询发起方的位置信息,将查询出的发起方的位置信息,发送到位置路由设备;
位置路由设备根据接收方标识和从呼叫会话设备或位置服务器获取的发起方的位置信息,查询获取接收方的路由信息。
所述发起方标识包括:用户标识和/或终端标识。
所述终端标识包括:设备标识、IP地址、GRUU中的任意一个或者多个的组合。
所述请求为:SIP消息请求、或者Diameter消息请求、或者HTTP消息请求。
所述步骤B之后,进一步包括:所述位置路由设备根据路由信息将通信请求发送到接收方,或者将路由信息返回给呼叫会话设备,由呼叫会话设备根据路由信息将通信请求发送到接收方。
所述通信请求为发起呼叫业务的呼叫请求,或者为消息业务请求。
步骤B所述获取接收方的路由信息之前进一步包括:呼叫会话设备向位置服务器发送包括发起方标识的位置信息请求,位置服务器根据位置信息请求,查询发起方的位置信息,并将查询到的位置信息经由呼叫会话设备携带于路由信息请求中发送给位置路由设备,
所述步骤B为位置路由设备接收来自呼叫会话设备的请求,获取接收方的路由信息;
或者,步骤B所述获取接收方的路由信息之前进一步包括:位置路由设备向位置服务器发送包括发起方标识的位置信息请求,位置服务器根据位置信息请求,查询发起方的位置信息,并将查询到的位置信息发送给位置路由设备,
所述步骤B为位置路由设备接收来自呼叫会话设备的请求和来自位置服务器的发起方位置信息,获取接收方的路由信息。
所述发起方标识为终端标识,所述位置信息包括:一个可定位的位置信息。
所述发起方标识为用户标识,所述查询到的发起方位置信息包括:一个或一个以上的可定位的位置信息。
所述位置信息进一步包括定位辅助信息,当位置信息包括一个以上的可定位的位置信息时,位置路由设备根据所述辅助信息从一个以上位置信息中选择一个,作为发起方的位置信息。
所述定位辅助信息为发起方的终端标识、和/或发起方的能力信息。
当位置路由设备从位置服务器获得有一个以上的可定位的位置信息时,位置路由设备根据所述位置信息获得一个或一个以上的路由信息;或者将所有的位置信息返回给呼叫会话设备。
当查询到一个以上的路由信息时,位置路由设备向呼叫会话设备返回错误消息,或者选择其中的一个路由信息作为接收方的路由信息,再或者向呼叫会话设备返回响应,要求上报一个唯一的、可信的位置信息,并重新查询接收方的路由信息,或者将所有的路由信息返回给呼叫会话设备。
当呼叫会话设备从位置服务器获得一个以上的可定位的位置信息,所述呼叫会话设备向发起方返回响应,要求上报一个位置信息,或者将所有的位置信息返回给发起方,或者向发起方返回错误消息,或者选择一个位置信息发送给位置路由设备,或者将所有的位置信息发送给位置路由设备。
所述步骤A为:呼叫会话设备根据发起方的通信请求,向位置路由设备发送基于直径Diameter协议的路由信息请求,并在所述请求中,携带通信请求中的发起方位置信息、接收方标识和发起方标识。
所述步骤B为:位置路由设备判断出来自呼叫会话设备的发起方位置信息可信之后,根据来自呼叫会话设备的请求中携带的接收方标识和发起方位置信息进行查询,获取到接收方的路由信息。
所述步骤A为:呼叫会话设备根据发起方的通信请求,向位置路由设备发送基于直径Diameter协议的路由信息请求,并在所述请求中,携带通信请求中的接收方标识和发起方标识。
所述步骤B为:
B11、位置路由设备接收来自呼叫会话设备的基于Diameter协议的路由信息请求,在判断出所述请求中不包括发起方的位置信息或者请求中的位置信息不可信之后,将所述请求中的发起方标识携带于位置信息请求中,发送到位置服务器;
B12、位置服务器根据位置信息请求,依照发起方标识,查询发起方的位置信息,并将查询到的位置信息发送给位置路由设备;
B13、位置路由设备根据呼叫中包括的接收方标识和来自位置服务器的发起方位置信息进行查询,获取接收方的路由信息。
步骤B11所述基于Diameter协议的路由信息请求中包括:表示接收方URN的Callee-URN AVP、表示发起方位置信息的Caller-Location AVP、表示发起方标识的Caller-id AVP、表示路由信息的Callee-URI AVP;
所述判断出所述请求中不包括发起方的位置信息为:当判断所述Caller-Location AVP为空之后,判断出请求中不包括发起方的位置信息。
所述步骤A为:呼叫会话设备将来自发起方的基于初始会话协议SIP的通信请求,发送给位置路由设备,请求位置路由设备查询接收方的路由信息。
所述步骤B为:
B21、位置路由设备接收来自呼叫会话设备的基于SIP的通信请求,在判断出请求中不包括发起方的位置信息或者位置信息不可信之后,将所述请求中的发起方标识携带于位置信息请求中,发送到位置服务器;
B22、位置服务器根据位置信息请求,依照发起方标识,查询发起方的位置信息,并将查询到的位置信息发送给位置路由设备;
B23、位置路由设备根据呼叫中包括的接收方标识,和来自位置服务器的发起方位置信息,查询接收方的路由信息。
所述步骤B之后进一步包括:
C1、位置路由设备将查询到的接收方的路由信息,携带于基于Diameter协议的路由信息响应中,发送到呼叫会话设备;
C2所述呼叫会话设备将来自位置路由设备的路由信息,携带于发起方发起的通信请求中,并将包括所述路由信息的通信请求路由到接收方。
所述步骤B之后进一步包括:位置路由设备将查询到的路由信息,携带于所述通信请求中,并将包括路由信息的通信请求,路由到接收方。
由上述技术方案可见,本发明通过在呼叫会话设备与位置路由设备之间实现信息交互,从而使得基于位置路由的系统能够保证在进行位置路由时,获取到接收方的路由信息,并由位置路由设备根据接收方的路由信息,将呼叫路由到接收方。
本发明还为基于位置路由的系统中的呼叫会话设备、位置路由设备与位置服务器之间的连接接口,分别设定了接口协议,从而实现三者之间的信息交互,使得基于位置路由的系统在需要时,能够通过呼叫会话设备或者位置路由设备,与位置服务器的信息交互,从而获取发起方的位置信息。
附图说明
图1a为本发明中基于位置路由的系统的示例性结构图。
图1b为本发明中基于位置路由的系统的示例性扩展结构图。
图2为本发明中位置路由方法的示例性流程图。
图3为本发明实施例一中基于位置路由的系统的结构图。
图4为本发明实施例一中位置路由方法的流程图。
图5为本发明实施例二中基于位置路由的系统的结构图。
图6为本发明实施例二中位置路由方法的流程图。
图7为本发明实施例三中基于位置路由的系统的结构图。
图8为本发明实施例三中位置路由方法的流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明的基本思想为:呼叫会话设备与位置路由设备之间实现信息交互,从而使得基于位置路由的系统获取到接收方的路由信息,并根据接收方的路由信息,将呼叫路由到接收方。
其中,发起方的通信请求中,包括发起方的位置信息,且该位置信息可信。
目前,位置路由设备,例如位置路由功能单元(Location RetrievalFunction,LRF),具有查询路由信息的功能,因此,本发明利用呼叫会话设备与具有查询路由信息功能的位置路由设备进行信息交互,实现呼叫的路由。
但是,由于呼叫会话设备与具有查询路由信息功能的位置路由设备之间没有标准的通信接口和信息交互流程,因此无法实现信息交互。
本发明为系统中的呼叫会话设备与位置路由设备之间的连接接口,设定了接口协议,从而实现二者之间的信息交互。
图1a为本发明中基于位置路由的系统的示例性结构图。如图1a所示,基于位置路由的系统包括:呼叫会话设备101和位置路由设备102,呼叫会话设备101与位置路由设备102之间通过接口11相连。
其中,接口11的接口协议可以是SIP、直径(Diameter)协议、超文本传输协议(Hypertext Transfer Protocol,HTTP)等协议。
呼叫会话设备101,用于接收来自发起方的通信请求;向位置路由设备102发送获取接收方路由信息的请求,所述请求中包含所述发起方标识和/或所述发起方位置信息;
位置路由设备102,用于根据来自呼叫会话设备101的请求,查询接收方的路由信息。
其中,上述通信请求可以是发起呼叫业务的通信请求或者发起消息业务的请求等;发起方标识包括:用户标识和/或终端标识,用户标识一般是指公有用户标识,如SIP URI、TEL URI等;终端标识至少为以下一种:设备标识、IP地址、全球可路由用户代理统一资源标识(Globally Routable UserAgent URIs,GRUU),其中设备标识一般是指IMEI。
上述位置路由设备102根据发起方的位置信息和接收方标识查询接收方的路由信息;接收方标识是包括在通信请求中的,可以为URN,也可以为URI,还可以为其它信息。在查询到接收方的路由信息之后,位置路由设备102可以根据路由信息将通信请求发往接收方,或者将接收方的路由信息发送给呼叫会话设备101,由呼叫会话设备101根据路由信息将通信请求发往接收方。
然而,当通信请求中不包括发起方的位置信息,或者包括的位置信息不可信时,位置路由设备可以与位置服务器进行信息交互,获取可信的发起方的位置信息,并提供给基于位置路由的系统。
目前,位置服务器具有查询位置信息的功能,但与呼叫会话设备和位置路由设备之间均没有标准的通信接口和信息交互流程,因此无法实现信息交互。
本发明为系统中的呼叫会话设备、位置路由设备与位置服务器之间的连接接口,分别设定了接口协议,从而实现三者之间的信息交互。
图1b为本发明中基于位置路由的系统的示例性扩展结构图。如图1b所示,扩展的基于位置路由的系统包括:呼叫会话设备101、位置路由设备102和位置服务器103,呼叫会话设备101与位置路由设备102之间通过接口11相连,位置路由设备102与位置服务器103之间通过接口12相连,呼叫会话设备101与位置服务器103之间通过接口13相连。
其中,接口11的接口协议可以是SIP、直径协议、HTTP等协议;接口12和接口13的接口协议可以是多层协议(Multi-Layered-Perceptron,MLP)或分组层协议(Packet Layer Protocol,PLP)等协议。
呼叫会话设备101,用于接收来自发起方的通信请求;在通信请求中不包括发起方位置信息或者位置信息不可信时,可直接向位置服务器103请求发起方的位置信息,并将包括来自位置服务器103的位置信息的,获取路由信息的请求一起发送到位置路由设备102。
位置路由设备102,用于根据发起方的位置信息和接收方标识,查询接收方的路由信息;在来自呼叫会话设备101的获取路由信息的请求中不包括发起方的位置信息时,向位置服务器103请求获取位置信息;根据接收方的路由信息,发起将呼叫向接收方的路由。
具体来说,位置路由设备102包括:查询模块和路由模块,其中,查询模块,用于接收来自外部的路由信息请求和接收方标识;从外部获取发起方的位置信息,并根据获取位置信息和接收方标识,查询接收方的路由信息,将路由信息发送给路由模块;路由模块,用于根据接收方的路由信息,发起将呼叫向接收方的路由。
其中,接收方标识是包括在通信请求中的,可以为URN,也可以为URI,还可以为其它信息。
位置服务器103,用于根据请求,将发起方的位置信息,发送到呼叫会话设备101或者位置路由设备102的。
其中,在获取位置信息的请求中,包括发起方标识,发起方标识是由发起方通过通信请求上报的,位置服务器103根据发起方标识来查询发起方的位置信息;发起方标识可以为发起方的终端标识,也可以为发起方的用户标识。
当发起方标识为终端标识时,位置服务器103可以查询得到一个可定位的位置信息,可定位的位置信息是指位置路由设备可以根据该信息获得唯一的路由信息,当位置信息为不可定位的位置信息时,位置路由设备102通过呼叫会话设备101重新获取可定位的位置信息,例如请求呼叫会话设备101从发起方获取等;位置路由设备102可以根据可定位的位置信息获得唯一的路由信息;当发起方标识为用户标识时,可以查询得到一个或一个以上的可定位的位置信息,这是因为多个终端可以共用一个用户标识,所以可能会得到一个以上的可定位的位置信息。
上述查询得到的位置信息中还可以进一步包括定位辅助信息,用于当有一个以上的可定位的位置信息为时,可以根据所述辅助信息从一个以上位置信息中选择一个,作为发起方的可定位的位置信息。定位辅助信息可以是发起方的终端标识和/或发起方的能力信息。
当位置路由设备102从位置服务器103获得一个以上的可定位的位置信息时,位置路由设备102根据位置信息可以获得一个或一个以上的路由信息。此时,当位置路由设备102得到一个以上的路由信息时,位置路由设备102向呼叫会话设备101返回错误消息;或者选择其中的一个路由信息作为接收方的路由信息;再或者向呼叫会话设备101返回响应,要求上报一个位置信息;也可以将所有的路由信息返回给呼叫会话设备101,由呼叫会话设备101进行进一步处理,如选择一个路由信息等。
在获得一个以上的可定位的位置信息时,位置路由设备102也可以将所有的位置信息返回给呼叫会话设备101,由呼叫会话设备101选择一个位置信息,再发送给位置路由设备102,或者要求发起方上报一个位置信息,也可以采用其他方式确定一个位置信息并上报给位置路由设备102,位置路由设备再根据上报的唯一的可定位的位置信息,查询接收方的路由信息。
当呼叫会话设备101从位置服务器103获得一个以上的可定位的位置信息时,呼叫会话设备101向发起方返回响应,要求上报一个位置信息;或者将所有的位置信息返回给发起方,由后者进行相应处理,如选择一个位置信息;再或者向发起方返回错误消息;还可以选择一个位置信息发送给位置路由设备102;也可以将所有的位置信息发送给位置路由设备102,由后者进行相应处理,如选择一个位置信息。
上述扩展的基于位置路由的系统为一个较佳方案,也可以通过其他设备实现扩展。
呼叫会话设备可以是E-CSCF、服务-呼叫会话控制功能单元(Serving-Call Session Control Function,S-CSCF)、查询-呼叫会话控制功能单元(Inquiry-Call Session Control Function,I-CSCF)、代理-呼叫会话控制功能单元(Proxy-Call Session Control Function,P-CSCF)、接入网关控制功能(Access Gateway Control Function,AGCF)、边界网关控制功能(BreakoutGateway Control Function,BGCF)、互连边界控制功能(Interconnection BorderControl Function,IBCF)、应用服务器(Application Sever,AS)或媒体网关控制功能(Media Gateway Control Function MGCF)等功能单元等功能单元;位置路由设备可以是包括路由终点功能单元(Routing DeterminationFunction,RDF)的LRF等功能单元;位置服务器103可以是网关移动位置中心(Gateway Mobile Location Centre,GMLC)等功能单元。
基于上述基于位置路由的系统,可以对发起方发起的呼叫进行位置路由。
图2为本发明中位置路由方法的示例性流程图。如图2所示,基于本发明基于位置路由的系统的位置路由方法,包括以下步骤:
步骤201,呼叫会话设备根据发起方的通信请求,向位置路由设备发送获取接收方路由信息的请求,所述请求中包含所述发起方标识和/或所述发起方位置信息;
步骤202,位置路由设备接收来自呼叫会话设备的请求,获取接收方的路由信息。
其中,在上述流程之后,位置路由设备可以通过重定向或者代理等不同的方式,发起将呼叫向接收方的路由。
本发明中,发起方标识包括:用户标识和/或终端标识;终端标识至少为以下一种:设备标识、IP地址、GRUU;获取路由信息的请求是SIP消息、Diameter消息、HTTP消息;通信请求可以是呼叫业务、消息业务。
较佳地,本发明的技术方案,可以应用于IMS系统中。另外,本发明的技术方案也适用于其他在对呼叫进行路由时,无法获取接收方路由信息的系统中。
下面,结合具体实施例,以发起方为发起呼叫业务的呼叫方、通信请求为呼叫请求、接收方为被叫方为例,对本发明的基于位置路由的系统、位置路由设备和位置路由方法进行详细说明。
实施例一
图3为本发明实施例一中基于位置路由的系统的结构图。如图3所示,本发明的基于位置路由的系统包括:呼叫会话设备、位置路由设备302、位置服务器303,呼叫会话设备又包括:呼叫会话设备A 301和呼叫会话设备B 304。用户通过呼叫方发送基于初始会话协议(Session Initiated Protocol,SIP)的INVITE消息,发起呼叫请求,基于位置路由的系统将呼叫路由到被叫方,呼叫方和被叫方分别归属于呼叫会话设备A 301和呼叫会话设备B304。
呼叫会话设备A 301,用于接收来自呼叫方INVITE消息,即呼叫请求;在无法从INVITE消息中获取被叫方路由信息时,将INVITE消息中的呼叫方标识、被叫方的URN,携带于基于Diameter协议的路由信息请求中,发送到位置路由设备302,请求获取被叫方的路由信息;接收来自位置路由设备302的包括路由信息的路由信息响应,将INVITE消息中的URN,替换为响应中的路由信息,重新生成INVITE消息,并根据INVITE消息中的路由信息,将INVITE消息路由到呼叫会话设备B 304。
位置路由设备302,用于接收来自呼叫会话设备A 301的路由信息请求,该请求中包括呼叫方标识以及被叫方的URN;在判断出请求中不包括呼叫方的位置信息之后,向位置服务器303发送包括呼叫方标识的位置信息请求,请求获取呼叫方的位置信息;接收来自位置服务器303的位置信息,并根据被叫方的URN和接收到的位置信息,从内部存储的路由信息列表中查询被叫方的路由信息;在根据预先设定,确定系统以重定向方式进行位置路由之后,将查询到的路由信息携带于基于Diameter协议的路由信息响应中,发送给呼叫会话设备A 301。
位置服务器303,用于接收来自位置路由设备302的包括呼叫方标识的位置信息请求;根据请求中的呼叫方标识,从内部存储的位置信息列表中查询呼叫方的位置信息;将查询到的位置信息,发送到位置路由设备302。
呼叫会话设备B 304,用于根据INVITE消息中的路由信息,将来自呼叫会话设备A 301的INVITE消息路由到被叫方。
实际应用中,呼叫会话设备A 301也可以在判断出来自呼叫方的INVITE消息中不包括呼叫方的位置信息之后,将INVITE消息中的呼叫方标识携带于位置信息请求中,发送到位置服务器303,请求获取呼叫方的位置信息;接收来自位置服务器303的位置信息,将INVITE消息中的呼叫方标识、接收到的位置信息和被叫方的URN,携带于基于Diameter协议的路由信息请求中,发送到位置路由设备302,请求获取被叫方的路由信息。
在这种情况下,位置路由设备302根据来自呼叫会话设备A 301的路由信息请求,并依据请求消息中的被叫方的URN和呼叫方的位置信息,查询被叫方的路由信息。
位置服务器303根据来自呼叫会话设备A 301的请求,并依据来自呼叫会话设备A 301的终端标识,查询呼叫方的位置信息;将查询到的位置信息,发送给呼叫会话设备A 301。
本实施例的基于位置路由的系统中,呼叫方的位置信息可以由位置路由设备302从位置服务器303请求获取,也可以由呼叫会话设备A 301从位置服务器303请求获取;位置服务器303依据呼叫方上报的作为呼叫方标识的终端标识来查询呼叫方的位置信息,得到唯一的位置信息,当位置服务器303依据呼叫方上报的用户标识进行查询时,则可得到一个或多个位置信息;位置服务器303从内部存储的位置信息列表中查询呼叫方的位置信息,也可以从系统内的其他设备中查询呼叫方的位置信息;在位置路由设备302或者呼叫会话设备A 301接收到的位置信息为多个时,可以根据位置服务器303返回的用户的终端标识和/或呼叫方能力信息等定位辅助信息,从多个位置信息中选择一个,作为呼叫方的位置信息;定位辅助信息是包括在位置信息内的;当来自位置服务器303的位置信息为多个时,且位置服务器303返回的位置信息中不包括用户的终端标识和/或呼叫方能力信息等定位辅助信息,则位置路由设备302根据多个位置信息查询被叫方的路由信息,得到多个路由信息;当位置路由设备302查询到多个路由信息时,则向呼叫会话设备A 301返回错误消息,或者任选其中的一个路由信息作为被叫方的路由信息,再或者向呼叫会话设备A 301返回响应,要求上报唯一的、可信的位置信息,并重新查询被叫方的路由信息。
实际应用中,来自呼叫方的INVITE消息中,包括呼叫方的位置信息,当该位置信息可信时,位置路由设备302和呼叫会话设备A 301均不需要从位置服务器获取位置信息;当该位置信息不可信时,位置路由设备302或者呼叫会话设备A 301仍需从位置服务器获取呼叫方的位置信息。
下面,对基于上述基于位置路由的系统的位置路由方法进行详细说明。
图4为本发明实施例一中位置路由方法的流程图。如图4所示,本发明的位置路由方法包括以下步骤:
步骤401,呼叫方向呼叫会话设备A发送基于SIP的INVITE消息,发起向被叫方的呼叫请求。
本步骤中,发起的呼叫请求可以为紧急呼叫请求,也可以为一般通话的呼叫请求等。
步骤402,呼叫会话设备A根据呼叫请求,将INVITE消息中的呼叫方标识以及被叫方的URN,携带于基于Diameter协议的路由信息请求中,向位置路由设备发送,请求从位置路由设备获取被叫方的路由信息。
其中,基于Diameter协议的路由信息请求中,携带了下列扩展属性值对(Attribute-Value-Pairs,AVP):表示被叫方URN的Callee-URN AVP、表示呼叫方位置信息的Caller-Location AVP、表示呼叫方终端标识或用户标识的Caller-id AVP、表示路由信息的Callee-URI AVP,此时的Callee-URIAVP为默认路由信息,本实施例中,呼叫请求中不包括呼叫方位置信息,因此,此时的Caller-Location AVP为空。
本步骤中,由于INVITE消息中不包括呼叫方的位置信息,因此,呼叫会话设备A向位置路由设备发送的请求中也不包括呼叫方的位置信息;呼叫会话设备A根据呼叫方的呼叫请求,直接向位置路由设备发送了路由信息请求,也可以在接收到呼叫之后,判断是否能够从呼叫请求中获取被叫方的路由信息,如果能,则直接根据获取的路由信息,将呼叫路由到被叫方,如果不能,则执行下述步骤。
步骤403,位置路由设备接收到来自呼叫会话设备A的,包括呼叫方标识和被叫方URN的路由信息请求,判断出请求中不包括呼叫方的位置信息,因此,向位置服务器发送包括呼叫方标识的,基于MLP协议的位置信息请求,请求从位置服务器获取呼叫方的位置信息。
步骤404,位置服务器接收来自位置路由设备的,包括呼叫方终端标识的请求,根据终端标识从内部预先存储的位置信息列表中查询呼叫方的位置信息,将查询到的位置信息携带于基于Diameter协议的路由响应中,发送给位置路由设备。
在上述步骤403~步骤404中,位置信息请求为基于MLP协议的消息,也可以为基于PLP协议的消息;呼叫方标识为终端标识,位置服务器根据作为呼叫方标识的终端标识查询到唯一的位置信息,当呼叫方上报的呼叫方标识为用户标识时,位置服务器根据用户标识查询位置信息,则可得到一个或多个位置信息。
步骤405,位置路由设备根据来自位置服务器的唯一的位置信息以及被叫方的URN,查询被叫方的路由信息,如果查询不到正确的路由信息,则以Callee-URI AVP中的默认信息作为路由信息。
本步骤中,由于接收到的呼叫方的位置信息为唯一的位置信息,因此,查询到的路由信息也为唯一的路由信息。
当来自位置服务器的位置信息为多个时,位置路由设备根据位置服务器返回的用户的终端标识和/或呼叫方能力信息等定位辅助信息,从多个位置信息中选择一个,作为呼叫方的位置信息;定位辅助信息是包括在位置信息内的;当来自位置服务器的位置信息为多个时,且位置服务器返回的位置信息中不包括用户的终端标识和/或呼叫方能力信息等定位辅助信息,则位置路由设备根据多个位置信息查询被叫方的路由信息,得到多个路由信息;当位置路由设备查询到多个路由信息时,可以任选其中的一个路由信息作为被叫方的路由信息,也可以向呼叫会话设备A返回错误消息,还可以向呼叫会话设备A返回响应,要求呼叫会话设备A上报唯一的、可信的位置信息重新查询路由信息。
步骤406,位置路由设备确定以重定向的方式,发起将呼叫向被叫方的路由,因此,将查询到的路由信息发送给呼叫会话设备A。
本步骤中,路由信息是携带于基于Diameter协议的路由信息响应中,发送到呼叫会话设备A的,包括:Callee-URN AVP、Caller-Location AVP、Caller-id AVP、Callee-URI AVP,此时的Callee-URI AVP为确定的正确路由信息,此时的Caller-Location AVP为可信的呼叫方位置信息。
步骤407,呼叫会话设备A将INVITE消息中的URN,替换为由路由信息构成的URI,重新生成INVITE消息,根据INVITE消息中的路由信息,将INVITE消息路由到呼叫会话设备B。
步骤408,呼叫会话设备B根据INVITE消息中的路由信息,将INVITE消息路由到被叫方。
步骤409,呼叫方和被叫方之间成功建立呼叫连接。
本实施例的位置路由方法中,也可以在步骤402,由呼叫会话设备A从位置服务器请求获取呼叫方的位置信息,并将获取到的位置信息、被叫方的URN与基于Diameter协议的路由信息请求一起发送到位置路由,这样,本流程就不执行步骤403~步骤404,而是在步骤402之后,直接执行步骤405,位置路由设备根据被叫方的URN和来自呼叫会话设备A的位置信息,查询被叫方的路由信息。
呼叫会话设备A和位置路由设备之间的路由信息请求和路由信息响应,均为基于Diameter协议的信息,也可以为基于SIP、HTTP等协议的请求消息。通过Diameter协议进行信息交互,主要是依据Diameter协议的AVP来实现的,Callee-URN AVP的具体定义如下:
Callee-URN::=<AVP Header:xxx>
{Callee-URN-Id}
其中:Callee-URN-Id为被叫的URN,类型为DiamIdent。
Caller-id AVP定义如下:
Caller-id::=<AVP Header:xxx>
[Equipment-Id]
[IP-Addr]
[GRUU-Id]
[Sip-URI-Id]
[Tel-URI-Id]
其中:Equipment-Id为被叫方的设备标识,类型为UTF8String;
IP-Addr为被叫方的IP地址,类型为Address;
GRUU-Id为被叫方的IP地址,类型为UTF8String;
Sip-URI-Id为被叫方的Sip-URI标识,类型为DiamURI;
Tel-URI-Id为被叫方的TEL-URI标识,类型为DiamURI;
被叫方标识可以为上述五个参数中的任意一个。
Caller-Location AVP定义如下:
Caller-Location AVP::=<AVP Header:xxx>
[Caller-Location-Addr]
[Caller-Location-Geography]
其中:Caller-Location-Addr为呼叫方的位置信息,包括国家、城市、区等,类型为UTF8String;
Caller-Location-Geography为呼叫方的位置信息,包括经度、纬度等地理位置,类型为OctetString;
呼叫方的位置信息可以为上述两个参数中的任意一个。
Caller-Location AVP定义如下:
Callee-URI AVP::=<AVP Header:xxx>
[Callee-URI-Id]
其中:Callee-URI-Id为被叫方的路由信息Sip-URI标识,类型为DiamURI;
上述对Diameter协议的扩展也可以通过其他形式来实现。
上述流程中,如果呼叫方发送的INVITE消息中,包括呼叫方的位置信息,则在步骤403,位置路由设备将通过与位置服务器进行信息交互,判断该位置信息是否可信,如果可信,则不向位置服务器请求获取位置信息,直接执行步骤405,位置路由设备依据该位置信息和呼叫方的URN,查询被叫方的路由信息;如果呼叫方发送的INVITE消息中,包括呼叫方的位置信息,则在步骤403,位置路由设备将通过与位置服务器进行信息交互,判断该位置信息是否可信,如果不可信,仍将从位置服务器获取可信的位置信息,当无法从位置服务器获取可信的位置信息时,位置路由设备则依据不可信的位置信息查询被叫方的路由信息。
本实施例中,位置信息均为可定位的位置信息,当位置信息为不可定位的位置信息时,位置路由设备通过呼叫会话设备重新获取可定位的位置信息,例如请求呼叫会话设备从发起方获取等;各种标识也可以不携带于请求消息中,而是在请求消息之前或者之后发送。
本实施例中,呼叫会话设备也可以不分为呼叫会话设备A和呼叫会话设备B,而是由一个呼叫会话设备实现呼叫会话设备A和呼叫会话设备B的功能;呼叫方标识为呼叫方的终端标识,也可以为呼叫方的用户标识;被叫方标识为URN,也可以为其它信息;位置路由采用重定向方式,也可以采用代理方式;呼叫方和被叫方归属于不同的呼叫会话设备,也可以归属于同一个呼叫会话设备;呼叫会话设备可以是E-CSCF、S-CSCF、I-CSCF、P-CSCF、AGCF、BGCF、IBCF、AS或MGCF等功能单元;位置路由设备可以是LRF等功能单元;位置服务器可以是GMLC等功能单元。
本实施例中的基于位置路由的系统、位置路由设备以及位置路由方法,也适用于除呼叫业务之外的其他业务中,例如消息业务等。
实施例二
实施例一中的基于位置路由的系统,采用重定向方式将呼叫方的呼叫路由到被叫方,也可以采用代理方式,将呼叫方的呼叫路由到被叫方,这就构成了本发明的实施例二。
图5为本发明实施例二中基于位置路由的系统的结构图。如图5所示,本发明的基于位置路由的系统包括:呼叫会话设备、位置路由设备502、位置服务器503,呼叫会话设备又包括:呼叫会话设备A 501和呼叫会话设备B 504。用户通过呼叫方发送基于SIP的INVITE消息,发起呼叫,基于位置路由的系统将呼叫路由到被叫方,呼叫方和被叫方分别归属于呼叫会话设备A 501和呼叫会话设备B 504。
呼叫会话设备A 501,用于接收来自呼叫方INVITE消息,即用户发起的呼叫,INVITE消息中包括呼叫方标识和被叫方标识;在无法从INVITE消息中获取被叫方路由信息时,将INVITE消息发送到位置路由设备502,请求查询被叫方的路由信息。
位置路由设备502,用于接收来自呼叫会话设备A 501的INVITE消息;在判断出INVITE消息中不包括呼叫方的位置信息之后,向位置服务器503发送包括呼叫方标识的,基于PLP协议的位置信息请求,请求获取呼叫方的位置信息;接收来自位置服务器503的位置信息,并根据INVITE消息中被叫方的URN和接收到的位置信息,从内部存储的路由信息列表中查询被叫方的路由信息;在确定系统以代理方式进行位置路由之后,将INVITE消息中的URN替换为查询到的路由信息,重新生成INVITE消息,并根据被叫方的路由信息,将INVITE消息路由到呼叫会话设备B 504。
位置服务器503,用于接收来自位置路由设备502的包括呼叫方标识的位置信息请求;根据请求中的呼叫方标识,从内部存储的位置信息列表中查询呼叫方的位置信息;将查询到的位置信息,发送到位置路由设备502。
呼叫会话设备B 504,用于根据INVITE消息中的被叫方路由信息,将来自位置路由设备502的INVITE消息,路由到被叫方。
实际应用中,呼叫会话设备A 501也可以在判断出来自呼叫方的INVITE消息中不包括呼叫方的位置信息之后,将INVITE消息中的呼叫方标识和路由信息请求一起发送到位置服务器503,请求获取呼叫方的位置信息;接收来自位置服务器503的位置信息,将INVITE消息和从位置服务器503获取的位置信息一起发送到位置路由设备502,请求查询被叫方的路由信息。
在这种情况下,位置路由设备502根据来自呼叫会话设备A 501的INVITE消息,并依据INVITE消息中的被叫方的URN和来自呼叫会话设备A 501的位置信息,查询被叫方的路由信息。
位置服务器503根据来自呼叫会话设备A 501的请求,并依据来自呼叫会话设备A 501的呼叫方标识,查询呼叫方的位置信息;将查询到的位置信息,发送给呼叫会话设备A 501。
本实施例的基于位置路由的系统中,呼叫方的位置信息可以由位置路由设备502从位置服务器503请求获取,也可以由呼叫会话设备A 501从位置服务器503请求获取;位置服务器503依据呼叫方上报的作为呼叫方标识的终端标识来查询呼叫方的位置信息,得到唯一的位置信息,当位置服务器503依据呼叫方上报的用户标识进行查询时,则可得到一个或多个位置信息;位置服务器503从内部存储的位置信息列表中查询呼叫方的位置信息,也可以从系统内的其他设备中查询呼叫方的位置信息;在位置路由设备502或者呼叫会话设备A 501接收到的位置信息为多个时,可以根据位置服务器503返回的用户的终端标识和/或呼叫方能力信息等定位辅助信息,从多个位置信息中选择一个,作为呼叫方的位置信息;定位辅助信息是包括在位置信息内的;当来自位置服务器503的位置信息为多个时,且位置服务器503返回的位置信息中不包括用户的终端标识和/或呼叫方能力信息等定位辅助信息,则位置路由设备502根据多个位置信息查询被叫方的路由信息,得到多个路由信息;当位置路由设备502查询到多个路由信息时,则向呼叫会话设备A 501返回错误消息,或者任选其中的一个路由信息作为被叫方的路由信息,再或者向呼叫会话设备A 501返回响应,要求上报唯一的、可信的位置信息,并重新查询被叫方的路由信息。
实际应用中,来自呼叫方的INVITE消息中,包括呼叫方的位置信息,当该位置信息可信时,位置路由设备502和呼叫会话设备A 501均不需要从位置服务器获取位置信息;当该位置信息不可信时,位置路由设备502或者呼叫会话设备A 501仍需从位置服务器获取呼叫方的位置信息。
下面,对基于上述基于位置路由的系统的位置路由方法进行详细说明。
图6为本发明实施例二中位置路由方法的流程图。如图6所示,本发明的位置路由方法包括以下步骤:
步骤601,呼叫方向呼叫会话设备A发送基于SIP的INVITE消息,向呼叫会话设备A发送INVITE消息,发起向被叫方的呼叫。
本步骤中,发起的业务呼叫可以为紧急业务呼叫,也可以为一般通话业务的呼叫等。
步骤602,呼叫会话设备A根据呼叫方的呼叫请求,将INVITE消息中的呼叫方标识以及被叫方的URN携带于基于SIP协议的路由信息请求中,向位置路由设备发送,请求从位置路由设备获取被叫方的路由信息。
本步骤中,由于来自呼叫方的INVITE消息中不包括呼叫方的位置信息,因此,呼叫会话设备A向位置路由设备发送的请求中也不包括呼叫方的位置信息;路由信息请求为基于SIP的请求消息,也可以为基于Diameter协议、HTTP等协议的请求消息;呼叫会话设备A根据呼叫请求,直接向位置路由设备发送了路由信息请求,也可以在接收到呼叫之后,判断是否能够从呼叫请求中获取被叫方的路由信息,如果能,则直接根据获取的路由信息,将呼叫路由到被叫方,如果不能,则执行下述步骤。
步骤603,位置路由设备接收到来自呼叫会话设备A的,包括呼叫方标识的路由信息请求,判断出请求中不包括呼叫方的位置信息,因此,向位置服务器发送包括呼叫方标识的,基于PLP协议的位置信息请求,请求从位置服务器获取呼叫方的位置信息。
步骤604,位置服务器接收来自位置路由设备的,包括呼叫方标识的请求,根据呼叫方标识从内部预先存储的位置信息列表中查询呼叫方的位置信息,将查询到的位置信息发送给位置路由设备。
在上述步骤603~步骤604中,位置信息请求为基于PLP协议的消息,也可以为基于MLP协议的消息;呼叫方标识为终端标识,位置服务器根据作为呼叫方标识的终端标识查询到唯一的位置信息,当呼叫方上报的呼叫方标识为用户标识查询时,位置服务器根据用户标识查询位置信息,则可得到一个或多个位置信息。
步骤605,位置路由设备根据来自位置服务器的唯一的位置信息以及被叫方的URN,查询被叫方的路由信息。
本步骤中,由于接收到的呼叫方的位置信息为唯一的位置信息,因此,查询到的路由信息也为唯一的路由信息。
当来自位置服务器的位置信息为多个时,位置路由设备根据位置服务器返回的用户的终端标识和/或呼叫方能力信息等定位辅助信息,从多个位置信息中选择一个,作为呼叫方的位置信息;定位辅助信息是包括在位置信息内的;当来自位置服务器的位置信息为多个时,且位置服务器返回的位置信息中不包括用户的终端标识和/或呼叫方能力信息等定位辅助信息,则位置路由设备根据多个位置信息查询被叫方的路由信息,得到多个路由信息;当位置路由设备查询到多个路由信息时,可以任选其中的一个路由信息作为被叫方的路由信息,也可以向呼叫会话设备A返回错误消息,还可以向呼叫会话设备A返回响应,要求呼叫会话设备A上报唯一的、可信的位置信息重新查询路由信息。
步骤606,位置路由设备确定以代理的方式,发起将呼叫向被叫方的路由,位置路由设备将INVITE消息中的URN,替换为由路由信息构成的URI,重新生成INVITE消息,根据INVITE消息中的路由信息,将INVITE消息路由到呼叫会话设备B。
步骤607,呼叫会话设备B根据INVITE消息中的路由信息,将INVITE消息路由到被叫方。
步骤608,呼叫方和被叫方之间成功建立呼叫连接。
本实施例的位置路由方法中,也可以在步骤602,由呼叫会话设备A从位置服务器请求获取呼叫方的位置信息,并将获取到的位置信息与基于SIP协议的INVITE消息一起发送到位置路由设备,这样,本流程就不执行步骤603~步骤604,而是在步骤602之后,直接执行步骤605,位置路由设备根据被叫方的URN和来自呼叫会话设备A的位置信息,查询被叫方的路由信息。
上述流程中,如果呼叫方发送的INVITE消息中,包括呼叫方的位置信息,则在步骤603,位置路由设备将通过与位置服务器进行信息交互,判断该位置信息是否可信,如果可信,则不向位置服务器请求获取位置信息,直接执行步骤605,位置路由设备依据该位置信息和呼叫方的URN,查询被叫方的路由信息;如果呼叫方发送的INVITE消息中,包括呼叫方的位置信息,则在步骤603,位置路由设备将通过与位置服务器进行信息交互,判断该位置信息是否可信,如果不可信,仍将从位置服务器获取可信的位置信息,当无法从位置服务器获取可信的位置信息时,位置路由设备则依据不可信的位置信息查询被叫方的路由信息。
本实施例中,位置信息均为可定位的位置信息,当位置信息为不可定位的位置信息时,位置路由设备通过呼叫会话设备重新获取可定位的位置信息,例如请求呼叫会话设备从发起方获取等;各种标识也可以不携带于请求消息中,而是在请求消息之前或者之后发送。
本实施例中,呼叫会话设备也可以不分为呼叫会话设备A和呼叫会话设备B,而是由一个呼叫会话设备实现呼叫会话设备A和呼叫会话设备B的功能;呼叫方标识为呼叫方的终端标识,也可以为呼叫方的用户标识;被叫方标识为URN,也可以为其它信息;位置路由采用代理方式,也可以采用重定向方式;呼叫方和被叫方归属于不同的呼叫会话设备,也可以归属于同一个呼叫会话设备;呼叫会话设备可以是E-CSCF、S-CSCF、I-CSCF、P-CSCF、AGCF、BGCF、IBCF、AS或MGCF等功能单元;位置路由设备可以是LRF等功能单元;位置服务器可以是GMLC等功能单元。
本实施例中的基于位置路由的系统、位置路由设备以及位置路由方法,也适用于除呼叫业务之外的其他业务中,例如消息业务等。
实施例三
实施例一中,呼叫方和被叫方分别归属于不同的呼叫会话设备,而呼叫方和被叫方也可以归属于同一个呼叫会话设备,这就构成了本发明的实施例三。
图7为本发明实施例三中基于位置路由的系统的结构图。如图7所示,本发明的基于位置路由的系统包括:呼叫会话设备701、位置路由设备702和位置服务器703。用户通过呼叫方发送基于SIP的INVITE消息,发起呼叫,基于位置路由的系统将呼叫路由到被叫方,呼叫方和被叫方都归属于呼叫会话设备701。
呼叫会话设备701,用于接收来自呼叫方INVITE消息,即呼叫请求;在无法从INVITE消息中获取被叫方路由信息时,将INVITE消息中的呼叫方标识、被叫方的URN,携带于基于Diameter协议的路由信息请求中,发送到位置路由设备702,请求获取被叫方的路由信息;接收来自位置路由设备702的包括路由信息的路由信息响应,将INVITE消息中的URN替换为响应中的路由信息,重新生成INVITE消息,并根据INVITE消息中的路由信息,将INVITE消息路由到被叫方。
位置路由设备702,用于接收来自呼叫会话设备701的路由信息请求,该请求中包括呼叫方标识以及被叫方的URN;在判断出请求中不包括呼叫方的位置信息之后,向位置服务器703发送包括呼叫方标识的位置信息请求,请求获取呼叫方的位置信息;接收来自位置服务器703的位置信息,并根据被叫方的URN和接收到的位置信息,从内部存储的路由信息列表中查询被叫方的路由信息;在根据预先设定,确定系统以重定向方式进行位置路由之后,将查询到的路由信息携带于基于Diameter协议的路由信息响应中,发送给呼叫会话设备701。
位置服务器703,用于接收来自位置路由设备702的包括呼叫方标识的位置信息请求;根据请求中的呼叫方标识从内部存储的位置信息列表中查询呼叫方的位置信息;将查询到的位置信息,发送给位置路由设备702。
实际应用中,呼叫会话设备701也可以在判断出来自呼叫方的INVITE消息中不包括呼叫方的位置信息之后,将INVITE消息中的呼叫方标识携带于位置信息请求中,发送到位置服务器703,请求获取呼叫方的位置信息;接收来自位置服务器703的位置信息,将INVITE消息中的呼叫方标识、接收到的位置信息和被叫方的URN,携带于基于Diameter协议的路由信息请求中,发送到位置路由设备702,请求获取被叫方的路由信息。
在这种情况下,位置路由设备702根据来自呼叫会话设备701的请求,并依据请求消息中的被叫方的URN和来自呼叫会话设备701的位置信息,查询被叫方的路由信息。
位置服务器703根据来自呼叫会话设备701的请求,并依据来自呼叫会话设备701的呼叫方标识,查询呼叫方的位置信息;将查询到的位置信息,发送给呼叫会话设备701。
本实施例的基于位置路由的系统中,呼叫方的位置信息可以由位置路由设备702从位置服务器703请求获取,也可以由呼叫会话设备701从位置服务器703请求获取;位置服务器703依据呼叫方上报的作为呼叫方标识的终端标识来查询呼叫方的位置信息,得到唯一的位置信息,当位置服务器703依据呼叫方上报的用户标识进行查询时,则可得到一个或多个位置信息;位置服务器303从内部存储的位置信息列表中查询呼叫方的位置信息,也可以从系统内的其他设备中查询呼叫方的位置信息;在位置路由设备702或者呼叫会话设备701接收到的位置信息为多个时,可以根据位置服务器703返回的用户的终端标识和/或呼叫方能力信息等定位辅助信息,从多个位置信息中选择一个,作为呼叫方的位置信息;定位辅助信息是包括在位置信息内的;当来自位置服务器703的位置信息为多个时,且位置服务器703返回的位置信息中不包括用户的终端标识和/或呼叫方能力信息等定位辅助信息,则位置路由设备702根据多个位置信息查询被叫方的路由信息,得到多个路由信息;当位置路由设备702查询到多个路由信息时,则向呼叫会话设备701返回错误消息,或者任选其中的一个路由信息作为被叫方的路由信息,再或者向呼叫会话设备701返回响应,要求上报唯一的、可信的位置信息,并重新查询被叫方的路由信息。
实际应用中,来自呼叫方的INVITE消息中,包括呼叫方的位置信息,当该位置信息可信时,位置路由设备702和呼叫会话设备701均不需要从位置服务器获取位置信息;当该位置信息不可信时,位置路由设备702或者呼叫会话设备701仍需从位置服务器获取呼叫方的位置信息。
下面,对基于上述基于位置路由的系统的位置路由方法进行详细说明。
图8为本发明实施例三中位置路由方法的流程图。如图8所示,本发明的位置路由方法包括以下步骤:
步骤801~步骤802,呼叫方向呼叫会话设备发送基于SIP的INVITE消息,发起向被叫方的呼叫请求;呼叫会话设备根据呼叫请求,将INVITE消息中的呼叫方标识以及被叫方的URN,携带于基于Diameter协议的路由信息请求中,向位置路由设备发送,请求从位置路由设备获取被叫方的路由信息。
上述步骤801~步骤802,与实施例一中步骤401~步骤402的操作过程相同。
步骤803~步骤805,位置路由设备接收到来自呼叫会话设备的,包括呼叫方标识和被叫方URN的路由信息请求,判断出请求中不包括呼叫方的位置信息之后,请求从位置服务器获取呼叫方的位置信息;位置服务器接收来自位置路由设备的包括呼叫方标识的位置信息请求,并根据呼叫方标识查询呼叫方的位置信息,将查询到的位置信息发送给位置路由设备;位置路由设备根据来自位置服务器的位置信息以及被叫方的URN,查询被叫方的路由信息。
上述步骤803~步骤805,与实施例一的位置路由方法中步骤403~步骤405的操作过程相同。
步骤806,位置路由设备确定以重定向的方式,发起将呼叫向被叫方的路由,因此,将查询到的路由信息携带于基于Diameter协议的路由信息响应中,发送给呼叫会话设备。
步骤807,呼叫会话设备将INVITE消息中的URN,替换为由路由信息构成的URI,重新生成INVITE消息,根据来自位置路由设备的路由信息,将INVITE消息路由到被叫方。
步骤808,呼叫方和被叫方之间成功建立呼叫连接。
上述流程中,呼叫会话设备和位置路由设备之间的路由信息请求和路由信息响应,均为基于Diameter协议的信息,也可以为基于SIP、HTTP等协议的请求消息。通过Diameter协议进行信息交互,主要是依据Diameter协议的AVP来实现的,与实施例一中Diameter协议的AVP相同,也可以通过其他形式来实现。
本实施例中,位置信息均为可定位的位置信息,当位置信息为不可定位的位置信息时,位置路由设备通过呼叫会话设备重新获取可定位的位置信息,例如请求呼叫会话设备从发起方获取等;各种标识也可以不携带于请求消息中,而是在请求消息之前或者之后发送;本实施例在位置路由设备查询到被叫方的路由信息之后,也可以采用代理方式,将呼叫路由到被叫方,在这种情况下,在步骤802,呼叫会话设备将发起呼叫的INVITE消息发送给位置路由设备,在步骤806,位置路由设备将INVITE消息中的URN,替换为由路由信息构成的URI,重新生成INVITE消息,将呼叫路由到被叫方,并结束本流程。
本实施例中,呼叫方标识为呼叫方的终端标识,也可以为呼叫方的用户标识;被叫方标识为URN,也可以为其它信息;位置路由采用重定向方式,也可以采用代理方式;呼叫方和被叫方归属于同一个呼叫会话设备,也可以归属于不同的呼叫会话设备;呼叫会话设备可以是E-CSCF、S-CSCF、I-CSCF、P-CSCF、AGCF、BGCF、IBCF、AS或MGCF等功能单元;位置路由设备可以是LRF等功能单元;位置服务器可以是GMLC等功能单元。
本实施例中的基于位置路由的系统、位置路由设备以及位置路由方法,也适用于除呼叫业务之外的其他业务中,例如消息业务等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (30)
1.一种基于位置路由的系统,其特征在于,包括:呼叫会话设备、位置路由设备和位置服务器,
所述呼叫会话设备,用于接收来自发起方的通信请求;
在通信请求中不包括发起方位置信息或者位置信息不可信时,向位置服务器发送包括发起方标识的位置信息请求,并将包括来自位置服务器的位置信息的,获取接收方路由信息的请求一起发送到位置路由设备;或者,
向位置路由设备发送包含所述发起方标识和/或所述发起方位置信息的获取接收方路由信息的请求;
所述位置路由设备,用于在来自呼叫会话设备的获取接收方路由信息的请求中不包括发起方的位置信息时,向位置服务器发送包括发起方标识的位置信息请求;
根据接收方标识和从呼叫会话设备或位置服务器获取的发起方的位置信息,查询获取接收方的路由信息;
位置服务器,用于根据包括发起方标识的位置信息请求,查询发起方的位置信息,将查询出的发起方的位置信息,发送到呼叫会话设备或者位置路由设备。
2.如权利要求1所述的系统,其特征在于,所述呼叫会话设备进一步用于接收来自发起方的,包括接收方标识和发起方位置信息的通信请求;向位置路由设备发送获取接收方路由信息的请求,获取接收方路由信息的请求中包括所述通信请求中的发起方位置信息和接收方标识;
所述位置路由设备进一步用于在判断出来自呼叫会话设备的发起方位置信息可信之后,根据发起方位置信息和接收方标识进行查询,获取接收方的路由信息。
3.如权利要求1所述的系统,其特征在于,所述呼叫会话设备用于向位置路由设备发送包含发起方标识、接收方标识和发起方位置信息的路由信息请求;
所述位置路由设备进一步用于在判断出来自呼叫会话设备的发起方位置信息不可信之后,向位置服务器发送包括发起方标识的位置信息请求;根据来自位置服务器的发起方位置信息和来自呼叫会话设备的接收方标识进行查询,获取接收方的路由信息。
4.如权利要求1所述的系统,其特征在于,
所述呼叫会话设备进一步用于接收来自发起方的,包括发起方标识和接收方标识的通信请求;向位置服务器发送,包括发起方标识的位置信息请求;向位置路由设备发送获取接收方路由信息的请求,所述获取接收方路由信息的请求中包括所述通信请求中的接收方标识以及来自位置服务器的发起方路由信息;
所述位置路由设备进一步用于根据来自呼叫会话设备的发起方位置信息和接收方标识进行查询,获取接收方的路由信息。
5.如权利要求1所述的系统,其特征在于,
所述呼叫会话设备进一步用于接收来自发起方的,包括发起方标识和接收方标识的通信请求;向位置路由设备发送获取接收方路由信息的请求,所述获取接收方路由信息的请求中包括发起方标识以及接收方标识;
所述位置路由设备进一步用于向位置服务器发送,包括发起方标识的位置信息请求;根据接收方标识和来自位置服务器的发起方位置信息进行查询,获取接收方的路由信息。
6.如权利要求2至5中任意一项所述的系统,其特征在于,所述呼叫会话设备进一步用于根据来自位置路由设备的路由信息,将包括所述路由信息的通信请求,路由到接收方;
所述位置路由设备进一步用于将查询到的接收方的路由信息,发送到呼叫会话设备。
7.如权利要求2至5中任意一项所述的系统,其特征在于,所述呼叫会话设备进一步用于将来自发起方的通信请求发送给位置路由设备;将来自位置路由设备的通信请求,路由到接收方;
所述位置路由设备进一步用于将查询到的接收方的路由信息携带于来自呼叫会话设备的通信请求中,将包括接收方路由信息的通信请求路由到呼叫会话设备。
8.一种位置路由设备,其特征在于,包括:查询模块和路由模块,其中,
查询模块,用于根据来自外部的获取路由信息请求,获取接收方的路由信息,将通过查询获取到的接收方的路由信息发送到路由模块;
路由模块,用于根据来自查询模块的路由信息,发起将通信请求向接收方的路由。
9.一种位置路由方法,其特征在于,包括以下步骤:
A、呼叫会话设备根据发起方的通信请求,
在通信请求中不包括发起方位置信息或者位置信息不可信时,向位置服务器发送包括发起方标识的位置信息请求,位置服务器根据包括发起方标识的位置信息请求,查询发起方的位置信息,将查询出的发起方的位置信息,发送到呼叫会话设备,呼叫会话设备将包括来自位置服务器的位置信息的,获取接收方路由信息的请求一起发送到位置路由设备;或者,
向位置路由设备发送包含所述发起方标识和/或所述发起方位置信息的获取接收方路由信息的请求;
B、位置路由设备接收来自呼叫会话设备的获取接收方路由信息的请求,
在获取接收方路由信息的请求中不包括发起方的位置信息时,向位置服务器发送包括发起方标识的位置信息请求,位置服务器根据包括发起方标识的位置信息请求,查询发起方的位置信息,将查询出的发起方的位置信息,发送到位置路由设备;
位置路由设备根据接收方标识和从呼叫会话设备或位置服务器获取的发起方的位置信息,查询获取接收方的路由信息。
10.如权利要求9所述的方法,其特征在于,所述发起方标识包括:用户标识和/或终端标识。
11.如权利要求10所述的方法,其特征在于,所述终端标识包括:设备标识、IP地址、GRUU中的任意一个或者多个的组合。
12.如权利要求9所述的方法,其特征在于,所述请求为:SIP消息请求、或者Diameter消息请求、或者HTTP消息请求。
13.如权利要求9所述的方法,其特征在于,所述步骤B之后,进一步包括:所述位置路由设备根据路由信息将通信请求发送到接收方,或者将路由信息返回给呼叫会话设备,由呼叫会话设备根据路由信息将通信请求发送到接收方。
14.如权利要求9所述的方法,其特征在于,所述通信请求为发起呼叫业务的呼叫请求,或者为消息业务请求。
15.如权利要求9所述的方法,其特征在于,所述发起方标识为终端标识,所述位置信息包括:一个可定位的位置信息。
16.如权利要求9所述的方法,其特征在于,所述发起方标识为用户标识,所述查询到的发起方位置信息包括:一个或一个以上的可定位的位置信息。
17.如权利要求16所述的方法,其特征在于,所述位置信息进一步包括定位辅助信息,当位置信息包括一个以上的可定位的位置信息时,位置路由设备根据所述辅助信息从一个以上位置信息中选择一个,作为发起方的位置信息。
18.如权利要求17所述的方法,其特征在于,所述定位辅助信息为发起方的终端标识、和/或发起方的能力信息。
19.如权利要求16所述的方法,其特征在于,当位置路由设备从位置服务器获得有一个以上的可定位的位置信息时,位置路由设备根据所述位置信息获得一个或一个以上的路由信息;或者将所有的位置信息返回给呼叫会话设备。
20.如权利要求19所述的方法,其特征在于,当查询到一个以上的路由信息时,位置路由设备向呼叫会话设备返回错误消息,或者选择其中的一个路由信息作为接收方的路由信息,再或者向呼叫会话设备返回响应,要求上报一个唯一的、可信的位置信息,并重新查询接收方的路由信息,或者将所有的路由信息返回给呼叫会话设备。
21.如权利要求16所述的方法,其特征在于,当呼叫会话设备从位置服务器获得一个以上的可定位的位置信息,所述呼叫会话设备向发起方返回响应,要求上报一个位置信息,或者将所有的位置信息返回给发起方,或者向发起方返回错误消息,或者选择一个位置信息发送给位置路由设备,或者将所有的位置信息发送给位置路由设备。
22.如权利要求9所述的方法,其特征在于,所述步骤A为:呼叫会话设备根据发起方的通信请求,向位置路由设备发送基于直径Diameter协议的路由信息请求,并在所述请求中,携带通信请求中的发起方位置信息、接收方标识和发起方标识。
23.如权利要求22所述的方法,其特征在于,所述步骤B为:位置路由设备判断出来自呼叫会话设备的发起方位置信息可信之后,根据来自呼叫会话设备的请求中携带的接收方标识和发起方位置信息进行查询,获取到接收方的路由信息。
24.如权利要求9所述的方法,其特征在于,所述步骤A为:呼叫会话设备根据发起方的通信请求,向位置路由设备发送基于直径Diameter协议的路由信息请求,并在所述请求中,携带通信请求中的接收方标识和发起方标识。
25.如权利要求9所述的方法,其特征在于,所述步骤B为:
B11、位置路由设备接收来自呼叫会话设备的基于Diameter协议的路由信息请求,在判断出所述请求中不包括发起方的位置信息或者请求中的位置信息不可信之后,将所述请求中的发起方标识携带于位置信息请求中,发送到位置服务器;
B12、位置服务器根据位置信息请求,依照发起方标识,查询发起方的位置信息,并将查询到的位置信息发送给位置路由设备;
B13、位置路由设备根据呼叫中包括的接收方标识和来自位置服务器的发起方位置信息进行查询,获取接收方的路由信息。
26.如权利要求25所述的方法,其特征在于,步骤B11所述基于Diameter协议的路由信息请求中包括:表示接收方URN的Callee-URN AVP、表示发起方位置信息的Caller-Location AVP、表示发起方标识的Caller-id AVP、表示路由信息的Callee-URI AVP;
所述判断出所述请求中不包括发起方的位置信息为:当判断所述Caller-Location AVP为空之后,判断出请求中不包括发起方的位置信息。
27.如权利要求9所述的方法,其特征在于,所述步骤A为:呼叫会话设备将来自发起方的基于初始会话协议SIP的通信请求,发送给位置路由设备,请求位置路由设备查询接收方的路由信息。
28.如权利要27所述的方法,其特征在于,所述步骤B为:
B21、位置路由设备接收来自呼叫会话设备的基于SIP的通信请求,在判断出请求中不包括发起方的位置信息或者位置信息不可信之后,将所述请求中的发起方标识携带于位置信息请求中,发送到位置服务器;
B22、位置服务器根据位置信息请求,依照发起方标识,查询发起方的位置信息,并将查询到的位置信息发送给位置路由设备;
B23、位置路由设备根据呼叫中包括的接收方标识,和来自位置服务器的发起方位置信息,查询接收方的路由信息。
29.如权利要求9所述的方法,其特征在于,所述步骤B之后进一步包括:
C1、位置路由设备将查询到的接收方的路由信息,携带于基于Diameter协议的路由信息响应中,发送到呼叫会话设备;
C2所述呼叫会话设备将来自位置路由设备的路由信息,携带于发起方发起的通信请求中,并将包括所述路由信息的通信请求路由到接收方。
30.如权利要求9所述的方法,其特征在于,所述步骤B之后进一步包括:位置路由设备将查询到的路由信息,携带于所述通信请求中,并将包括路由信息的通信请求,路由到接收方。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610127706XA CN101137209B (zh) | 2006-08-30 | 2006-08-30 | 基于位置路由的系统及位置路由设备和方法 |
PCT/CN2007/070511 WO2008028420A1 (fr) | 2006-08-30 | 2007-08-17 | Système fondé sur l'acheminement d'emplacement et procédé et dispositif d'acheminement d'emplacement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610127706XA CN101137209B (zh) | 2006-08-30 | 2006-08-30 | 基于位置路由的系统及位置路由设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101137209A CN101137209A (zh) | 2008-03-05 |
CN101137209B true CN101137209B (zh) | 2010-07-07 |
Family
ID=39156834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610127706XA Expired - Fee Related CN101137209B (zh) | 2006-08-30 | 2006-08-30 | 基于位置路由的系统及位置路由设备和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101137209B (zh) |
WO (1) | WO2008028420A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398103A (zh) * | 2001-04-03 | 2003-02-19 | 阿尔卡塔尔公司 | 使用会话启动协议消息中的信息的呼叫路由选择 |
CN1527559A (zh) * | 2003-03-04 | 2004-09-08 | 华为技术有限公司 | 一种向位置服务器查询路由的方法 |
CN1549540A (zh) * | 2003-05-22 | 2004-11-24 | 华为技术有限公司 | 一种软交换设备路由查找方法 |
CN1783922A (zh) * | 2004-12-03 | 2006-06-07 | LG-Nortel株式会社 | 用于提供移动通信系统的位置信息服务的系统和方法 |
EP1681894A2 (en) * | 2005-01-12 | 2006-07-19 | Intellprop Limited | Telecommunications services apparatus and method |
-
2006
- 2006-08-30 CN CN200610127706XA patent/CN101137209B/zh not_active Expired - Fee Related
-
2007
- 2007-08-17 WO PCT/CN2007/070511 patent/WO2008028420A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398103A (zh) * | 2001-04-03 | 2003-02-19 | 阿尔卡塔尔公司 | 使用会话启动协议消息中的信息的呼叫路由选择 |
CN1527559A (zh) * | 2003-03-04 | 2004-09-08 | 华为技术有限公司 | 一种向位置服务器查询路由的方法 |
CN1549540A (zh) * | 2003-05-22 | 2004-11-24 | 华为技术有限公司 | 一种软交换设备路由查找方法 |
CN1783922A (zh) * | 2004-12-03 | 2006-06-07 | LG-Nortel株式会社 | 用于提供移动通信系统的位置信息服务的系统和方法 |
EP1681894A2 (en) * | 2005-01-12 | 2006-07-19 | Intellprop Limited | Telecommunications services apparatus and method |
Non-Patent Citations (1)
Title |
---|
全文. |
Also Published As
Publication number | Publication date |
---|---|
WO2008028420A1 (fr) | 2008-03-13 |
CN101137209A (zh) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8260250B2 (en) | Method and apparatus for handling emergency calls in a packet switched radio access network | |
US7512090B2 (en) | System and method for routing calls in a wireless network using a single point of contact | |
KR100886548B1 (ko) | 인터넷 프로토콜 멀티미디어 서브시스템 네트워크에서단말의 성능 정보를 전달하기 위한 방법 및 시스템 | |
US8400947B2 (en) | Methods, systems, and computer program products for specifying a particular ENUM service type in a communications network that utilizes a plurality of different ENUM service types | |
US20040249887A1 (en) | Conversational bearer negotiation | |
US20090168758A1 (en) | Methods for facilitating communication between internet protocol multimedia subsystem (ims) devices and non-ims devices and between ims devices on different ims networks and related electronic devices and computer program products | |
US20150358795A1 (en) | Browser emergency call method, system, and mobile device in real-time communication | |
US20080052400A1 (en) | Communications Method and Apparatus, Database Information Retrieval Method and Apparatus | |
AU2008263878A1 (en) | Access domain selection in a communications network | |
US8228900B2 (en) | Message routing in the IP multimedia subsystem | |
WO2010099829A1 (en) | Capability query handling in a communication network | |
CN101123822B (zh) | Ip多媒体子系统集中业务中紧急呼叫业务的实现方法 | |
CN101242406A (zh) | 紧急业务呼叫的发送方法、装置及网络系统 | |
CN1856167B (zh) | 请求没有进行ims注册的用户进行注册的方法 | |
CN102612827B (zh) | 用于路由选择具有第一和第二网络提供的服务的呼叫的方法和节点 | |
KR100685976B1 (ko) | 세션 개시 프로토콜의 세션 연결시 링톤 전송 방법 | |
CN101137209B (zh) | 基于位置路由的系统及位置路由设备和方法 | |
US8620316B2 (en) | Method and apparatus in a telecommunications network | |
CN102143478A (zh) | 业务参数的处理方法及装置 | |
US20110161519A1 (en) | Method and apparatus for providing a transit service for an aggregate endpoint | |
CN1885859B (zh) | 支持合并的电路域呼叫和互联网多媒体子系统对话的方法 | |
WO2012062350A1 (en) | Indicating transfer in an ims network | |
KR20100061587A (ko) | 발신 단말 또는 착신 단말에 웹 기반 링 서비스를 제공하는장치 및 방법 | |
CN103828320A (zh) | 抑制用于转移用户的camel服务调用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100707 Termination date: 20120830 |