实施例一
本发明实施例一以网络结构中有核心网为例进行说明。
图1是根据本发明实施例一的业务实现方法的流程图,如图1所示,该方法包括以下步骤:
步骤S102,业务能力服务器接收来自第三方网元的业务操作请求,向核心网服务器请求与该业务操作请求相对应的服务,其中,上述服务可以包括以下之一:绑定电话、点击呼叫、来电接听、转接、呼叫保持,并且,该第三方网元可以为第三方网元,也可以为第三方应用,业务能力服务器与第三方网元之间具有预定通信协议,该预定通信协议为以下之一:HTTP协议、SIP协议、TCP协议。
步骤S104,业务能力服务器接收来自核心网服务器的服务响应,并通过特定参数将服务响应通知给第三方网元,其中,上述业务操作请求和返回给第三方网元的特定参数的格式均为XML格式,即,业务能力服务器与第三方网元之间的接口通信为消息交互方式。
需要说明的是,如果网络结构中没有核心网,则业务能力服务器不需要向核心网服务器发送请求与业务操作请求相对应的服务,由业务能力服务器执行与该业务操作请求对应的操作,并在操作结束后向第三方网元发送业务操作响应。
当业务能力服务器与第三方网元之前采用SIP协议时,可以采用SIP Message(通讯)消息由消息头+XML消息体的方式描述交互内容,也可以采用其他SIP消息交互,例如,SIP通知(Info)消息、SIP注册(REGISTER)消息、或者,SIP选项(OPTIONS)消息。
在具体实施过程中,业务能力服务器还会将与第三方网元请求的业务操作对应的业务当前所处的状态发送给第三方网元,具体地,业务能力服务器将该状态携带在采用上述预定通信协议的消息的XML消息体中发送给第三方网元。业务能力服务器主动向第三方网元发送状态通知消息,其中,该状态通知消息用于通知第三方网元呼叫进行的状态,比如,被叫忙、被叫应答等状态;第三方网元用于根据状态通知消息向业务能力服务器返回通知确认消息。
另外,业务能力服务器还将新呼叫通知携带在采用上述预定通信协议的消息的XML消息体中发送给第三方网元。例如,在某个新呼叫中,第三方网元作为被叫,则业务能力服务器将向第三方网元发送新呼叫通知。优选地,在业务能力服务器将上述新呼叫通知发送给第三方网元之后,第三方网元可以将针对该新呼叫通知的响应携带在采用上述预定通信协议的消息的XML消息体中发送给业务能力服务器,其中,针对新呼叫通知的响应包括但不限于:拒绝接听、应答接听或应答转接。
优选地,上述业务请求中携带的参数至少包括:表示业务能力服务器需要进行的操作的参数和当前会话标识。可选地,该业务请求中携带的参数还可以包括以下之一或其任意组合:主叫方号码和被叫方号码、主叫方的主叫标识和被叫方的被叫标识;向第三方网元发送的服务响应中携带的参数至少包括:当前会话标识和表示业务能力服务器需要进行的操作的参数,可选地,服务响应中携带的参数还可以包括以下之一或其任意组合:主叫方的主叫标识和被叫方的被叫标识、业务能力服务器从核心网服务器接收参数的接收结果、主叫方的业务状态、被叫方的业务状态。
通过本发明实施例提供的技术方案,业务能力服务器与第三方网元之间使用XML格式进行通信,填补了现有技术的空白,并且,该方法简单通用,易于扩展。
在本发明实施例中,可以将业务能力操作指令(即,上文所述的业务操作请求)定义为XML的格式,如下表1所示,该业务能力操作指令主要包括消息头和具体操作指令内容。
表1
其中,上表1中的消息头可以是通信协议的标准头信息,完全符合通信协议的标准规范,例如,HTTP协议、SIP协议、TCP协议。具体操作指令内容用来表述具体的业务能力操作信息,例如呼叫控制等,该具体操作指令内容利用XML的格式表示,在实现过程中,可以将该业务能力操作指令XML的格式的信息封装在通信协议的某一方法(method,即实现该方法的消息)中,例如,如果采用SIP协议,则可以采用MESSAGE方法(即SIP MESSAGE消息)、Info方法(即SIP Info消息)、REGISTER方法(即SIP REGISTER消息),OPTIONS方法(即OPTIONS消息)等。例如,以采用MESSAGE方法为例,将该业务能力操作指令封装在SIP协议的MESSAGE方法(method)中,MESSAGE的数据包中包含一个内容消息体,XML的格式的信息作为MESSAGE的消息体部分。这样,通过XML格式定义的控制参数,便于识别、扩展,并可以根据需要自定义数据格式,方便第三方网元和业务能力服务器进行数据的交换。
业务能力服务器与客户端之间的接口通信为消息交互方式,采用SIP Message消息头+XML消息体的方式描述交互内容。根据业务的具体功能,消息可以由客户端发起、也可以由业务能力服务器发起。其中客户端可以是第三方的客户端,以下统称第三方网元。
该接口消息由消息头和消息体组成,其中,下表2是标准的消息头格式。
表2
SIP head |
Cat |
Description |
Parameter |
Request-URI |
M |
信令目的URI |
无 |
From |
M |
信令发起方URI |
无 |
To |
M |
信令接收方URI |
无 |
Call-ID |
M |
会话标识 |
|
CSeq |
M |
命令序列标识,对同一会话中的不同命令进行标识 |
|
Contact |
M |
|
无 |
Subject |
M |
摘要 |
无 |
Expires |
M |
订阅的有效时长 |
无 |
Require |
O |
信令发起方希望接收方为处 |
无 |
|
|
理该请求而应具有的能力 |
|
Cotent-length |
M |
消息体长度 |
无 |
下面通过表3至表19对消息体的格式进行说明。
消息体包含XML文本,其中可以包含多个命令参数(例如,action、phone等),请求对方进行某些控制操作,例如绑定电话、点击呼叫、来电接听、转接、呼叫保持等。
下表3和下表4为绑定电话的XML消息体格式,其中,表3为第三方终端向业务能力服务器发送绑定请求的XML消息体格式,表4为业务能力服务器向第三方终端发送绑定响应的XML消息体格式。
表3
表4
下表5和下表6为点击呼叫的XML消息体格式,其中,表5为第三方终端向业务能力服务器发送点击呼叫请求的XML消息体格式,表6为业务能力服务器向第三方终端发送点击呼叫响应的XML消息体格式。
表5
表6
表7
下表8和下表9为挂断成员的XML消息体格式,其中,表8为第三方终端向业务能力服务器发送挂断成员请求的XML消息体格式,表9为业务能力服务器向第三方终端发送挂断成员响应的XML消息体格式。
表8
表9
下表10和下表11为结束呼叫的XML消息体格式,其中,表10为第三方终端向业务能力服务器发送结束呼叫请求的XML消息体格式,表11为业务能力服务器向第三方终端发送结束呼叫响应的XML消息体格式。
表10
表11
下表12为业务能力服务器向第三方终端发送新呼叫通知的XML消息体格式,相应地,下表13为第三方终端针对表12的新呼叫通知,向业务能力服务器发送拒绝接听的XML消息体格式,下表14为第三方终端针对表12的新呼叫通知,向业务能力服务器发送应答接听的XML消息体格式,下表15为第三方终端针对表12的新呼叫通知,向业务能力服务器发送应答转接的XML消息体格式。
表12
表13
表14
表15
下表16为第三方终端向业务能力服务器发送呼叫保持请求的XML消息体格式,相应地,下表17为业务能力服务器针对表16的呼叫保持请求,向第三方终端发送呼叫保持响应的XML消息体格式。
表16
表17
下表18为第三方终端向业务能力服务器发送呼叫恢复请求的XML消息体格式,相应地,下表19为业务能力服务器针对表16的呼叫恢复请求,向第三方终端发送呼叫恢复响应的XML消息体格式。
表18
表19
下面以业务能力为呼叫业务、采用SIP协议的MESSAGE方法为例,对本发明进行说明,其中,第三方网元与业务能力服务器之间通过SIP协议的MESSAGE方法进行通信,即在MESSAGE信息的消息体中扩展以XML格式表示的操作指令,来达到第三方网元使用业务能力服务器提供的业务能力的目的。如图2所示,为第三方网元与业务能力服务器进行通信时所需要定义的参数。
在具体实现过程中,可以对第三方网元向业务能力服务器发送的业务能力操作指令进行XML格式的定义,例如,定义如下参数:
标签action,用于表示业务能力服务器需要进行的操作,该action的值可以包括以下之一:绑定电话(bind)、呼叫(call)、呼叫恢复(resume)、加入呼叫(joincall)、释放呼叫(release)、拒绝呼叫(reject)、转接(transfer)、设置通信规则(comrule)等;
标签phone,用于表示业务能力服务器需要操作的电话号码,包括主叫方号码和被叫方号码;
标签callid,用于表示当前呼叫会话号,即主叫方和被叫方之间进行呼叫的会话号;
标签id,用于表示呼叫成员,包括主叫方的主叫标识和被叫方的被叫标识,用于区分主叫方和被叫方;
并对业务能力服务器向第三方网元发送的各个参数进行定义,例如,定义如下参数:
标签action,用于表示业务能力服务器需要进行的操作,该action的值可以包括以下之一:绑定电话(bind)、呼叫(call)、呼叫恢复(resume)、加入呼叫(joincall)、释放呼叫(release)、拒绝呼叫(reject)、转接(transfer)、设置通信规则(comrule)等;
标签callid,用于表示当前呼叫会话号,即主叫方和被叫方之间进行呼叫的会话号;
标签code,表示业务能力服务器的响应结果代码,包括响应成功消息和响应失败消息;
标签id,用于表示呼叫成员,包括主叫方的主叫标识和被叫方的被叫标识,用于区分主叫方和被叫方;
标签status,表示成员状态,该值可以包括以下之一:trying正在处理(trying)、正在振铃(ringing)、通话中(talking)、等待接续被叫(waiting)、离开(leave)、呼叫被保持(holding)、呼叫结束(end)。
在具体实施过程中,并不限于以上参数,可以根据需要对XML标签任意扩展,来定义不同的业务能力和设置不同的参数内容。
实例1
图3是根据本发明实施例的进行号码绑定的处理流程图,如图3所示,该方法包括以下步骤:
步骤S301,第三方网元在XML格式的控制指令中,置标签action为bind,置标签phone为绑定的终端号码。
步骤S302,业务能力服务器解析该XML内容,进行相应的处理,并向第三方网元返回code,表示处理结果成功或失败。
实例2
图4是根据本发明实施例的将主叫方和被叫方进行电话接续的处理流程图,如图4所示,该方法包括以下步骤:
步骤S401,第三方网元在XML格式的控制指令中,需要置标签action为call,置标签phone为主叫方的号码(A),置另外一个标签phone为被叫方的号码(B);
步骤S402,业务能力服务器解析该XML内容,向第三方网元发送呼叫响应;
步骤S403,业务能力服务器分别向核心网服务器发送呼叫主叫方的号码的操作信令;
步骤S404,核心网服务器向业务能力服务器发送针对呼叫主叫方的号码的响应,将主叫方的状态通知给业务能力服务器;
步骤S405,业务能力服务器将主叫方的状态发送给第三方网元;
步骤S406,核心网发现主叫方应答,向业务能力服务器发送主叫方应答的信息;
步骤S407,业务能力服务器将主叫方的应答状态消息发送给第三方网元,即,向第三方网元返回呼叫主叫号码的响应结果;
步骤S408,业务能力服务器将被叫方的状态发送给第三方网元;
步骤S409,核心网发现被叫方应答,向业务能力服务器发送主叫方应答的信息;
步骤S410,业务能力服务器将被叫方的应答状态消息发送给第三方网元,即,向第三方网元返回呼叫被叫号码的响应结果。
实例3
图5是根据本发明实施例的将正在进行通信的主叫方和被叫方中的一方进行电话转接的处理流程图,如图5所示,该方法包括以下步骤:
应用场景为:用户A与用户B正在进行通话,此时,用户C呼叫用户B,通过图5所示的方式,用户A将用户B转移给用户C,即,用户A推出通话,用户C与用户B进行通话。
步骤S501,第三方网元在XML格式的控制指令中,需要置标签action为transfer,置标签callid为当前呼叫会话号,置标签phone为转接的号码,置标签id为对应的呼叫成员。
步骤S502,业务能力服务器解析该XML内容,与核心网服务器进行呼叫转接处理;
步骤S503,业务能力服务器获取核心网服务器处理结果,向第三方网元返回处理结果。
实例4
图6是根据本发明实施例的将正在进行通信的主叫方和被叫方中的一方进行保持的处理流程图,如图6所示,该方法包括以下步骤:
应用场景为:用户A与用户B正在进行通话,此时,用户C呼叫用户A,通过图6所示的方式,用户C与用户B进行通话,用户B处理保持状态。
步骤S601,业务能力服务器通知第三方网元,有新的呼叫进入;
步骤S602,如果用户选择接听,第三方网元会向业务能力服务器发送操作信令,其中,第三方网元在XML格式的控制指令中,需要置标签action为joincall,置标签callid为当前呼叫会话号,置标签phone为接听的号码,置标签id为对应的呼叫成员。
步骤S603,业务能力服务器解析该XML内容,与核心网服务器发送消息,该消息指示对用户B的呼叫进行保持处理,接续用户A与用户C;
步骤S604,业务能力服务器获取核心网服务器处理结果,向第三方网元返回处理结果,通过第三方网元用户B所处的状态。
实例5
图7是根据本发明实施例的设置通信规则的处理流程图,如图7所示,该方法包括以下步骤:
步骤S701,第三方网元在XML格式的控制指令中,需要置标签action为comrule,置标签phone为需要设置的号码。
步骤S702,业务能力服务器解析该XML内容,进行相应的处理,向第三方网元返回处理结果。
上述通过5个实例对本发明进行说明,但并不限于此,第三方网元与业务能力服务器之间进行通信的操作指令都可以根据上述模式,对XML内容进行扩展,使得业务能力服务器可以开放更多的业务能力。
实施例三
本发明实施例三对根据本发明实施例的业务实现系统进行描述,该系统具有开放统一通信业务的能力。
如图9所示,根据本实施例三的业务实现系统包括:第三方网元2和业务能力服务器4。其中,第三方网元2,用于将业务操作请求携带在第一消息的XML消息体中发送给业务能力服务器4;业务能力服务器4,用于接收第一消息,将该业务操作请求的业务操作响应携带在第二消息的XML消息体中发送给第三方网元2;其中,第一消息和第二消息采用预定通信协议。
优选地,如图10所示,该系统还可以包括:核心网服务器6。则业务能力服务器4用于向核心网服务器6请求与上述业务操作请求对应的服务,并接收核心网服务器6返回的业务操作响应。
优选地,业务能力服务器4还用于将与第三方网元2请求的业务操作对应的业务当前所处的业务状态携带在采用上述预定通信协议的第三消息的XML消息体中发送给第三方网元2。
优选地,业务能力服务器4还用于将新呼叫通知携带在采用上述预定通信协议的第四消息的XML消息体中发送给第三方网元2。
优选地,第三方网元2还用于将针对上述新呼叫通知的响应携带在采用上述预定通信协议的第五消息的XML消息体中发送给业务能力服务器4,其中,针对上述新呼叫通知的响应包括但不限于:拒绝接听、应答接听或应答转接。
并且,上述业务操作请求中携带的参数至少包括:表示业务能力服务器需要进行的操作的参数和当前会话标识,可选地,该业务操作请求中携带的参数还可以包括以下之一或其任意组合:主叫方号码和被叫方号码、主叫方的主叫标识和被叫方的被叫标识、。
此外,核心网服务器6返回的业务操作响应中携带的参数至少包括:当前会话标识和表示业务能力服务器需要进行的操作的参数,可选地,核心网服务器6返回的业务操作响应中携带的参数还可以包括以下之一或其任意组合:主叫方的主叫标识和被叫方的被叫标识、业务能力服务器从核心网服务器接收参数的接收结果、主叫方的业务状态、被叫方的业务状态。
业务能力服务器4与第三方网元2之间具有预定通信协议,其中,预定通信协议可以为以下之一:HTTP协议、SIP协议、TCP协议。
优选地,如果预定通信协议为SIP协议,则第三网元与业务能力服务器之间交互的消息(包括上述第一消息、第二消息、第三消息、第四消息和第五消息)为以下之一:SIP通讯消息、SIP通知消息、SIP注册消息或者SIP选项消息。
可选地,第三方网元可以是多种类型的网元设备,例如,可以是第三方网元、第三方应用等。
图11示出了根据本实施例的业务实现系统的具体结构实例的框图,其中,业务能力服务器分别连接至第三方网元和第三方应用,从而分别为第三方网元和第三方应用提供服务。
在图11所示的系统中,业务能力服务器能够提供统一通信的基本业务能力,主要包括呼叫、会议、短信等业务能力;
第三方网元可以通过XML格式的承载消息与业务能力服务器通信,并且能够利用业务能力服务器的业务能力,向终端用户统一提供通信服务;
核心网服务器是基于IP网络的控制功能实体,其通过SIP协议与业务能力服务器进行通信,并且能够为业务提供呼叫控制和连接控制功能,是呼叫与控制的核心;
第三方应用可以通过Web Service接口调用业务能力服务器提供的服务和能力。
在图11所示的业务实现系统中,第三方网元通过包含XML操作指令的消息发送到业务能力服务器,此时,业务能力服务器需要处理所接收到的包含XML操作指令的消息,并执行相应的操作。
并且,第三方网元还需要到业务能力服务器鉴权,业务能力服务器需要处理所接收到的鉴权消息,执行鉴权操作,达到验证用户的目的。
如上所述,借助于本发明提供的业务实现方法和系统,业务能力服务器,业务能力服务器与第三方网元之间使用XML格式进行通信,填补了现有技术的空白,并且,该方法简单通用,易于扩展。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。