CN101005502A - 业务脚本获取、控制方法及其控制系统和媒体资源服务器 - Google Patents
业务脚本获取、控制方法及其控制系统和媒体资源服务器 Download PDFInfo
- Publication number
- CN101005502A CN101005502A CN 200710000392 CN200710000392A CN101005502A CN 101005502 A CN101005502 A CN 101005502A CN 200710000392 CN200710000392 CN 200710000392 CN 200710000392 A CN200710000392 A CN 200710000392A CN 101005502 A CN101005502 A CN 101005502A
- Authority
- CN
- China
- Prior art keywords
- script
- mrs
- sid
- service
- operation information
- 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.)
- Granted
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种业务脚本的获取方法,该方法包括,在媒体资源服务器(MRS)中预先设置脚本标识(SID)、脚本类型与业务脚本的对应关系;该方法包括:控制端向MRS发送携带有SID的脚本操作信息;所述MRS根据接收到的SID和所述对应关系,获取与SID对应的业务脚本及其脚本类型,采用本发明实施例避免了需要根据不同脚本类型对传输协议进行多次扩展的问题,从而降低了控制媒体资源服务器获取业务脚本的复杂程度。本发明实施例还公开了业务脚本的控制方法、控制系统和媒体资源服务器,在降低控制媒体资源服务器获取业务脚本的复杂程度的同时,能够提高对业务脚本控制的灵活性。
Description
技术领域
本发明涉及网络媒体资源服务技术,具体涉及实现媒体资源服务器中业务脚本的获取方法、控制方法、以及实现业务脚本控制的控制系统和媒体资源服务器。
背景技术
在下一代网络(NGN,Next Generation Net)和网际协议多媒体子系统(IMS,IP Multimedia Subsystem)网络中,媒体资源服务器(MRS,MediaResource Server)为网络的基本业务和增值业务提供了丰富的媒体资源服务。MRS在软交换(Softswitch)设备或应用服务器(AS,Application Server)的控制下,获取并执行业务脚本,完成与用户的交互功能,例如放音、收号、录音、视频播放、音/视频会议、流媒体交互等。MRS所执行的业务脚本可以是存储在MRS上,也可以是AS发送给MRS的。
在NGN网络中,MRS与Softswitch设备、AS之间采用媒体网关控制协议(MGCP,Media Gateway Control Protocol)、H.248或会话初始化协议(SIP,Session Initiation Protocol)进行信息交互;Softswitch设备和AS可以称为MRS的控制端。在IMS网络中,媒体资源功能(MRF,Media ResourceFunction)实体实现MRS的功能,呼叫会话控制功能(CSCF,Call SessionControl Function)实体实现Softswitch设备的功能,MRF与CSCF、AS之间采用SIP消息进行信息交互。CSCF和AS可以称为MRS的控制端。可见,SIP是实现媒体资源服务的较为常用的协议。
以AS作为MRS的控制端,与MRS采用SIP消息进行信息交互为例,目前,AS在控制MRS执行业务脚本从而实现用户交互时,首先在AS与MRS之间建立会话,然后将脚本类型和业务脚本携带在SIP消息或者扩展SIP消息中发送给MRS。AS发送的业务脚本可以是脚本的内容,也可以是脚本的统一资源地址(URL,Uniform Resource Locators),MRS根据脚本类型判断接收的业务脚本是否符合解析要求,即MRS是否能解析该业务脚本,如果能解析才执行接收到的业务脚本,实现与用户的交互。在业务脚本执行完毕后,MRS向AS上报结果。AS根据上报结果,执行AS的业务逻辑,然后AS根据业务逻辑的执行结果,确定后续操作。例如,AS可以向MRS发送下一个业务脚本,或者释放与MRS之间的会话等。这样,MRS在AS的控制下完成与用户的交互。
从以上方案可以看出,现有技术中,AS控制MRS执行业务脚本的方法有以下几个缺点:
首先,AS向MRS发送业务脚本时,需要将脚本类型也一起发送给MRS,MRS才能按照业务脚本的脚本类型选取合适的脚本解析器解析执行业务脚本。因此AS必须预先知道业务脚本的脚本类型,以及MRS可以解析什么类型的业务脚本。当AS采用SIP消息发送业务脚本时,需要根据脚本类型的不同对SIP消息中的特定参数进行扩展。
SIP消息包括消息头和消息体。当AS将业务脚本携带在SIP消息体发送给MRS时,需要对SIP消息体的内容类型(Content-Type)参数进行扩展,该Content-Type参数的内容即显示出AS所发送业务脚本的脚本类型。例如,当SIP消息体携带了语音可扩展标识语言(VXML,Voice Extensible MarkupLanguage)类型的业务脚本,则应扩展Content-Type参数为application/vxml+xml;当SIP消息体携带了多媒体会话标识语言(MSML,Media SessionsMarkup Language)类型的业务脚本,则应扩展Content-Type参数为application/msml+xml。
当AS将业务脚本携带在SIP消息头发送给MRS时,需要对SIP消息头的对话参数(dialog-param)进行扩展,该dialog-param参数的内容即显示出AS所发送业务脚本的脚本类型。例如,扩展dialog-param为vxml或者为msml。
因此,每增加一种脚本类型,都需要对SIP消息体的Content-Type参数,或者SIP消息头的dialog-param参数进行扩展。而且,如果AS只将业务脚本的URL发送给MRS,还需要知道业务脚本的具体位置。因此,对于AS来说,目前AS控制MRS获取业务脚本的步骤,实现起来十分不便,增加了AS的负担。
其次,在MRS向AS上报执行结果后,如果AS根据其业务逻辑的执行结果判定,需要MRS继续与用户交互,则AS需要再次向MRS发送业务脚本。因此增加了AS和MRS之间的传输负担。
再次,AS不能主动终止MRS正在执行的业务脚本。如果要终止,只能通过SIP的结束(BYE)消息来终止AS与MRS之间的会话。而且,AS与MRS之间的会话不能由MRS释放。因此,对业务脚本的执行过程的控制不够灵活。
发明内容
有鉴于此,为了避免根据不同脚本类型对传输协议进行多次扩展的不便性,降低控制媒体资源服务器获取业务脚本的复杂程度,本发明实施例提供了一种业务脚本的获取方法,该方法包括:
在媒体资源服务器MRS中预先设置脚本标识SID、脚本类型与业务脚本的对应关系;
控制端向MRS发送携带有SID的脚本操作信息;
MRS根据接收到的SID和所述对应关系,获取与该SID对应的业务脚本及其脚本类型。
本发明实施例还提供了一种业务脚本的控制方法,能够降低控制媒体资源服务器获取业务脚本的复杂程度;进一步的,该控制方法能够提高对业务脚本控制的灵活性。
该业务脚本的控制方法包括:
在媒体资源服务器MRS中预先设置脚本标识SID、脚本类型与业务脚本的对应关系;
控制端向MRS发送携带有SID的脚本操作信息;
所述MRS根据接收到的SID和所述对应关系,获取与SID对应的业务脚本,并根据接收到的脚本操作信息中的脚本操作类型的指示,对所述对应的业务脚本进行操作控制。
本发明实施例还提供了一种媒体资源服务器,能够降低控制媒体资源服务器获取业务脚本的复杂程度。
该媒体资源服务器包括:脚本解析模块和存储单元;
脚本解析模块,用于接收控制端发送的携带有脚本标识SID的脚本操作信息;根据接收到的SID从所述存储单元存储的对应关系中获取对应的业务脚本;并根据接收到的脚本操作信息中的脚本操作类型的指示,对所述对应的业务脚本进行操作控制;
存储单元,用于存储SID、脚本类型与业务脚本的对应关系;并向所述脚本解析模块返回所述对应的业务脚本。
本发明实施例还提供了一种业务脚本的控制系统,能够降低控制媒体资源服务器获取业务脚本的复杂程度。
该业务脚本的控制系统包括控制端和媒体资源服务器MRS;
控制端,用于向MRS发送携带有脚本标识SID的脚本操作信息;
MRS,存储有SID、脚本类型与业务脚本的对应关系,用于接收来自控制端的携带有SID的脚本操作信息,根据接收到的SID从自身存储的对应关系中获取对应的业务脚本;并根据接收到的脚本操作信息中的脚本操作类型的指示,对所述对应的业务脚本进行操作控制。
与现有技术相比,本发明实施例提供了媒体资源服务器的业务脚本获取和控制方案。在媒体资源服务器的业务脚本获取方案中,预先在MRS上设置脚本标识(SID,Script Identifier)、脚本类型和业务脚本的对应关系。在控制媒体资源服务器获取业务脚本时,控制端不向MRS发送业务脚本及其脚本类型,而只需要将携带有SID的脚本操作信息发送给MRS,MRS根据SID从预先设置的对应关系中,获取SID对应的业务脚本及其脚本类型。由于控制端向MRS发送的脚本操作信息不携带脚本类型,因此控制端不需要预先知道业务脚本的脚本类型甚至业务脚本的位置,也不需要根据不同脚本类型对传输协议进行相应扩展,只需要对传输协议进行一次扩展,使得扩展后的传输协议可以携带脚本操作信息即可。因此降低了控制端控制MRS获取业务脚本的复杂程度,减轻了控制端的负担。
在媒体资源服务器的业务脚本控制方案中,在MRS获取了业务脚本之后,控制端可以向MRS发送携带有SID的脚本操作信息,MRS根据脚本操作信息中脚本操作类型的指示,对SID对应的业务脚本进行操作。该操作包括主动终止业务脚本的执行,MRS主动释放会话,提高了业务控制的灵活性。
附图说明
图1为本发明实施例实现业务脚本控制方法的流程图;
图2为本发明实施例采用脚本操作信息实现业务脚本控制的时序图;
图3为本发明实施例业务脚本控制系统的组成结构示意图;
图4为本发明实施例媒体资源服务器的组成结构示意图;
图5为本发明第一较佳实施例实现MRS放音脚本控制的方法流程图;
图6为本发明第一较佳实施例媒体资源服务器的组成结构示意图;
图7为本发明第二较佳实施例实现MRS用户鉴权和收号脚本控制的方法流程图。
具体实施方式
为使本发明实施例技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明实现业务脚本获取方法的一个实施例为:在MRS中预先设置SID、脚本类型与业务脚本的对应关系;在控制端向MRS发送携带有SID的脚本操作信息后;MRS以SID为索引,从预先设置的对应关系中获取对应的业务脚本及其脚本类型。
获取业务脚本及其脚本类型后,MRS还可以根据脚本操作信息中的脚本操作类型的指示,对业务脚本进行相应的操作控制。脚本操作信息所携带的脚本操作类型,用于指示MRS对获取的业务脚本进行何种操作。脚本操作类型包括脚本执行(ScriptRun)操作、脚本信息(ScriptInfor)操作以及脚本关闭(ScriptClose)操作。
图1为本发明实施例实现业务脚本控制方法的流程图。如图1所示,该方法具体过程包括以下步骤:
步骤101,在MRS中,预先设置SID、脚本类型和业务脚本的对应关系。
步骤102,控制端向MRS发送携带有SID和脚本操作类型的脚本操作信息。
步骤103,MRS以SID为索引,从预先设置的对应关系中查找对应的业务脚本;并根据脚本操作信息中的脚本操作类型,对查找到的业务脚本进行操作。
本步骤中,MRS对业务脚本具体进行何种操作取决于脚本操作信息所携带的脚本操作类型。
当脚本操作类型为ScriptRun时,MRS需要分配执行业务脚本的资源,且激活该资源。除了获取业务脚本,MRS还需要获取SID对应的脚本类型,根据脚本类型调用对应的脚本解析器,并根据ScriptRun的指示,采用调用的脚本解析器解析执行查找到的业务脚本。
当脚本操作类型为ScriptClose时,则指示MRS停止指定的业务脚本。本发明实施例的ScriptClose操作,用于控制端主动停止MRS正在执行的业务脚本。MRS停止执行的业务脚本后,AS并不释放与MRS之间的会话,因此AS可以再次通过发送脚本操作类型为ScriptRun的脚本操作信息,控制MRS执行另一个业务脚本。
如果业务脚本在执行过程中没有受到控制端的干预,则当业务脚本执行完毕,该流程还包括步骤104。
步骤104,业务脚本执行结束,MRS向控制端发送脚本操作结果。
本步骤中,返回脚本操作结果也可以属于脚本操作的一种类型,称为脚本事件(ScriptEvent)操作。这里脚本操作结果包含脚本执行结果。本实施例中,MRS通过向控制端发送携带有SID和ScriptEvent的脚本操作信息,通知控制端脚本执行结果。如MRS向控制端发送放音完成信息、获得的用户名和密码等内容。脚本执行结果可以是业务脚本执行完毕后向控制端发送。如果业务脚本的执行过程需要控制端干预,则可以将一个业务脚本设置为包含多个脚本事件,一个脚本事件完成一次用户交互。当执行完业务脚本的一个脚本事件,就需要向控制端发送携带有ScriptEvent的脚本操作信息,该脚本操作信息可以还携带当前脚本事件执行后的数据信息。此时,MRS执行的业务脚本设置为挂起状态,即暂停该业务脚本,但不终止。
控制端在接收到携带有ScriptEvent的脚本操作信息后,执行脚本操作信息所携带的SID对应的控制端业务逻辑。根据控制端业务逻辑的执行结果,判断MRS是否需要继续执行业务脚本,如果需要继续执行,则向MRS发送携带ScriptInfor的脚本操作信息,由MRS执行挂起的业务脚本。控制端业务逻辑用于控制MRS工作,SID与控制端业务逻辑的对应关系是预先设置在控制端的。
以上四种脚本操作信息结合起来可以完成MRS在控制端控制下的用户信息交互。图2为采用脚本操作信息实现业务脚本控制的时序图。参见图2,其实现业务脚本控制的过程包括以下步骤:
步骤201~202,控制端向MRS发送携带有SID和ScriptRun的脚本操作信息,MRS以SID为索引查找对应的业务脚本及其脚本类型,并采用脚本类型指示的脚本解析器解析执行查找到的业务脚本。
在实际应用中,为了便于MRS获取业务脚本,MRS还可以存储SID与脚本位置的对应关系。脚本位置表示与SID对应的业务脚本所在位置是本地还是网络上的某个位置,如果不在本地,则SID对应的业务脚本可能是一个URL;此时MRS需要根据URL在网络上获取业务脚本的具体内容。
步骤203,在业务脚本解释执行的过程中,业务脚本的当前脚本事件执行完毕,MRS通过向控制端发送携带有SID和ScriptEvent的脚本操作信息,上报脚本事件的执行结果。
步骤204,控制端判断当前脚本事件是否为业务脚本的最后脚本事件。如果不是,则执行步骤206;否则,则执行步骤205。
步骤205,控制端向MRS发送释放会话消息,释放控制端与MRS之间的会话,本流程结束。该会话是控制端与MRS进行信息交互之前建立起来的。
步骤206,控制端根据步骤203中MRS上报的执行结果,执行控制端的业务逻辑。然后根据该业务逻辑的执行结果判断是否继续执行业务脚本;如果需要继续执行,则执行步骤207;否则执行步骤209。
本步骤中,控制端根据脚本操作信息中的SID,查找对应的控制端业务逻辑,并执行。例如,如果MRS可以将收到的用户名和密码携带在脚本操作信息中发送给控制端,由控制端进行用户鉴权操作,鉴权成功则执行步骤207,否则执行步骤209。
步骤207,控制端向MRS发送携带SID和ScriptInfor的脚本操作信息,指示MRS继续执行业务脚本。
本步骤中,ScriptInfor信息中还可以携带控制端控制MRS继续执行业务脚本的用户交互信息。例如,MRS需要继续执行的脚本内容为向用户发送提示音,则上述用户交互信息可以用于指示MRS发送何种的提示音。
步骤208,MRS继续执行业务脚本。返回步骤203。
在整个执行业务脚本的过程中,控制端和媒体资源服务器之间可以进行多次交互,即重复执行步骤203、204、206、207和208。
步骤209,控制端向MRS发送携带SID和ScriptClose的脚本操作信息,指示MRS停止执行未执行完的业务脚本。
本步骤中携带SID和ScriptClose的脚本操作信息也可以在MRS执行业务脚本的任意时刻发送,以终止业务脚本的执行。终止执行后,只要控制端与MRS之间的会话未释放,控制端就可以通过发送携带SID和ScriptRun的脚本操作信息,控制MRS执行其它业务脚本。携带SID和ScriptClose的脚本操作信息解决了现有技术中,在不释放会话的前提下,控制端不能主动终止MRS执行业务脚本的问题。
步骤210,控制端释放会话。本流程结束。
为了增加释放会话的灵活性,本发明实施例在脚本操作信息中增加媒体资源服务器释放会话(DisMrf)参数,该参数值为真时,表示允许MRS在结束业务脚本执行时主动释放会话。具体实现方式为,控制端向MRS发送的携带SID和ScriptRun的脚本操作信息中,进一步携带DisMrf参数,假设DisMrf参数表示允许MRS主动释放会话,当MRS执行完业务脚本并将执行结果上报给控制端后,MRS便可以主动释放与控制端之间的会话。
为了实现本发明实施例的业务脚本控制方法,本发明实施例提供了一种业务脚本的控制系统,图3为本发明实施例业务脚本控制系统的组成结构示意图。如图3所示,该系统包括控制端310和媒体资源服务器320。
其中,控制端310,用于向MRS320发送携带有SID的脚本操作信息。
MRS320,设置有SID、脚本类型与业务脚本的对应关系,用于接收控制端310发来的携带有SID的脚本操作信息,以SID为索引从自身存储的对应中查找对应的业务脚本,并根据接收到的脚本操作信息中的脚本操作类型的指示,对查找到的业务脚本进行操作控制。
图4是本发明实施例媒体资源服务器的组成结构示意图。如图4所示,该媒体资源服务器320包括存储单元322和脚本操作处理单元321。
其中,脚本操作处理单元321,用于接收控制端310发送的携带有SID的脚本操作信息,以SID为索引从存储单元321中存储的对应关系中查找对应的业务脚本,并根据脚本操作信息,对查找到的业务脚本进行操作。
存储单元322,用于存储SID、业务脚本和脚本类型的对应关系,并向脚本操作处理单元321返回与SID对应的业务脚本。该单元中的对应关系可以采用一张对应关系表存储,该对应关系表除了SID字段、脚本类型字段和业务脚本字段,还可以包括脚本位置字段。这里的业务脚本可能是业务脚本的具体内容,也可能只是一条用于标识业务脚本所在位置的URL。
本发明实施例的技术方案适用于NGN或者IMS等IP网络。在IMS网络中,控制MRS执行业务脚本,实现与用户交互的控制端可以是AS或者CSCF;在NGN网络中,控制MRF执行脚本,实现与用户交互的控制端可以是AS或者Softswitch设备。以上所列举的各控制端实现业务脚本控制的实现原理都相同。
下面以IMS网络中,实现AS控制MRS执行业务脚本为例,说明本发明实施例的具体实现方法。AS与MRS之间采用SIP协议作为消息传输协议,因此将脚本操作信息携带在SIP消息中,完成AS与MRS之间的信息交互。
脚本操作信息除了携带SID和脚本操作类型这两个脚本参数,还可以携带其它脚本参数。
下面对以下实施例的脚本操作信息可以携带的脚本参数进行详细说明:
1、脚本操作类型(Message Type)参数
例如,Message Type=<message-type>;
message-type=“sr”/“se”/“si”/“sc”
其中,sr为脚本执行操作,se为脚本事件操作,si为脚本信息操作,sc为脚本关闭操作。AS将脚本操作信息携带在SIP消息体发送给MRS时,可以采用该Message Type参数作为脚本操作信息的脚本操作类型;当将脚本操作信息携带在SIP消息头发送给MRS时,则需要采用SIP消息头中的dialog-param参数作为脚本操作信息的脚本操作类型。采用携带MessageType参数或者dialog-param参数作为脚本操作类型,虽然形式有所区别。但其目地都是对脚本操作信息所表示的操作类型进行区分。
2、脚本标识(SID)参数
例如,SID=<script-id>
Script-id=1*(DIGIT)
SID用于标识MRS上的一段业务脚本,MRS以SID为索引,查找对应的业务脚本。同时,MRS还通过SID获取业务脚本的脚本类型,并根据脚本类型调用相应的脚本解析器,解析执行查找到的业务脚本。
3、最后脚本事件指示(LEInd)参数:
例如,LEInd=<lastEventIndicator_value>
lastEventIndicator_value=“true”/“false”
LEInd表示MRS向AS上报的脚本事件是否为最后一个脚本事件,在AS向MRS上报脚本执行结果的脚本操作信息中携带。当MRS向AS上报的脚本执行结果为最后一个脚本事件的执行结果,该参数值为true。
4、媒体资源服务器释放会话(DisMrf)参数:
例如,DisMrf=<disconnetFromMRF>
disconnetFromMRF=“true”/“false”
DisMrf缺省值为false。即,在正常情况下禁止MRS主动释放会话参数,必须由AS来释放会话。该参数在脚本操作类型为ScriptRun的脚本操作信息中携带。DisMrf参数可以与LEInd参数配合使用,当DisMrf为true时,且MRS已经获得AS的允许,可以在执行完业务脚本时释放会话,则MRS可以主动释放与AS的会话。
5、脚本信息数据长度(UiSInf_len)参数:
例如,UiSInf_len=<length_value>
length_value=1*(DIGIT)
UiSInf_len标识在脚本操作信息中所携带数据信息的长度。只有脚本中携带有数据信息时才有该参数。
6、脚本信息数据(UiSInf_data)参数:
例如,UiSInf_data=<uiScriptSpecificinformation_value>
uiScriptSpecificinformation=byte-string
UiSInf_data为脚本操作信息中携带的具体数据,该参数可以在脚本操作类型为ScriptRun、ScriptInfor和ScriptClose的脚本操作信息中携带。当携带在操作类型为ScriptInfor的脚本操作信息时,UiSInf_data参数为控制端向MRS发送的,协助MRS继续执行业务脚本的用户交互信息。
UiSInf_data参数由AS的上的业务层指定和发送,由MRS的业务脚本进行接收和解析。该参数为可选参数,只有脚本操作信息中携带有数据时才有,该UiSInf_data参数的长度由UiSInf_len参数表示,UiSInf_data紧跟在UiSInf_len参数之后出现。
UiSInf_data参数为字节-字符串(byte-string)类型,其数据内容可以采用抽象语法编码1(ASN.1,Abstract Syntax Notation One)的编码方式,框架如表1所示:
| 参数1 | ... | 参数n | ||||
| Tag | 长度 | 值 | ... | Tag | 长度 | 值 |
表1
其中,标签(Tag)表示参数的类型,Tag定义如表2所示:
| 类型 | TAG |
| Boolean(布尔) | 0x01 |
| Integer(实数) | 0x02 |
| String(字符串) | 0x04 |
| NULL(空) | 0x05 |
| Enumerate(枚举) | 0x0A |
表2
例如UiSInf_data=02512346,表示该数据为一个长度为5的实数,其具体数据为12346。
7、脚本结果数据(UiSRes_data)参数:
例如,UiSRes_data=<uIScriptResult>
uiScriptSpecificinformation=byte-string
UiSRes_data为MRS脚本执行结果,通过脚本操作类型为ScriptEvent的脚本操作信息向AS上报。该参数为可选参数,由MRS的业务脚本发送,AS上的业务层进行接收和解析。UiSRes_data参数的长度由UiSInf_len参数表示,UiSRes_data参数可以紧跟在UiSInf_len参数之后出现。UiSRes_data的数据格式也可采用ASN.1的数据编解码格式,由MRS上的业务层构造后,传递给AS,由AS上的业务层进行解析。
8、业务键标识(SK)参数
例如,SK=<service-key>
service-key=1*(DIGIT)
SK表示该脚本所属的业务。例如SK=200时,表示该脚本属于200电话业务。一个AS业务可以多次调用脚本操作,来完成与MRS的交互,该参数为可选参数。
以上各脚本参数中,脚本操作类型参数和脚本标识参数是每个脚本操作中必须携带的脚本参数类型,其它脚本参数根据脚本操作的类型不同,携带在不同的脚本操作信息中。总结起来就是:
携带有SID和ScriptRun的脚本操作信息,还可以携带SK、DisMrf、UiSInf_len、UiSInf_data等参数;
携带有SID和ScriptClose的脚本操作信息,还可以携带SK、UiSInf_len、UiSInf_data等参数;
携带有SID和ScriptEvent的脚本操作信息,还可以携带SK、LEInd、UiSInf_len、UiSRes_data等参数;
携带有SID和ScriptInfor的脚本操作信息,还可以携带SK、UiSInf_len、UiSRes_data等参数。
脚本操作信息可以携带在扩展SIP消息的消息头或者消息体中。下面就分别对这两种情况举两个较佳实施例,对本发明实施例的具体实现进行详细说明。
第一较佳实施例
当脚本操作信息携带在SIP消息头中时,可以携带在SIP消息头请求行中,也可以携带在消息头请求行之后的消息头内容部分。本实施例将消息请求行进行扩展,以携带脚本操作信息。本实施例中,具体扩展方式如下:
扩展携带脚本操作信息的扩展巴科斯范式(ABNF)语法表达方式为:
DIALOG-URL=sip-ind dialog-ind″@″hostport dialog-parameters
sip-ind=″sip:″/″sips:″
dialog-ind=″dialog″
dialog-parameters=″;″dialog-param[uis-parameters]
dialog-param=″uis.sr″/″uis.se″/″uis.si″/″uis.sc″/
uis-parameters=uis-param[uis-parameters]
uis-param=″;″uis-keyword″=″uis-value
uis-keyword=token
uis-value=token
其中,扩展了dialog-param参数为″uis.sr″/″uis.se″/″uis.si″/″uis.sc/,当SIP消息头中的dialog-param参数为uis.sr或uis.se或uis.si或uis.sc时,s表示该SIP消息头携带了脚本操作信息。uis.sr表示ScriptRun操作,uis.se表示ScriptEvent操作,uis.si表示ScriptInfor操作,uis.sc表示ScriptClose操作。脚本操作类型后面可以跟脚本参数,uis-keyword为脚本参数的名称,uis-value为脚本参数具体值。
SIP消息头中可携带的脚本参数的定义与前面所述的脚本参数2~8的定义相同。由于消息头的字段长度比较短,因此可以不包括脚本信息数据长度参数。
脚本操作类型为ScriptRun、ScriptInfor、ScriptClose和ScriptEvent的脚本操作信息都可以携带在信息(INFO)消息的消息头中传送。其中,对于脚本操作类型为ScriptRun的脚本操作信息来说,还可以携带在SIP协议的邀请(INVITE)消息和再邀请(ReINVITE)消息的消息头传送。
下面为INVITE和INFO消息的消息头携带脚本操作类型为uis.sr的脚本操作信息的例子:
INVITE:sip:dialog@mrs.company.com;uis.sr;sk=200;sid=68000001
...
INFO:sip:dialog@mrs.company.com;uis.sr;sk=200;sid=68000001
...
其中,uis.sr为脚本操作类型,表示该脚本操作为脚本执行操作。脚本操作类型之后紧跟着业务键标识参数SK和脚本标识SID,sk=200表示该业务属于200电话业务,sid=68000001标识需要MRS执行SID为6800000l的业务脚本。
AS可以通过在SIP消息体中携带脚本操作信息来控制MRS实现放音、收号、录音、会议等用户交互功能。具体实现什么功能由SID确定。下面以AS通过脚本操作信息指示MRS执行放音脚本流程为例进行说明。
图5为本发明第一较佳实施例实现MRS放音脚本控制方法的流程图。如图5所示,实现该方法的具体步骤如下:
步骤500,在MRS中设置SID、业务脚本及其脚本类型的对应关系。
步骤501,AS向MRS发送携带脚本操作信息的INVITE消息,从而建立AS与MRS的会话。该脚本操作信息携带的脚本操作类型为ScriptRun。
本步骤501,INVITE消息的请求行中携带脚本操作信息,该脚本操作信息包括脚本操作类型,SK和SID;消息体携带用户的会话描述协议(SDP,Session Description Protocol)信息。如果需要控制MRS主动释放会话,脚本操作类型为ScriptRun的脚本操作信息还可以包括参数DisMrf。
在实际应用中,也可以先采用INVITE消息建立AS与MRS之间的会话,再将脚本操作类型为ScriptRun的脚本操作信息携带在INFO消息中发送给MRS。
本实施例中,INVITE消息的例子如下:
INVITE sip:dialog@mrs.huawei.com;uis.sr;sk=200;sid=68000001
Via:SIP/2.0/UDP client.huawei.com
From:<sip:user@client.huawei.com>;tag=8000
To:<sip:dialog@mrs.huawei.com;uis.sr;sk=200;sid=68000001>
Contact:sip:user@client.huawei.com
Call-ID:12345678@client.huawei.com
CSeq:1 INVITE
Content-Length:...
Content-Type:application/sdp
v=0
o=user 2890844526 2890844526 IN IP4 client.huawei.com
s=Session SDP
c=IN IP4 client.huawei.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
其中,uis.sr表示INVITE消息中携带的脚本操作信息的脚本操作类型为ScriptRun,sk=200表示需要执行的业务脚本所属业务为200电话业务,sid=68000001表示需要执行SID为68000001的业务脚本。
步骤502,MRS向AS返回200 OK响应消息。
本步骤中,MRS在收到AS发出的INVITE消息后,按照请求/答复机制,根据自己所支持的媒体能力,对INVITE消息中携带的SDP进行修改,修改后的SDP通过200 OK响应返回AS。
本实施例中,200 OK响应消息的例子如下:
SIP/2.0 200 OK
From:<sip:user@client.huawei.com>;tag=8000
To:<sip:dialog@mrs.huawei.com;uis.sr;sk=200;sid=68000001>
CSeq:1 INVITE
Call-ID:12345678@client.huawei.com
Via:SIP/2.0/UDP client.huawei.com
Contact:<sip:dialog@mrs.huawei.com;transport=udp>
Content-Length:...
Content-Type:application/sdp
v=0
o=mrs 2890844527 2890844527 IN IP4 mrs.huawei.com
s=Session SDP
c=IN IP4 mrs.huawei.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
步骤503,AS收到200 OK响应信息后,发送应答(ACK)消息到MRS。
本实施例中,ACK消息的例子如下:
ACK sip:dialog@mrs.huawei.com;uis.sr;sid=68000001 SIP/2.0
From:<sip:user@client.huawei.com>;tag=8000
To:<sip:dialog@mrs.huawei.com;uis.sr;sk=200;sid=68000001>;tag=1a1e0a19
Call-ID:12345678@client.huawei.com
CSeq:1 ACK
Via:SIP/2.0/UDP client.huawei.com
Content-Length:0
步骤504,MRS根据脚本操作信息中携带的SID,查找对应的业务脚本,并执行该业务脚本,即放音。
步骤505,MRS在放音结束后,发送携带脚本操作信息的INFO消息到AS,通知AS放音结束。该脚本操作信息中携带的脚本操作类型为ScriptEvent。
本实施例中,MRS执行的业务脚本只有一个脚本事件,因此该脚本事件是当前业务脚本的最后一个脚本事件。MRS发送给AS的INFO消息中的LEInd参数值设置为真。
本实施例中,携带脚本操作类型为ScriptEvent的脚本操作信息的INFO消息头的例子如下:
INFO sip:user@client.huawei.com;uis.se;sid=68000001;LEInd=true;UiSRes_data=111SIP/2.0
From:<sip:user@client.huawei.com>;tag=8000
To:<sip:dialog@mrs.huawei.com;uis.sr;sk=200;sid=6800001>;tag=1a1e0a19
CSeq:1 INFO
Call-ID:12345678@client.huawei.com
Via:SIP/2.0/UDP client.huawei.com;branch=z9hG4bK3e8156831
Max-Forwards:70
Content-Length:0
其中,uis.se表示该INFO消息中携带的脚本操作信息的脚本操作类型为ScriptEvent。UiSRes_data=111表示MRS放音完成。该UiSRes_data的值代表的具体内容由AS与MRS协商确定。LEInd=true表示当前执行的业务脚本中的所有脚本事件执行完毕。
步骤506,AS返回200 OK响应消息。
本步骤中,AS接收到MRS的INFO消息后,检查INFO消息是否符合SIP信令协议,检查通过后,发送200响应消息到MRS。
本实施例中,AS返回的200 OK响应消息的例子如下:
SIP/2.0 200 OK
From:<sip:user@client.huawei.com>;tag=8000
To:<sip:dialog@mrs.huawei.com;uis.se;sk=200;sid=06800001>
CSeq:1 INFO
Call-ID:12345678@client.huawei.com
Via:SIP/2.0/UDP client.huawei.com
Contact:<sip:dialog@mrs.huawei.com;transport=udp>
Content-Length:0
步骤507,AS根据接收的脚本操作信息指示,向MRS发送BYE消息,释放会话。
本步骤中,AS根据INFO消息中脚本操作信息的LEInd=true得知,MRS的已经执行完业务脚本的最后脚本事件,即放音结束,可以释放与MRS的会话。因此AS发出BYE消息,释放会话。
本实施例中,AS发送的BYE消息的例子如下:
BYE sip:dialog@mrs.huawei.com;uis.sr;uisID=06800001 SIP/2.0
From:<sip:user@client.huawei.com>;tag=8000
To:<sip:dialog@mrs.huawei.com;uis.se;sk=200;sid=06800001>;tag=1a1e0a19
Call-ID:12345678@client.huawei.com
CSeq:1 BYE
Via:SIP/2.0/UDP client.huawei.com
Content-Length:0
步骤508,MRS收到BYE请求后,向AS返回200 OK响应消息。
本实施例中,MRS向AS返回200 OK响应消息的例子如下:
SIP/2.0 200 OK
From:<sip:user@client.huawei.com>;tag=8000
To:<sip:dialog@mrs.huawei.com;uis.se;sk=200;sid=06800001>
CSeq:1 BYE
Call-ID:12345678@client.huawei.com
Via:SIP/2.0/UDP client.huawei.com
Contact:<sip:dialog@mrs.huawei.com;transport=udp>
Content-Length:0
以上就完成了一次AS通过脚本操作信息控制MRS的放音的操作。
实现本较佳实施例的业务脚本控制方法,可以采用图3所示的业务脚本的控制系统,其中MRS可以采用图6示出的本发明第一较佳实施例媒体资源服务器的组成结构。
如图6所示,MRS包括脚本操作处理单元600和存储单元610。
其中,脚本操作处理单元600包括业务脚本解析模块602、脚本结果上报模块603和会话释放模块601。
业务脚本解析模块602,用于接收AS发来的携带有SID的脚本操作信息,以接收到的SID为索引,从存储单元610中存储的对应关系中查找对应的业务脚本,并根据接收到的脚本操作信息中的脚本操作类型的指示,对查找到的业务脚本进行操作控制。
当脚本操作信息携带的脚本操作类型为ScriptRun时,业务脚本解析模块602进一步根据SID从存储单元610中,获取查找到的业务脚本的脚本类型,采用脚本类型指示的脚本解析器执行查找到的业务脚本;当脚本操作信息携带的脚本操作类型为ScriptClose时,业务脚本解析模块602根据ScriptClose的指示,关闭查找到的业务脚本;当脚本操作信息携带的脚本操作类型为ScriptInfor时,业务脚本解析模块602根据ScriptInfor的指示,继续执行查找到的业务脚本。
当业务脚本解析模块602执行完业务脚本中的一个脚本事件后,向脚本结果上报模块603发送脚本执行结果。当执行完业务脚本后,且预先得到AS的允许,业务脚本解析模块602向会话释放模块601发送释放会话命令。
脚本结果上报模块603,用于接收业务脚本解析模块602发送的脚本执行结果,根据该脚本执行结果向控制端发送携带SID的脚本操作结果。
会话释放模块601,用于接收业务脚本解析模块602发送的释放会话命令,并向控制端发送释放会话消息。当然,MRS主动释放会话需要有AS的允许,即在AS发送脚本操作类型为ScriptRun的脚本操作信息时,该脚本操作信息中携带的DisMrf参数为true。
存储单元610,用于存储SID、业务脚本和脚本类型的对应关系,并向业务脚本解析模块602返回与SID对应的业务脚本。这里的存储的业务脚本可以为业务脚本的具体内容,也可以只是URL。
第二较佳实施例
本实施例将脚本操作信息携带在SIP消息体中实现,需要扩展SIP消息的Content-Type参数。
本实施例中,在SIP消息体中增加一种的内容类型,当Content-Type为application/uis时,表示SIP消息体中携带的为脚本操作信息。在SIP消息中的定义如下:
Content-Type=<Content-type_parameter>
Content-type_parameter=“application/uis”
在SIP消息头中携带的脚本参数的定义与前面所述的脚本参数1~8的定义相同。
与第一较佳实施例不同之处在于,这种方式下,四种脚本操作信息均需要在INFO消息的消息体中携带。
脚本操作类型为sr的脚本操作信息不能携带在INVITE或ReINVITE消息的消息体中的原因是:如果将脚本操作类型为ScriptRun的脚本操作信息携带在INVITE消息的消息体中,则该INVITE消息的Content-Type应该为application/uis;但是,用于建立会话的INVITE消息的消息体中需要携带用户的SDP信息,因此该INVITE消息的Content-Type又应该为application/sdp。而,application/uis与application/sdp不能存在于同一SIP消息中,因此,脚本操作类型为sr的脚本操作信息不能携带在INVITE消息的消息体中,同理也不能携带在ReINVITE消息的消息体中。
下面以AS通过脚本操作信息指示MRS执行用户鉴权和收用户号码脚本流程为例进行说明。其中。用户鉴权操作由AS完成。MRS所存储的实现用户鉴权和收号的业务脚本包括两个脚本事件,分别为从用户获取用户名、密码,和收用户号码。
图7为本发明第二较佳实施例实现MRS用户鉴权和收号脚本控制方法的流程图。如图7所示,该方法具体实现步骤如下:
步骤700,在MRS中设置SID、业务脚本及其脚本类型的对应关系。
步骤701,AS向MRS发送INVITE消息,建立会话。
本步骤中,INVITE消息体中携带用户的SDP信息。
步骤702,MRS向AS返回200 OK响应消息,该200 OK响应消息中携带MRS本地的SDP。
步骤703,AS收到200 OK响应后,向MRS发送ACK。
步骤704,AS向MRS发送INFO消息。该INFO消息携带了脚本操作类型为ScriptRun的脚本操作信息。
本步骤中,AS向MRS发送INFO消息,在INFO消息体中携带脚本操作信息。该脚本操作信息包括Message Type、SID、SK和DisMrf。与第一较佳实施例不同之处在于,本实施例中,脚本操作类型采用Message Type参数表示。
本实施例中,携带脚本操作类型为ScriptRun的脚本操作信息的INFO消息体如下:
Content-Length:...
Content-Type=application/uis
MessageType=sr
SK=200
SID=68800001
DisMrf=true
其中,Message Type=sr表示INFO消息中携带的脚本操作信息的脚本操作类型为ScriptRun,SK=200表示需要执行的业务脚本所属业务为200电话业务,sid=68000001表示需要执行SID为68000001的业务脚本。DisMrf=true表示AS允许MRS在业务脚本执行完毕后,主动释放会话。
步骤705,MRS收到INFO消息后,向AS发送200 OK消息。
步骤706,MRS以INFO消息中,脚本操作信息携带的SID为索引,从设置在MRS的对应关系中,查找对应的业务脚本及其脚本类型,根据脚本类型调用相应脚本解析器,并根据ScriptRun,执行SID对应的业务脚本,对用户进行帐号、密码的接收。
本步骤中,业务脚本不仅可以预先设置在MRS中,或者存储在网络上的某个位置,还可以由AS将业务脚本的具体内容携带在脚本操作信息中,发送给MRS。AS向MRS发送业务脚本时,脚本执行操作信息还需要包括UiSInf_len和UiSInf_data,其中UiSInf_data参数的值为业务脚本,UiSInf_len的值为业务脚本的长度。UiSInf_data的格式由AS和MRS预先约订。
步骤707,MRS接收用户帐号、密码后,向AS发送INFO消息。该INFO消息携带了脚本操作类型为ScriptEvent的脚本操作信息。该脚本操作信息中还包括接收到用户密码和帐号。
本实施例中,携带脚本操作类型为ScriptRun的脚本操作信息的INFO消息体如下:
Content-Length:...
Content-Type=application/uis
MessageType=se
SK=200
SID=68800001
LEInd=false
UiSInf_len=25
UiSRes_data=1162a
680012345628
12345678
其中,LEInd=false表示本脚本事件不是当前业务脚本的最后脚本事件,UiSInf_len=25表示MRS接收到的用户帐号和密码数据的长度为25,UiSRes_data=1162a68001234562887654321为MRS接收到的用户密码和帐号的具体内容。本实施例中,用户帐号为6800123456的10位整数,密码为87654321的8位整数,UiSRes_data中的数字116为业务脚本相关的代码,帮助AS解析数据。UiSRes_data的具体格式和其数据代表的意义由AS和MRS约定。
步骤708,AS向MRS返回200 OK响应消息。
步骤709,AS从接收到的INFO消息所携带的脚本操作信息中,获取用户帐号和密码,并对用户进行鉴权。
本步骤中,AS将接收的INFO消息中携带的脚本操作信息传递给业务层,由业务层获取脚本操作信息中的用户的帐号和密码,并对用户进行鉴权。如果鉴权成功,则AS将脚本操作类型为ScriptInfor的脚本操作信息,携带在INFO消息中发送给MRS,指示MRS继续执行当前业务脚本的流程。如果鉴权失败,则AS将脚本操作类型为ScriptClose的脚本操作信息,携带在INFO消息中发送给MRS,终止MRS对当前业务脚本流程的执行。
本实施例中,假设鉴权成功。
步骤710,AS鉴权成功后,向MRS发送携带脚本操作信息的INFO消息,指示MRS继续执行脚本。这里的脚本操作信息的脚本操作类型为ScriptInfor,该脚本操作信息还携带有脚本结果数据参数UiSRes_data,该参数指示MRS后续动作。
本实施例中,携带脚本操作类型为ScriptInfor的脚本操作信息的INFO消息体如下:
Content-Length:...
Content-Type=application/uis
MessageType=si
SK=200
SID=68800001
UiSInf_len=3
UiSInf_data=211
其中,UiSInf_len=3是UiSRes_data数据的长度,UiSRes_data=211是AS指示MRS后续动作的代码,该代码由AS和MRS约定。本实施例的211由MRS解析后,表示MRS继续执行业务逻辑,发送提示音,提示用户拨被叫号码。
步骤711,MRS接收到INFO消息后,向AS发送200 OK响应消息。
步骤712,MRS根据接收的INFO消息中携带的脚本操作信息,继续执行业务脚本:MRS向用户发送拨被叫号码的提示音,并接收用户输入的被叫号码。
步骤713,MRS接收到被叫号码后,向AS发送INFO消息。该INFO消息体携带了脚本操作类型为ScriptEvent的脚本操作信息。该脚本操作信息还包括用户输入的被叫号码。
本实施例中,MRS接收到被叫号码,则当前脚本事件执行完毕,且该脚本事件是MRS所执行业务脚本的最后脚本事件,则MRS向AS发送的脚本操作信息不仅上报了用户输入的被叫号码,还通知AS该脚本事件是最后脚本事件,即LEInd=true。
本实施例中,携带脚本操作类型为ScriptEvent的脚本操作信息的INFO消息体如下:
Content-Length:...
Content-Type=application/uis
MessageType=se
SK=200
SID=68800001
LEInd=ture
UiSInf_len=25
UiSRes_data=2e2c
075528970808
其中,UiSRes_data=2e2c075528970808为用户输入的被叫号码的具体内容。本实施例中,用户被叫号码为075528970808的12位的整数。UiSRes_data中的数字2e为业务脚本相关代码。
步骤714,AS接收到INFO消息后,向MRS发送200 OK响应消息。
步骤715,MRS向AS发出BYE请求,释放会话。
本步骤中,由于步骤704中AS向MRS发送的脚本操作信息携带DisMrf的值为真,则允许MRS主动释放会话。因此在MRS执行完当前业务脚本的最后一个脚本事件后,可以主动释放与AS的会话。
步骤716,AS向MRS返回200 OK响应。
以上就完成了一次AS通过脚本操作信息指示MRS的进行用户鉴权和收号操作。
本实施例是由AS进行鉴权操作。在实际应用中,也可以由MRS进行鉴权操作。例如,步骤707MRS在进行完业务脚本中的脚本事件后,可以只通知AS执行完毕,即MRS向AS发送的脚本操作类型为ScriptEvent的脚本操作信息中携带执行完毕代码,AS执行控制端业务逻辑,然后向MRS发送用户帐号和密码,由MRS执行鉴权操作。这里控制端向MRS发送的用户帐号和密码就是用户交互信息,可以携带在步骤710脚本操作信息的UiSRes_data参数中。当然,用户帐号和密码也可以保存在MRS,则MRS不需要与AS进行交互,即可完成用户鉴权操作。
MRS向AS上报的执行结果的内容,以及AS根据执行结果向MRS发送的协助MRS继续执行业务逻辑的用户交互信息的内容,都是由MRS和AS预先约订的,根据所执行的业务逻辑而有所区别。
实现以上第二较佳实施例的业务脚本控制方法,可以采用图3示出的业务脚本的控制系统,以及图6示出的媒体资源服务器。
以上各实施例中,在SIP协议中携带脚本操作信息的方案可以在AS和MRS的执行平台层实现,或者在AS和MRS的业务层实现。在业务层实现时,可以通过AS或MRS的执行平台层对SIP协议的解释后,将SIP消息中携带的脚本操作信息中的数据传递给AS或MRS的上层业务逻辑,由业务逻辑对数据内容进行解释执行。这样AS和MRS之间的业务之间可以自定义相互交互的数据和数据格式,而不需要平台层参与。
由以上所述可以看出,本发明所提供的业务脚本的获取方案,提供了一种简单的控制媒体资源服务器获取业务脚本的方法,由于AS不用获取并向MRS发送脚本类型和脚本位置等信息,因此减轻了AS的负担,而且只需对SIP消息进行一次扩展,使得扩展后的SIP消息可以携带本实施例中的脚本操作信息,避免了现有技术中根据不同脚本类型对传输协议进行多次扩展的复杂程度。
其次,AS在控制MRS执行业务脚本时,并不限定MRS执行什么类型的脚本,MRS可以执行MSML、VXML、C、C++等业务脚本,或者私有的业务脚本,当MRS扩展了其支持的业务脚本的种类,或者改变了SID对应的业务脚本的类型,只要业务脚本功能不变,与SID的对应关系不变,MRS仍可以根据SID获取所需的业务脚本,完成既定的用户交互功能,因此提高了媒体资源服务器的可扩展性。
此外,本发明所提供的业务脚本控制方案,还能够实现AS在不释放会话的前提下,主动停止MRS所执行的业务脚本;MRS也可以在停止业务脚本执行后主动释放会话,提高了业务控制的灵活性。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (24)
1、一种业务脚本获取方法,其特征在于,在媒体资源服务器MRS中预先设置脚本标识SID、脚本类型与业务脚本的对应关系;该方法包括:
控制端向MRS发送携带有SID的脚本操作信息;
MRS根据接收到的SID和所述对应关系,获取与该SID对应的业务脚本及其脚本类型。
2、如权利要求1所述的方法,其特征在于,所述脚本操作信息携带在扩展对话参数dialog-param的会话初始化协议SIP消息的消息头。
3、如权利要求1所述的方法,其特征在于,所述脚本操作信息携带在扩展内容类型Content-type的SIP消息的消息体。
4、如权利要求1所述的方法,其特征在于,所述脚本操作信息中进一步携带有业务脚本,所述获取与该SID对应的业务脚本及其脚本类型的方法为:
所述MRS从接收到的脚本操作信息获取业务脚本,并根据接收到的SID和所述对应关系,获取所述从脚本操作信息获得的业务脚本的脚本类型。
5、一种业务脚本控制方法,其特征在于,在媒体资源服务器MRS中预先设置脚本标识SID、脚本类型与业务脚本的对应关系;该方法包括:
控制端向MRS发送携带有SID的脚本操作信息;
所述MRS根据接收到的SID和所述对应关系,获取与SID对应的业务脚本,并根据接收到的脚本操作信息中的脚本操作类型的指示,对所述对应的业务脚本进行操作控制。
6、如权利要求5所述的方法,其特征在于,所述脚本操作类型为脚本执行操作,该方法进一步包括:根据所述接收到的SID和所述对应关系,获取所述对应的业务脚本的脚本类型;
所述根据脚本操作类型的指示,对对应的业务脚本进行操作控制的方法为:
所述MRS根据获得的脚本类型调用脚本解析器,采用调用的脚本解析器执行所述业务脚本。
7、如权利要求5所述的方法,其特征在于,所述脚本操作类型为脚本关闭操作,所述根据脚本操作类型的指示,对对应的业务脚本进行操作控制的方法为:
所述MRS根据所述脚本关闭操作的指示,关闭所述对应的业务脚本。
8、如权利要求7所述的方法,其特征在于,在所述控制端预先设置SID与用于控制MRS工作的控制端业务逻辑的对应关系;
所述MRS每执行完所述对应的业务脚本中的一个脚本事件,向所述控制端发送携带有SID的脚本操作结果;
所述控制端根据所述脚本操作结果携带的SID,执行SID对应的控制端业务逻辑,并根据所述控制端业务逻辑执行结果,重新向所述MRS发送携带有SID的脚本操作信息。
9、如权利要求8所述的方法,其特征在于,
若所述业务逻辑执行结果为需要MRS继续执行所述对应的业务脚本,则所述控制端重新发送的所述携带有SID的脚本操作信息的脚本操作类型为脚本信息操作;
MRS接收到所述携带有SID和脚本操作类型为脚本信息操作的脚本操作信息之后,该方法进一步包括:所述MRS继续执行所述业务脚本;
若所述业务逻辑执行结果为需要MRS停止执行所述对应的业务脚本,则所述控制端重新发送的所述携带有SID的脚本操作信息的脚本操作类型为脚本关闭操作。
10、如权利要求9所述的方法,其特征在于,所述携带有SID和脚本操作类型为脚本信息操作的脚本操作信息包括脚本信息数据参数,用于携带控制端向MRS发送的协助MRS继续执行业务脚本的信息;
所述脚本操作结果包括脚本结果数据参数,用于携带MRS向控制端上报的执行结果信息。
11、如权利要求10所述的方法,其特征在于,所述脚本结果数据参数和所述脚本信息数据参数采用抽象语法编码1的数据编解码格式。
12、如权利要求8所述的方法,其特征在于,所述脚本操作类型为脚本执行操作的脚本操作信息,进一步包括媒体资源服务器释放会话参数;所述脚本操作结果进一步包括最后脚本事件指示参数;
所述向MRS发送携带有SID的脚本操作信息的方法为:
所述控制端向MRS发送携带有SID、媒体资源服务器释放会话参数和脚本操作类型为脚本执行操作的脚本操作信息,通知MRS允许其主动释放与控制端的会话;
当所述MRS执行完当前业务脚本的最后脚本事件,所述MRS向控制端发送携带有SID的脚本操作结果为:携带有SID和所述最后脚本事件指示参数的脚本操作结果;
在所述MRS向控制端发送携带有SID和所述最后脚本事件指示参数的脚本操作结果后,该方法进一步包括:所述MRS主动释放与控制端之间的会话。
13、如权利要求5所述的方法,其特征在于,所述脚本操作信息携带在扩展对话参数dialog-param的会话初始化协议SIP消息的消息头中。
14、如权利要求5所述的方法,其特征在于,所述脚本操作信息携带在扩展内容类型Content-type的SIP消息的消息体中。
15、如权利要求5所述的方法,其特征在于,在网际协议多媒体子系统IMS网络中,所述控制端为应用服务器AS或呼叫会话控制功能实体CSCF;
在下一代网络NGN中,所述控制端为AS或软切换Softswitch设备。
16、一种媒体资源服务器,其特征在于,该媒体资源服务器包括脚本解析模块和存储单元;
脚本解析模块,用于接收控制端发送的携带有脚本标识SID的脚本操作信息;根据接收到的SID从所述存储单元存储的对应关系中获取对应的业务脚本;并根据接收到的脚本操作信息中的脚本操作类型的指示,对所述对应的业务脚本进行操作控制;
存储单元,用于存储SID、脚本类型与业务脚本的对应关系;并向所述脚本解析模块返回所述对应的业务脚本。
17、如权利要求16所述的媒体资源服务器,其特征在于,该媒体资源服务器进一步包括脚本结果上报模块,用于接收所述脚本解析模块发送的脚本执行结果,并向控制端发送脚本操作结果;
所述脚本解析模块进一步用于,在每执行完业务脚本的脚本事件后,向所述脚本结果上报模块发送携带有SID的脚本操作结果。
18、如权利要求16所述的媒体资源服务器,其特征在于,该MRS进一步包括会话释放模块,用于接收业务脚本解析模块发送的释放会话命令,并向控制端发送释放会话消息;
所述脚本解析模块进一步用于,在执行完业务脚本后,向所述会话释放模块发送释放会话命令。
19、一种业务脚本的控制系统,其特征在于,该系统包括控制端和媒体资源服务器MRS;
控制端,用于向MRS发送携带有脚本标识SID的脚本操作信息;
MRS,存储有SID、脚本类型与业务脚本的对应关系,用于接收来自控制端的携带有SID的脚本操作信息,根据接收到的SID从自身存储的对应关系中获取对应的业务脚本;并根据接收到的脚本操作信息中的脚本操作类型的指示,对所述对应的业务脚本进行操作控制。
20、如权利要求19所述的系统,其特征在于,所述MRS包括脚本解析模块和存储单元;
脚本解析模块,用于接收控制端发送的携带有SID的脚本操作信息;根据接收到的SID从所述存储单元存储的对应关系中获取对应的业务脚本;并根据接收到的脚本操作信息中的脚本操作类型的指示,对所述对应的业务脚本进行操作控制;
存储单元,用于存储SID、脚本类型与业务脚本的对应关系;并向所述脚本解析模块返回所述对应的业务脚本。
21、如权利要求20所述的系统,其特征在于,所述MRS进一步包括脚本结果上报模块,用于接收所述业务脚本解析模块发送的释放会话命令,并向控制端发送释放会话消息;
所述脚本解析模块进一步用于,在每执行完所述对应的业务脚本中的脚本事件后,向控制端发送携带有SID的脚本操作结果。
22、如权利要求21所述的系统,其特征在于,所述MRS进一步包括会话释放模块,用于接收业务脚本解析模块发送的释放会话命令,并向控制端发送释放会话消息;
所述脚本解析模块进一步用于,在执行完所述对应的业务脚本后,向所述会话释放模块发送释放会话命令。
23、如权利要求20所述的系统,其特征在于,所述控制端与所述MRS采用会话初始化协议SIP消息进行信息交互;
所述控制端将所述携带有SID的脚本操作信息设置在所述SIP消息的消息体或消息头发送给MRS;
MRS将所述携带有SID的脚本操作结果携带在所述SIP消息的消息体或消息头发送给控制端。
24、如权利要求19所述的系统,其特征在于,在网际协议多媒体子系统IMS网络中,所述控制端为应用服务器AS或呼叫会话控制功能实体CSCF;
在下一代网络NGN中,所述控制端为AS或软切换Softswitch设备。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2007100003921A CN101005502B (zh) | 2007-01-25 | 2007-01-25 | 业务脚本获取、控制方法及其控制系统和媒体资源服务器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2007100003921A CN101005502B (zh) | 2007-01-25 | 2007-01-25 | 业务脚本获取、控制方法及其控制系统和媒体资源服务器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101005502A true CN101005502A (zh) | 2007-07-25 |
| CN101005502B CN101005502B (zh) | 2010-12-01 |
Family
ID=38704364
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2007100003921A Expired - Fee Related CN101005502B (zh) | 2007-01-25 | 2007-01-25 | 业务脚本获取、控制方法及其控制系统和媒体资源服务器 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101005502B (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010043142A1 (zh) * | 2008-10-17 | 2010-04-22 | 华为技术有限公司 | 一种增强基于脚本业务的应用可靠性的方法、装置和系统 |
| CN102270132A (zh) * | 2011-07-13 | 2011-12-07 | 中国人民解放军海军计算技术研究所 | Linux操作系统中脚本行为的控制方法 |
| CN102385527A (zh) * | 2010-09-01 | 2012-03-21 | 中兴通讯股份有限公司 | 一种提升业务脚本执行效率的装置及方法 |
| CN106685965A (zh) * | 2016-12-29 | 2017-05-17 | 河北远东通信系统工程有限公司 | 一种灵活的centrex业务实现系统 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100495977C (zh) * | 2004-08-18 | 2009-06-03 | 华为技术有限公司 | 在下一代网络中操作媒体资源的方法 |
| CN100369422C (zh) * | 2004-09-28 | 2008-02-13 | 中兴通讯股份有限公司 | 一种媒体服务器的综合测试仪及综合测试方法 |
-
2007
- 2007-01-25 CN CN2007100003921A patent/CN101005502B/zh not_active Expired - Fee Related
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010043142A1 (zh) * | 2008-10-17 | 2010-04-22 | 华为技术有限公司 | 一种增强基于脚本业务的应用可靠性的方法、装置和系统 |
| US8453158B2 (en) | 2008-10-17 | 2013-05-28 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for enhancing application reliability of a script-based service |
| CN102385527A (zh) * | 2010-09-01 | 2012-03-21 | 中兴通讯股份有限公司 | 一种提升业务脚本执行效率的装置及方法 |
| CN102270132A (zh) * | 2011-07-13 | 2011-12-07 | 中国人民解放军海军计算技术研究所 | Linux操作系统中脚本行为的控制方法 |
| CN102270132B (zh) * | 2011-07-13 | 2014-03-12 | 中国人民解放军海军计算技术研究所 | Linux操作系统中脚本行为的控制方法 |
| CN106685965A (zh) * | 2016-12-29 | 2017-05-17 | 河北远东通信系统工程有限公司 | 一种灵活的centrex业务实现系统 |
| CN106685965B (zh) * | 2016-12-29 | 2019-07-02 | 河北远东通信系统工程有限公司 | 一种灵活的centrex业务实现系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101005502B (zh) | 2010-12-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12231473B2 (en) | Call processing system and call processing method | |
| US11252201B2 (en) | Communications methods, apparatus and systems to provide optimal media routing | |
| US7752315B2 (en) | Method for extending the use of SIP (session initiated protocol) for providing debug services | |
| US9894128B2 (en) | Selective transcoding | |
| US20230353673A1 (en) | Call processing method, call processing apparatus, and related device | |
| CN101114985B (zh) | 编解码转换系统及方法 | |
| EP2587777B1 (en) | Method and system for implementing color ring back tone and multimedia ring alert tone service. | |
| CN102144380B (zh) | 端对端地址转移 | |
| WO2007098706A1 (fr) | Procédé permettant de transmettre des données de service et terminal de paquets utilisé dans ce procédé | |
| CN101867590B (zh) | 基于会话初始化协议的订阅方法和装置 | |
| CN101005502B (zh) | 业务脚本获取、控制方法及其控制系统和媒体资源服务器 | |
| WO2007079652A1 (en) | Method and system for interacting with media servers based on the sip protocol | |
| KR101447297B1 (ko) | 세션 통합 방법 및 시스템 | |
| WO2007112640A1 (fr) | Procédé et appareil de remplacement de l'identification de session, serveur d'application et procédé de remplacement de session | |
| WO2012113331A1 (zh) | 一种ims网络中的业务触发方法、系统、计算机程序和存储介质 | |
| CN102045330B (zh) | 一种ims软终端及其通信方法 | |
| CN109257368A (zh) | 一种基于嵌入式设备的通讯会话建立方法 | |
| KR101489432B1 (ko) | 접속 설정 프로토콜 기반의 브이오 아이피 네트워크에서 미디어 코덱 결정 방법 및 장치 | |
| US11277451B2 (en) | Method and entity for managing a multimedia session between a calling terminal and at least one called terminal, corresponding terminal and computer programs | |
| Rosenberg | A Framework for Application Interaction in the Session Initiation Protocol (SIP) | |
| CN105306420B (zh) | 实现从文本到语音业务循环播放的方法、装置及服务器 | |
| KR20120058764A (ko) | VoIP의 통화 품질 제공 방법 및 그 장치 | |
| WO2006008297A2 (en) | Push to watch network element and software architecture | |
| WO2013127469A1 (en) | Methods and apparatus for media transmission in telecommunications networks | |
| CN101123524B (zh) | 用于实现会议业务的方法 |
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 | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101201 Termination date: 20200125 |