通信设备业务控制方法及其系统的制作方法

文档序号:7960472阅读:99来源:国知局
专利名称:通信设备业务控制方法及其系统的制作方法
技术领域
本发明涉及通信技术,特别涉及分组电信网络。
背景技术
随着传统通信网络、互联网以及移动通信网络的发展,各个网络相互融合是必然趋势,下一代网络(Next Generation Network,简称“NGN”)就是以网际协议(Internet Protocol,简称“IP”)分组交换网络为核心网,控制与承载分离,各种接入技术并存,融合现有各种网络的新一代网络,能够满足未来宽带多媒体通信的需求。分组交换网络和基于电路交换的传统通信网络间通过具有跨网络呼叫接续能力的网关设备,例如具有媒体网关控制功能(Media Gateway Control Function,简称“MGCF”)的中继网关、具有接入网关控制功能(Access Gateway Control Function,简称“AGCF”)的接入网关等,实现互通。
国际电信联盟-电信标准部(International TelecommunicationUnion-Telecommunication Standardization Sector,简称“ITU-T”)和欧洲电信标准协会(European Telecommunications Standards Institute,简称“ETSI”)当前都采用第三代合作伙伴项目(3rd Generation Partnership Project,简称“3GPP”)标准组织定义的IP多媒体子系统(IP Multimedia Subsystem,简称“IMS”)架构作为NGN的核心网。
随着分组技术的不断成熟,使用会话发起协议(Session InitiationProtocol,简称“SIP”)作为分组交换网络的呼叫控制信令则是当前的技术发展趋势之一。SIP是互联网工程任务组(Internet Engineering Task Force,简称“IETF”)制定的NGN中的重要协议,被认为是IMS的核心协议之一,而3GPP也已经确定采用SIP作为第三代移动通信(The Third Generation,简称“3G”)全IP阶段的多媒体域会话控制协议。
作为IETF标准进程的一部分,SIP的开发目的是用来帮助提供跨越因特网(Internet)的高级电话业务,用来建立、改变和终止基于IP网络的用户间的呼叫。它是在简单邮件传送协议(Simple Mail Transfer Protocol,简称“SMTP”)和超文本传送协议(Hypertext Transfer Protocol,简称“HTTP”)等Internet上广泛应用的协议基础之上建立起来的。
SIP凭借其简单、易于扩展、便于实现等诸多优点越来越得到业界的青睐,在市场上出现越来越多的支持SIP协议的客户端软件和智能多媒体终端,以及用SIP实现的服务器和交换设备。具体地说,SIP中有客户机和服务器之分客户机是指为了向服务器发送请求而与服务器建立连接的应用程序;服务器是用于向客户机发出的请求提供服务并回送应答的应用程序。
其中,SIP共有四类基本服务器用户代理(User Agent,简称“UA”)服务器,当接到SIP请求时它联系用户,并代表用户返回响应;代理服务器,代表其它客户机发起请求,既充当服务器又充当客户机的媒介程序,在转发请求之前,它可以改写原请求消息中的内容;重定向服务器,它接收SIP请求,并把请求中的原地址映射成零个或多个新地址,返回给客户机;注册服务器,它接收客户机的注册请求,完成用户地址的注册。
用户终端程序往往需要包括UA客户机和UA服务器,而代理服务器、重定向服务器和注册服务器是公众性的网络服务器。
SIP消息用于会话连接的建立及修改,其格式与HTTP协议的格式类似,分为请求(REQUEST)和响应(RESPONSE)两类。其中,RESPONSE消息有多种编码,指示会话接受方所做出的具体响应。而REQUEST消息有6种基本类型,分别为发起呼叫(INVITE)、对应答做出回应(ACK)、拆除连接(BYE)、中途取消(CANCLE)、查询对方的能力(OPTIONS)和注册(REGISTER)。另外,SIP协议的制订者还在根据需要定义新的类型。具体地说,INVITE和ACK用于建立呼叫,完成三次握手,或者用于建立以后改变会话属性;BYE用以结束会话;OPTIONS用于查询服务器能力;CANCEL用于取消已经发出但未最终结束的请求;REGISTER用于客户出向注册服务器注册用户位置等消息。
虽然这种新的SIP用户终端将逐步取代传统的终端话机,也是分组交换网络未来发展的趋势,但运营商在分组交换网络的建设过程中,需要逐步对传统通信网络中的公用电话交换网(Public Switched Telephone Network,简称“PSTN”)/综合业务数字网(Integrated Services Digital Network,简称“ISDN”)进行网络改造,实现现有PSTN/ISDN网络向NGN的平滑演进。这必然要求现有的PSTN/ISDN核心网络在使用分组交换网络进行替换之后,能够保留现有PSTN/ISDN网络的终端、用户网络接口、业务使用体验等不变。这种分组交换网络应用于PSTN/ISDN核心网的改造和替换的应用场景有时也称为PSTN/ISDN仿真(PSTN/ISDN Emulation)。
在PSTN/ISDN仿真子系统(PSTN/ISDN Emulation Subsystem,简称“PES”)中,也采用基于IMS的网络架构。因此在ITU-T和ETSI下属的用于先近网络的电信和因特网融合的业务及协议(Telecommunications andInternet converged Services and Protocols for Advanced Networking,简称“TISPAN”)标准组织中均成立了相关的标准项目进行这方面的研究工作。
在TISPAN标准草案ETSI TS 02030 V<1.2.7>(2005-12)《TISPANFunctional Architecture;PSTN/ISDN Emulation Subsystem;IMS-basedfunctional architecture(TISPAN功能构架;PES;基于IMS的功能构架)》中给出了基于IMS的PES的功能架构定义,其功能架构如图1所示,应用了AGCF和媒体网关(Media Gateway,简称“MG”)等功能实体实现了传统PSTN终端到IMS网络的接入适配,同时把PSTN业务逻辑控制上移到IMS网络的应用服务器(Application Server,简称“AS”)中。在TISPAN标准草案ETSI TS 183 043 V<0.1.8>(2006-02)《TISPAN NGN IMS-basedPSTN/ISDN Emulation Call Control Protocols Stage 3(TISPAN NGN基于IMS的PSTN/ISDN仿真呼叫控制协议阶段3)》中还给出了基于IMS实现PSTN仿真业务的一些具体流程定义。
在TISPAN定义的基于IMS的PES中,由AGCF来做业务逻辑处理。例如,AGCF向PES AS订阅拨号音管理文件,其中,包含标准信号音或留言指示信号音等的指示,当AGCF收到留言指示事件包时,将根据该拨号音管理文件将留言指示信号音设置为用户摘机后听的缺省拨号音;再例如,用户登记无条件呼叫前转业务,登记成功后,PES AS向AGCF发送NOTIFY消息,AGCF解析该NOTIFY消息中携带的事件包,再根据该拨号音管理文件将特殊拨号音设置为用户摘机后听的缺省拨号音;再例如,AGCF收到用户的拍叉(flash-hook)信号后,需要分析当前的呼叫状态,具体地说,这些状态有一方呼叫状态、稳定的两方呼叫状态、具有保持/等待方的稳定的两方呼叫状态等。然后再进行相应的播放拨号音、收集号码、发送号码等处理。
在实际应用中,上述方案存在以下问题AGCF上的业务逻辑处理复杂,不符合基于IMS的PES发展的核心思想。
造成这种情况的主要原因在于,根据现有的实际实施方案,AGCF上的业务逻辑处理复杂,然而,在基于IMS的PES中,一个核心思想是将PSTN业务逻辑控制上移到PES AS上,也即,简化AGCF的处理、在PES AS上集中处理业务的思想,因此,目前的实施方案不符合PES的核心思想的要求。例如,在多方会议业务中,收到用户拍叉信号后,如果其他方用户听会议电话语音通知,则AGCF上的业务逻辑处理将更加复杂。
此外,在TISPAN中还定义了PSTN/ISDN模拟业务(PSTN/ISDNSimulation Services),它同样采用IMS架构,为SIP终端提供具有PSTN/ISDN补充业务特征的模拟业务,事实上大部分的Simulation模拟业务和Emulation仿真业务是类似的,如主叫号码显示/主叫号码显示限制业务,在上文提到的TISPAN标准草案ETSI TS 183 043 V<0.1.8>(2006-02)附录中,给出该业务的执行,如临时预约OIR业务要求PES AS在其收到的来自AGCF的invite消息中插入Privacy头域,以及在From头域中前插anonymous关键字操作。而在Simulation模拟业务中,也有类似的源标识显示/源标识显示限制业务,上述PES AS的操作是Simulation模拟业务AS并不具备的(参考TISPAN标准草案ETSI TS 183 007),该操作可以由SIP终端自己完成。显然,对用户的体验来说,这两种业务是相同的,但按照上述TISPAN当前的实现方式,虽然业务都是基于IMS网络,但网络还是需要部署两类业务的AS,造成投资的浪费。

发明内容
有鉴于此,本发明的主要目的在于提供一种通信设备业务控制方法及其系统,使得通信设备的业务逻辑处理简化。
本发明进一步的目的是可以使网络重用提供模拟业务控制的应用服务器设备,节约投资。
为实现上述目的,本发明提供了一种通信设备业务控制方法,包含以下步骤所述通信设备获取用户的配置文件,其中包含操作事件和相应动作;所述通信设备检测该用户执行的操作事件,如果检测到所述配置文件中的操作事件,则根据该配置文件中的相应动作执行业务逻辑处理。
其中,所述通信设备从网络侧的配置递送服务器获取所述用户的配置文件。
此外在所述方法中,所述通信设备获取用户的配置文件的步骤还包含以下子步骤所述通信设备在所述用户注册后向所述配置递送服务器订阅该用户的配置文件;所述配置递送服务器在收到所述通信设备发送的对用户的配置文件订阅的订阅消息时,向该通信设备发送携带该配置文件的消息;此后,当该用户的业务应用环境发生变化时,该配置递送服务器根据该用户当前的业务应用环境生成新的用户配置文件,并通知所述通信设备;所述通信设备对收到的当前的用户配置文件进行解释。
此外在所述方法中,在用户的业务应用环境发生变化时,所述配置递送服务器通知所述通信设备上一次通知之后该配置文件中发生变化的部分。
此外在所述方法中,在用户的业务应用环境发生变化时,所述配置递送服务器将新生成的用户配置文件通知所述通信设备。
此外,所述方法应用于公用电话交换网/综合业务数字网仿真子系统;其中,所述通信设备为SIP用户代理。
此外在所述方法中,所述配置文件中的操作事件包含以下之一或其任意组合摘机事件、拨号事件、拍叉事件、挂机事件、或定时器超时事件;所述操作事件的相应动作包含以下之一或其任意组合向网络侧发送消息、给用户发送指示信号、定时器设置。
此外在所述方法中,所述给用户发送的指示信号包含以下之一或其任意组合给用户送音、给用户下发反极或反极脉冲信号、显示信号、保持、恢复。
此外在所述方法中,所述通信设备通过SIP或超文本传输协议向网络侧发送消息,其中,通过SIP向网络侧发送的消息是“Invite”消息、“Refer”消息、“subscribe”消息、“BYE”消息。
此外在所述方法中,所述业务包含热线业务、用户欠费摘机听欠费音、用户有新留言后摘机听留言指示信号音、缩位拨号、群用户摘机出群拨号听二次拨号音、拍叉处理、PSTN/ISDN仿真业务、或PSTN/ISDN模拟业务。
此外在所述方法中,所述配置文件通过可扩充标记语言描述所述操作事件和相应动作。
本发明还提供了一种通信设备业务控制系统,包含配置递送服务器和通信设备;所述配置递送服务器,用于提供该用户的配置文件,其中包含操作事件和相应动作;所述通信设备,用于从所述配置递送服务器获取用户的配置文件,检测该用户执行的操作事件,如果检测到所述配置文件中的操作事件,则根据该配置文件中的相应动作执行业务逻辑处理。
其中,所述配置递送服务器根据所述用户的签约数据和业务应用环境提供该用户的配置文件。
此外在所述系统中,所述通信设备为SIP用户代理。
此外在所述系统中,所述SIP用户代理为具有接入网关控制功能的接入设备或SIP综合接入设备。
通过比较可以发现,本发明的技术方案与现有技术的主要区别在于,SIPUA等通信设备从配置递送服务器(profile delivery server)等网络实体获得用户的配置文件,并根据该配置文件检测该用户执行的操作事件,如果检测到该配置文件中的操作事件,则根据该配置文件中的相应动作执行业务逻辑处理。这种通过匹配配置文件中的操作事件来执行相应动作的方法,大大降低了SIP UA的处理复杂度。
同时,SIP UA通过匹配配置文件,使其向网络发出的动作,可以和SIP终端设备执行同类业务发出的动作完全一致,从而使SIP UA在处理同类业务时,可以重用网络处理模拟业务的应用服务器设备,即处理模拟业务的应用服务器设备也可以为公用电话交换网/综合业务数字网仿真子系统服务,节约了网络投资。
由配置递送服务器根据业务环境的变化更新当前的用户配置文件,并通知订阅了该配置文件的SIP UA新的配置文件或仅通知该配置文件的变更部分,使得SIP UA的处理得到简化,并能适应业务环境的变化。
配置文件采用XML语言描述操作事件和相应动作,业务的可扩展性强。


图1是现有技术中基于IMS的PES功能架构示意图;图2是根据本发明第一实施方式的通信设备业务控制方法流程图;图3是根据本发明第二实施方式的通信设备业务控制方法流程图;图4是根据本发明第三实施方式的通信设备业务控制系统结构图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明由配置递送服务器根据用户当前的业务应用环境,给出用户可能的各种操作,以及这些操作所可能引发的网络侧动作的逻辑描述,并把这种逻辑描述作为一种配置文件传递给通信设备。通信设备收到用户的操作事件后,利用该配置文件进行匹配,得到配置文件中所描述的相应动作,并直接执行该动作。其中,通信设备可以是具备AGCF的接入设备或SIP IAD等作为SIP UA的设备,配置递送服务器可以是PES AS。
具体地说,SIP UA收到的来自用户的可能的操作事件包含摘机事件、拍叉事件、挂机事件和拨号事件。另外,还可能发生超时事件,即当用户完成一个操作事件后网络侧等待用户的下一个操作事件时,如果在规定时间内用户未进行下一个操作,则网络侧会生成一个超时事件。例如,在用户摘机后网络侧将等待用户拨号,同时启动定时器(如10秒定时器),若在该定时器的定时时间内未收到用户的任何操作事件,则网络侧将生成超时事件,并启动超时处理。作为对会话的保护,由定时器触发的超时事件及其处理包含在每个来自用户的操作事件及其相应处理动作中。因此,对定时器设置包含设置定时器时长和超时处理动作。其中,超时处理动作可以为SIP UA给用户下发指示、SIP UA给网络侧发送消息、SIP UA对自身的定时器进行设置等。
显而易见,来自用户的操作事件是有限的。在用户执行的操作事件后,根据用户当前的业务应用环境,SIP UA可能执行的动作也将是固定的对于用户的操作事件,SIP UA给用户下发指示(可以不下发任何指示,也可以同时下发多个指示),例如听音指示、反极信号指示、显示指示等;SIP UA给网络侧发送消息(可以不发送任何消息,也可以同时发送多个消息);SIP UA对自身定时器的设置。
具体地说,SIP UA收到的来自用户的操作事件所执行的动作分别如下所述。
摘机事件对应的处理项包括反极或反极脉冲处理项、信号音或语音通知处理项、热线号码或立即热线号码处理项等。其中,反极或反极脉冲处理项对应的动作为SIP UA向用户下发反极或反极脉冲信号;信号音或语音通知处理项对应的动作为SIP UA向用户下发信号音或语音通知、或SIP UA向指定音资源发起呼叫;热线号码或立即热线号码处理项对应的动作为SIP UA发起呼叫,例如发送SIP INVITE消息。
拍叉事件对应的处理项也包含信号音或语音通知处理项,还包含保持处理项、恢复处理项等。其中,保持处理项对应的动作为SIP UA向用户下发会话描述协议(Session Description Protocol,简称“SDP”)为保持的下发动作、或向对端发送SDP为保持的保持动作,例如,发送SIP re-INVITE(重新发起呼叫)消息;恢复处理项对应的动作为SIP UA向用户下发SDP为恢复的下发动作、或向对端发送SDP为恢复的恢复动作,同样,例如发送SIP re-INVITE消息。
挂机事件对应的处理项包括释放处理项、转移处理项等。其中,释放处理项对应的动作为SIP UA释放呼叫,例如,发送BYE消息;转移处理项对应的动作为SIP UA将和用户相关的两个呼叫转移为一个呼叫,例如,发送SIPREFER(参考)消息。
而拨号事件对应的配置项包括拨号范式处理项。该处理项又由信号音或语音通知处理项、号码规则配置项等组成。其中,号码规则配置项对应的动作为SIP UA将用户拨打的号码收集全后发起的呼叫动作。该动作比较特殊,既可以将用户所拨的号码收集全后,将号码通过发起的呼叫动作传递给PES AS,由PES AS根据该号码进行相应的业务处理,也可以由SIP UA直接根据所拨的号码进行相应的处理。其中,这些业务包含呼出业务、补充业务激活、补充业务数据操作等。例如,所拨号码表示的是补充业务激活或补充业务数据操作,则号码规则配置项对应的动作还包含订阅动作(如发送SIP SUBSCRIBE消息)、数据操作动作(如发送HTTP/XCAP消息)、释放动作、保持动作、恢复动作等。因此,根据用户的操作事件和对应的处理动作来生成配置文件是可行的。经过大量的实验总结和验证,本发明给出了符合上述描述的XML Schema文件,采用该XML Schema文件可以定义配置文件的结构,约束配置文件的内容。XMLSchema文件内容如下<pre listing-type="program-listing">< xml version="1.0"encodinq="UTF-8" ></pre><pre listing-type="program-listing"><xs:schema xmlns="urn:ietf:params:xml:profile"xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="urn:ietf:params:xml:profile"elementFormDefault="qualified"attributeFormDefault="unqualified"><xs:element name="profile"><xs:complexType><xs:sequence><xs:element ref="offhook"/><xs:element ref="hooking"/><xs:element ref="dial"/><xs:element ref="onhook"/></xs:sequence><xs:attribute name="version"type="xs:nonNegativeInteger"use="required"/><xs:attribute name="state"use="required"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="full"/><xs:enumeration value="partial"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType></xs:element><xs:element name="offhook"type="processor"/><xs:element name="hooking"type="processor"/><xs:element name="onhook"type="processor"/><xs:complexType name="processor"><xs:sequence><xs:element ref="to-network"minOccurs="0"maxOccurs="unbounded"/><xs:element ref="to-user"minOccurs="0"maxOccurs="unbounded"/><xs:element name="timer"minOccurs="0"><xs:complexType><xs:sequence><xs:element name="timerlength"type="xs:integer"minOccurs="0"/><xs:element ref="timeoutaction"minOccurs="0"/></xs:sequence>  <xs:attribute name="startup"type="xs:boolean"use="required"/>  </xs:complexType>  </xs:element>  </xs:sequence>  <xs:attribute name="allow"type="xs:boclean"use="required"/>  </xs:complexType>  <xs:element name="dial">  <xs:complexType>  <xs:choice>  <xs:element ref="dial-pattern"/>  <xs:element name="overlap"type="processor"/>  </xs:cho1ce>  <xs:attribute name="allow"type="xs:boolean"use="required"/>  </xs:complexType>  </xs:element>  <xs:element name="timeoutaction">  <xs:complexType>  <xs:sequence>  <xs:element ref="to-user"/>  <xs:element ref="to-network"/>  </xs:sequence>  </xs:complexType>  </xs:element>  <xs:element name="to-network">  <xs:complexType>  <xs:attribute name="needed"type="xs:boolean"use="required"/>  <xs:attribute name="method"use="optional">  <xs:simpleType>  <xs:restriction base="xs:string">  <xs:enumeration value="invite"/>  <xs:enumeration value="infomation"/>  <xs:enumeration value="message"/>  <xs:enumeration value="notify"/>  <xs:enumeration value="publish"/>  <xs:enumeration value="bye"/></pre><pre listing-type="program-listing">   <xs:enumeration value="update"/>   <xs:enumeration value="refer"/>   <xs:enumeration value="http"/>   </xs:restriction>   </xs:simpleType>   </xs:attribute>   <xs:attribute name="requestURI"type="xs:anyURI"use="optional"/>   <xs:attribute name="message"type="xs:string"use="optional"/>   </xs:complexType>   </xs:element>   <xs:element name="to-user">   <xs:complexType>   <xs:attribute name="needed"type="xs:boolean"use="required"/>   <xs:attribute name="type"use="optional">   <xs:simpleType>   <xs:restriction base="xs:string">   <xs:enumeration value="tone"/>   <xs:enumeration value="FSK"/>   <xs:enumeration value="xal-las"/>   </xs:restriction>   </xs:simpleType>   </xs:attribute>   <xs:attribute name="tonetype"type="xs:string"use="optional"/>   <xs:attribute name="FSKbody"type="xs:string"use="optional"/>   <xs:attribute name="timelengh"type="xs:integer"use="optional"/>   </xs:complexType>   </xs:element>   <xs:element name="dial-pattern">   <xs:complexType>   <xs:sequence>   <xs:element name="flush"minOccurs="0">   <xs:complexType>   <xs:simpleContent>   <xs:extension base="xs:string"/>   </xs:simpleContent>   </xs:complexType>   </xs:element>   <xs:element name="regex"maxOccurs="unbounded">   <xs:complexType mixed="true">   <xs:choice>   <xs:element name="pre"minOccurs="0">   <xs:complexType>   <xs:simpleContent>   <xs:extension base="xs:string"/>   </xs:simpleContent>   </xs:complexType>   </xs:element>   <xs:any namespace="##other"/>   </xs:choice>   <xs:attribute name="cleanup"type="xs:boolean"use="optional"/>   <xs:attribute name="method"use="optional">   <xs:simpleType>   <xs:restriction base="xs:string">   <xs:enumeration value="invite"/>   <xs:enumeration value="infomation"/>   </xs:restriction>   </xs:simpleType>   </xs:attribute>   <xs:attribute name="tone"type="xs:string"use="optional"/>   <xs:attribute name="newRequestURI"type="xs:anyURI"use="optional"/>   <xs:attribute name="tag"type="xs:string"use="optional"/>   <xs:attribute name="special"type="xs:string"use="optional"/>   </xs:complexType>   </xs:element>   </xs:sequence>   <xs:attribute name="persist"use="opticnal">   <xs:simpleType>   <xs:restriction base="xs:string">   <xs:enumeration value="one-shot"/></pre><pre listing-type="program-listing">  <xs:enumeration value="persist"/>  <xs:enumeration value="single-notify"/>  </xs:restriction>  </xs:simpleType>  </xs:attribute>  <xs:attribute name="interdigittimer"type="xs:integer"use="optional"/>  <xs:attribute name="criticaldigittimer"type="xs:integer"use="optional"/>  <xs:attribute name="extradigittimer"type="xs:integer"use="optional"/>  <xs:attribute name="long"type="xs:integer"use="optional"/>  <xs:attribute name="longrepeat"type="xs:boolean"use="optional"/>  <xs:attribute name="nopartial"type="xs:boolean"use="optional"/>  <xs:attribute name="enterkey"type="xs:string"use="optional"/>  </xs:complexType>  </xs:element></xs:schema></pre>本发明第一实施方式的通信设备业务控制方法如图2所示,其中,通信设备为SIP UA,用户为传统的终端用户。
在步骤201中,在用户注册后,SIP UA向配置递送服务器发送SIPSUBSCRIBE消息订阅该用户当前业务环境下的配置文件,其中包含操作事件和相应动作。
在步骤202中,配置递送服务器返回订阅的确认信息,并根据该用户的签约数据和当前业务应用环境生成该用户的配置文件。在该配置文件中描述SIPUA在用户当前业务应用环境下处理该用户摘机、拍叉、拨号和挂机操作的网络侧处理动作。其中,摘机动作处理为给用户送拨号音,按给定的拨号范式收号。
在步骤203中,配置递送服务器通过NOTIFY消息携带该用户配置文件,并将该消息发送给SIP UA。
在步骤204中,SIP UA返回收到NOTIFY消息的确认信息。
在步骤205中,用户摘机,摘机事件上报到SIP UA。
在步骤206中,SIP UA检测到的该用户的摘机事件,根据摘机事件,匹配配置文件,并根据匹配结果向用户播放拨号音动作。这种通过匹配配置文件中的操作事件来执行相应动作的方法,大大降低了SIP UA的处理复杂度。
在步骤207,用户听得拨号音后,可以进行拨号。该拨号事件也通过终端上报给SIP UA。
在步骤208中,SIP UA根据配置文件按给定的拨号范式收号,当用户拨号完全匹配拨号范式时,SIP UA按配置文件中描述的拨号范式完全匹配后,根据拨号事件,执行邀请。
在步骤209中,SIP UA根据配置文件的指示向网络侧发送消息,其中包含消息类型和消息目的地址,例如消息的类型为SIP INVITE、消息目的地址为热线AS地址,SIP UA即向热线AS发送登记热线的SIP INVITE消息。
在步骤210中,PES AS向SIP UA返回登记热线成功的响应信息。
此后,如果用户当前业务应用环境发生改变,则配置递送服务器将生成新的配置文件。
在步骤211中,配置递送服务器根据SIP UA对该用户配置文件的订阅,向SIP UA发送事件变更的NOTIFY消息,并通过该消息,将当前用户的配置文件传递给SIP UA。例如,在新的配置文件中描述当前SIP UA处理用户摘机事件所执行的动作为给用户送拨号音,并启动5秒定时器,在该定时时间内如果用户未拨号,则停止给用户送音,并发送SIP INVITE消息到所登记的热线号码,例如,所登记的热线号码为86-10-88886666。
在步骤212中,SIP UA对收到的变更通知返回确认信息。
在步骤213中,用户再次进行摘机操作,该操作事件同样上报给SIP UA。
在步骤214中,SIP UA根据更新后的配置文件来进行操作事件的匹配,根据匹配结果,向用户播放拨号音并启动时长为5秒的定时器。
在步骤215中,如果定时器超时用户仍未拨号,根据配置文件,则SIP UA自动停止给用户送音,并将启用热线业务,向用户所登记的热线号码,例如为所登记的86-10-88886666发起呼叫。
本发明第二实施方式的通信设备业务控制方法如图3所示,
在步骤301中,用户有留言指示,因此,用户当前业务应用环境发生改变,配置递送服务器将更新当前该用户的配置文件。根据SIP UA的对该配置文件的订阅,配置递送服务器向SIP UA发送事件的NOTIFY消息,并携带该配置文件发生变化的部分,例如,在当前业务应用环境下,用户摘机事件所对应的SIP UA动作为给用户送留言指示信号音。
由配置递送服务器根据业务环境的变化更新当前的用户配置文件,并通知订阅了该配置文件的SIP UA新的配置文件或仅通知该配置文件的变更部分,使得SIP UA的处理得到简化,并能适应业务环境的变化。
在步骤302中,SIP UA向配置递送服务器返回收到NOTIFY消息的确认信息。
在步骤303中,用户摘机,摘机事件上报到SIP UA。
在步骤304中,SIP UA匹配配置文件,根据配置文件中摘机事件的处理描述,直接给用户送留言指示信号音。
上述实施方式的通信设备业务控制方法应用于PES,其中,SIP UA可以通过SIP或HTTP向网络侧发送消息,而通过SIP向网络侧发送的消息包含SIPINVITE消息、SIP REFER消息、SIP SUBSCRIBE消息等。
本发明第三实施方式的通信设备业务控制系统结构如图4所示,其中,包含用户、配置递送服务器和SIP UA。
具体地说,配置递送服务器根据用户的签约数据和业务应用环境提供用户的配置文件,其中包含操作事件和相应动作。
SIP UA则用于从配置递送服务器获取用户的配置文件,检测该用户执行的操作事件,如果检测到配置文件中的操作事件,则根据该配置文件中的相应动作执行业务逻辑处理。
根据上述实施方法和系统,通过配置文件实现的业务包含热线业务、用户欠费摘机听欠费音、用户有新留言后摘机听留言指示信号音、缩位拨号、群用户摘机出群拨号听二次拨号音、拍叉处理等。
对于用户签约的立即热线业务,例如,热线号码为“abcd@home.com”,采用XML描述的配置文件为<pre listing-type="program-listing">< xml version="1.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"version="0"state="full"> <offhook allow="true">   <to-network needed="true"method="invite"requestURI="abcd@home.com"/>   <to-user needed="false"/>   <timer startup="false"/> </offhook> <hooking allow="false"/> <dial allow="false"/> <onhook allow="false"/></profile></pre>这段XML描述的配置为SIP UA在用户未摘机前仅能处理用户的摘机操作,在用户摘机之后,立刻发送SIP INVITE消息到地址“abcd@home.com”。
SIP UA在接收到用户注册成功的确认消息时,主动通过SIP SUBSCRIBE消息向配置递送服务器订阅用户的配置文件(profile)。配置递送服务器根据用户的签约数据,查询用户当前签约了立即热线业务,热线号码为“abcd@home.com”,生成上述配置文件,或者用户在登记热线业务成功后,其业务应用环境发生了变化,配置递送服务器在向SIP UA发送的NOTIFY消息中携带该配置文件。
在该配置文件中,作为“配置标识”的“profile”为扩展的MIME媒体类型,该MIME媒体类型可以定义如下Media type name:applicationMedia subtype name:profile+xmlRequired parameters:noneEncoding scheme:XML该定义中的扩展事件包“profile”用于在NOTIFY消息中传输配置文件给订阅的用户(Subscriber)。该扩展事件包表意的名字(event-package token name)是"profile",该扩展的事件包中未定义其它的参数。
在该扩展事件包中,订阅配置的SIP SUBSCRIBE消息Event头域或携带配置的NOTIFY消息Event头域如下所示Event:profile;对于用户欠费,摘机听欠费音,并且不允许该用户呼出的业务,采用XML描述的配置文件为<pre listing-type="program-listing">< xml version="1.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"version="0"state="full"> <offhook allow="true">   <to-network needed="true"method="invite"requestURI="arrearage-toneMRFC@example.com"/&gt;   <to-user needed="false"/>   <timer startup="true">   <timerlength>30000</timerlength>   <timeoutaction>   <to-network needed="true"method="bye"requestURI="arrearage-toneMRFP@example.com"/>   <to-user needed="true"type="tone"tonetype="busy-tone"/>   <timer startup="true">  <timerlength>60000</timerlength>  <timeoutaction>   <to-network needed="false"/>   <to-user needed="true"type="tone"tonetype="howling-tone"/>  </timeoutaction></timer>   </timeoutaction>   </timer> </offhook> <hooking allow="false"/> <dial allow="false"/> <onhook allow="false"/></profile></pre>这段XML描述的配置为当用户摘机时,SIP UA应发送SIP INVITE消息到媒体控制资源申请欠费音资源,SIP INVITE消息的“request-URI”即为指定的欠费音资源标识“arrearage-toneMRFC@example.com”。然后,SIP UA给用户播放欠费音,若用户在30秒内无其它操作时,SIP UA给媒体控制资源发送BYE消息释放音资源,改由用户终端给用户放忙音。放忙音时长为60秒,超时改放嗥鸣音。用户摘机听欠费音后,配置递送服务器通过NOTIFY消息给SIP UA发送更新后的配置文件,其中,在听欠费音时,如果用户挂机,释放欠费音资源的描述如下<pre listing-type="program-listing">< xml version="1.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"version="0"state="full"> <offhook allow="false"/> <hooking allow="false"/> <dial allow="false"/> <onhook allow="true">   <to-network needed="true"method="bye"requestURI="arrearage-toneMRFP@example.com"/>   <to-user needed="false"/></pre><pre listing-type="program-listing"><timer startup="false"/> </onhook></profile></pre>对于群(Centrex)用户的主叫业务,群内用户可以呼叫群内其他用户,也可以出群呼叫,但拨号规则不同。例如,用户呼叫群内用户,拨号规则为7开头的四位号码,而出群呼叫,出群字冠为0,拨0送二次拨号音,并删除该字冠;用户拨“#”则表示号码已拨完;用户无其它业务,摘机听正常的拨号音。采用XML描述的配置文件为<pre listing-type="program-listing">< xml version="l.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"version="0"state="full"> <offhook allow="true">   <to-network needed="false"/>   <to-user needed="true"type="tone"tonetype="dial-tone"/>   <timer startup="true">   <timerlength>60000</timerlength>   <timeoutaction>  <to-network needed="false"/>  <to-user needed="true"type="tone"tonetype="busy-tone"/>  <timer startup="true">   <timerlength>60000</timerlength>   <timeoutaction>   <to-network needed="false"/>   <to-user needed="true"type="tone"tonetype="howling-tone"/>   </timeoutaction>  </timer>   </timeoutaction>   </timer> </offhook> <hooking allow="false"/> <dial allow="true">   <dial-pattern enterkey="#">   <regex tone="second-dial-tone"tag="centrexout">0</regex>   <regex method="invite"tag="centrexin">7[x][x][x]</regex>   </dial-pattern> </dial> <onhook allow="false"/></profile></pre>其中,在标签&lt;offhook&gt;中,描述当前SIP UA处理摘机事件时执行的动作,属性allow="true"描述当前允许处理摘机动作;标签&lt;to-user&gt;描述当前动作给用户送音(type="tone"),送音类型为拨号音(tonetype="dial-tone"),送60000ms(&lt;timerlength&gt;60000&lt;/timerlength&gt;);在标签&lt;dial&gt;中,描述当前SIP UA处理拨号事件时执行的动作,属性allow="true"描述当前允许处理拨号动作;标签&lt;dial-pattern&gt;描述当前允许拨号的拨号范式,属性enterkey="#"表示当用户拨“#”时代表号码已拨完,用户可以拨0出群,也可以拨7开头的四位群内号码。当用户拨出群字冠0时,给用户送二次拨号音(tone="second-dial-tone"),而当用户拨完7开头的四位群内号码时,使用SIP INVITE(method="invite")消息发送该号码到服务呼叫会话控制功能实体。
对于用户登记了缩位拨号的呼叫业务,例如,用户呼叫“mary@example.com”时,只需要拨缩位号“**11”。配置递送服务器在给用户的配置文件的拨号范式中可以携带相关信息当使用缩位拨号业务,呼叫**11时,SIP UA根据配置文件中拨号范式自动发起对“mary@example.com”的呼叫请求。采用XML描述的配置文件为<pre listing-type="program-listing">< xml version="1.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"version="0"state="full"> <offhook allow="true">   <to-network needed="false"/>   <to-user needed="true"type="tone"tonetype="dial-tone"/>   <timer startup="true">   <timerlength>60000</timerlength>   <timeoutaction>  <to-network needed="false"/>  <to-user needed="true"type="tone"tonetype="busy-tone"/>  <timer startup="true">   <timerlength>60000</timerlength>   <timeoutaction>   <to-network needed="false"/>   <to-user needed="true"type="tone"tonetype="howling-tone"/>   </timeoutaction>  </timer>   </timeoutaction>   </timer>  </offhook>  <hooking allow="false"/>  <dial allow="true">   <dial-pattern>   <regex method="invite"tag="local">287[x][x][x][x][x]</regex>   <regex method="invite"newRequestURI="mary@example.com"tag="abbs">**11</regex>   </dial-pattern> </dial> <onhook allow="false"/></profile></pre>其中,标签&lt;offhook&gt;中相关摘机事件同上述群(Centrex)用户的主叫业务中摘机事件的描述,此处不再赘述在标签&lt;dial&gt;中描述了当前允许的拨号范式,用户可以呼叫287开头的8位数字的本地号码,也可以使用缩位拨号业务,呼叫“**11”。当用户拨号呼叫“**11”时,SIP UA根据配置文件拨号范式发起到属性为newRequestURI="mary@example.com"的SIP INVITE(method=”inVite”)消息。
对于用户处于会话状态下的拍叉事件,例如,当前用户“abcd@home.com”和另一用户“mary@example.com”处于会话中,用户可通过拍叉操作发起新的呼叫。在用户执行拍叉操作后,SIP UA需要给对端送信号音,给本端送特殊拨号音。采用XML描述的配置文件为<pre listing-type="program-listing">< xml version="1.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"version="0"state="full">  <offhook allow="false"/>  <hooking allow="true">   <to-network needed="true"method="update"requestURI="mary@example.com"message="a=inactive"/>   <to-user needed="true"type="tone"tonetype="special-dial-tone"/>   <timer startup="true">   <timerlength>60000</timerlength>   <timeoutaction>   <to-network needed="true"method="update"requestURI="mary@example.com"message="a=sendrecieve"/>   <to-user needed="false"/>   </timeoutaction>   </timer>  </hooking>  <dial allow="false"/>  <onhook allow="true">   <to-network needed="true"method="bye"requestURI="mary@example.com"/>   <to-user needed="false"/>  </onhook></profile></pre>其中,在标签&lt;hooking&gt;中,描述了当前SIP UA处理拍叉事件时执行的动作,属性allow="true"描述了当前允许处理拍叉动作;标签&lt;to-network&gt;描述当前拍叉后SIP UA给网络侧动作为发送UPDATE消息(method="update"),并且保持(hold)对端(message="a=inactive");标签&lt;to-user&gt;描述了给用户送音(type="tone")动作,送音类型为特殊拨号音(tonetype="special-dial-tone"),送60000ms(&lt;timerlength&gt;60000&lt;/timerlength&gt;)。若超时仍没有收到用户执行通话恢复的动作,给对端发送UPDATE消息恢复通话;而标签&lt;onhook&gt;描述了用户如果执行拍叉操作,SIP UA发送BYE消息给对端用户,结束当前会话。
在用户拍叉操作后,给对端发送UPDATE消息(或re-INVITE)保持对端,配置递送服务器使用NOTIFY消息更新给用户的配置文件,其中描述了当前若用户再拍叉则执行通话恢复动作。用户拨号发起新的呼叫。采用XML描述的配置文件为<pre listing-type="program-listing">< xml version="1.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"version="0"state="full">  <offhook allow="false"/>  <hooking allow="true">   <to-network needed="true"method="update"requestURI="mary@example.com"message="a=sendrecieve"/>   <to-user needed="false"/>   <timer startup="false"/>  </hooking>  <dial allow="true">   <dial-pattern enterkey="#">   <regex method="invite"tag="local">287[x][x][x][x][x]</regex></pre><pre listing-type="program-listing">   </dial-pattern> </dial> <onhook allow="true">   <to-network needed="true"method="bye"requestURI="mary@example.com"/>   <to-user needed="false"/> </onhook></profile></pre>其中,在标签&lt;hooking&gt;中,描述了当前SIP UA处理拨号事件时恢复通话的动作SIP UA发送UPDATE消息给对端用户,恢复通话;在标签&lt;dial&gt;中,描述当前SIP UA处理拨号事件时执行的动作,属性allow="true"描述当前允许处理拨号动作;标签&lt;dial-pattem&gt;描述当前允许拨号的拨号范式,属性enterkey=″#″表示若用户拨“#”则代表号码已拨完。允许用户拨287开头的8位号码,若用户拨打这类号码,则使用SIPINVITE(method="invite")消息发起到该号码的呼叫。
对于用户使用临时预约主叫号码显示限制业务,用户摘机拨“*62被叫号码”,AGCF将用户所拨号码和已经获得的配置文件进行匹配,根据配置文件中拨号事件的拨号范式处理描述,得到所要执行的动作,按此要求发送invite请求消息,在invite请求消息中将用户所拨“被叫号码”以tel URL的形式置入Request-URI(请求-统一资源标识)中,携带Privacy头域,设置为“header”,在From头域中前插anonymous关键字。
AGCF将该invite消息向网络发送,对网络来说,该invite消息就象是SIP终端设备在使用simulation模拟业务,因此可以重用处理simulation模拟业务的应用服务器为PES子系统服务,从而节约投资。
采用XML描述的配置文件为<pre listing-type="program-listing">< xml version="1.0"encoding="UTF-8" ><profile xmlns="urn:ietf:params:xml:profile"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:ietf:params:xml:profile:\XML\profile\ppptest.xsd"state="full"version="0">  <offhook allow="true">   <to-network needed="false"/>   <to-user needed="true"tonetype="DialTone"timelengh="60000"/>   <timer startup="false"/> </offhook> <hooking allow="false"/> <dial allow="true">   <dial-pattern>   <regex method="invite"special="Pravicy:header;From:&amp;amp;quot;Anonymous&amp;amp;quot;&amp;amp;lt;sip:anonvmous@anonymous.invalid&amp;amp;gt;"cleanup="true"tag="temp-OIR">*62</regex> </pre><pre listing-type="program-listing">  </dial-pattern>  </dial>  <onhook allow="false"/></profile></pre>其中,给出的拨号范式为“*62”,当用户拨“*62”时,“*62”被从号码缓冲区清除掉(cleanup="true"),继续接受用户的拨号,在用户的发起的呼叫中插入头域Pravicy:header和From:"Anonymous"&lt;sip:anonymous@anonymous.invalid&gt;(special="Pravicy:header;From:&amp;quot;Anonymous&amp;quot;&amp;lt;sip:anonymous@anonymous.invalid&amp;gt;",其中,特殊符号&lt;&gt;″使用转义字符替换)到invite(method="invite")请求中。
上述各业务的配置文件是采用XML来描述的,由于XML的可扩展性,使得业务的可扩展性强。本领域普通技术人员容易理解,各业务的配置文件还可以采用其它语言进行描述,可以由SIP UA对收到的配置文件解释后进行事件匹配和动作执行等操作,其精神不偏离本发明的范围。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
权利要求
1.一种通信设备业务控制方法,其特征在于,包含以下步骤所述通信设备获取用户的配置文件,其中包含操作事件和相应动作;所述通信设备检测该用户执行的操作事件,如果检测到所述配置文件中的操作事件,则根据该配置文件中的相应动作执行业务逻辑处理。
2.根据权利要求1所述的通信设备业务控制方法,其特征在于,所述通信设备从网络侧的配置递送服务器获取所述用户的配置文件。
3.根据权利要求2所述的通信设备业务控制方法,其特征在于,所述通信设备获取用户的配置文件的步骤还包含以下子步骤所述通信设备在所述用户注册后向所述配置递送服务器订阅该用户的配置文件;所述配置递送服务器在收到所述通信设备发送的对用户的配置文件订阅的订阅消息时,向该通信设备发送携带该配置文件的消息;此后,当该用户的业务应用环境发生变化时,该配置递送服务器根据该用户当前的业务应用环境生成新的用户配置文件,并通知所述通信设备;所述通信设备对收到的当前的用户配置文件进行解释。
4.根据权利要求2所述的通信设备业务控制方法,其特征在于,在用户的业务应用环境发生变化时,所述配置递送服务器通知所述通信设备上一次通知之后该配置文件中发生变化的部分。
5.根据权利要求2所述的通信设备业务控制方法,其特征在于,在用户的业务应用环境发生变化时,所述配置递送服务器将新生成的用户配置文件通知所述通信设备。
6.根据权利要求2所述的通信设备业务控制方法,其特征在于,所述方法应用于公用电话交换网/综合业务数字网仿真子系统;其中,所述通信设备为SIP用户代理。
7.根据权利要求6所述的通信设备业务控制方法,其特征在于,所述配置文件中的操作事件包含以下之一或其任意组合摘机事件、拨号事件、拍叉事件、挂机事件、或定时器超时事件;所述操作事件的相应动作包含以下之一或其任意组合向网络侧发送消息、给用户发送指示信号、定时器设置。
8.根据权利要求7所述的通信设备业务控制方法,其特征在于,所述给用户发送的指示信号包含以下之一或其任意组合给用户送音、给用户下发反极或反极脉冲信号、显示信号、保持、恢复。
9.根据权利要求7所述的通信设备业务控制方法,其特征在于,所述通信设备通过SIP或超文本传输协议向网络侧发送消息,其中,通过SIP向网络侧发送的消息是“Invite”消息、“Refer”消息、“subscribe”消息、“BYE”消息。
10.根据权利要求6至9中任一项所述的通信设备业务控制方法,其特征在于,所述业务包含热线业务、用户欠费摘机听欠费音、用户有新留言后摘机听留言指示信号音、缩位拨号、群用户摘机出群拨号听二次拨号音、拍叉处理、PSTN/ISDN仿真业务、或PSTN/ISDN模拟业务。
11.根据权利要求1至9中任一项所述的通信设备业务控制方法,其特征在于,所述配置文件通过可扩充标记语言描述所述操作事件和相应动作。
12.一种通信设备业务控制系统,其特征在于,包含配置递送服务器和通信设备;所述配置递送服务器,用于提供该用户的配置文件,其中包含操作事件和相应动作;所述通信设备,用于从所述配置递送服务器获取用户的配置文件,检测该用户执行的操作事件,如果检测到所述配置文件中的操作事件,则根据该配置文件中的相应动作执行业务逻辑处理。
13.根据权利要求12所述的通信设备业务控制系统,其特征在于,所述配置递送服务器根据所述用户的签约数据和业务应用环境提供该用户的配置文件。
14.根据权利要求12或13所述的通信设备业务控制系统,其特征在于,所述通信设备为SIP用户代理。
15.根据权利要求14所述的通信设备业务控制系统,其特征在于,所述SIP用户代理为具有接入网关控制功能的接入设备或SIP综合接入设备。
全文摘要
本发明涉及通信技术,公开了一种通信设备业务控制方法及其系统,使得通信设备的业务逻辑处理简化。本发明中,SIP UA等通信设备从其它网络实体获得用户的配置文件,并根据该配置文件检测该用户执行的操作事件,如果检测到该配置文件中的操作事件,则根据该配置文件中的相应动作执行业务逻辑处理。由配置递送服务器根据业务环境的变化更新当前的用户配置文件,并通知订阅了该配置文件的SIP UA新的配置文件或仅通知该配置文件的变更部分。配置文件采用XML语言描述操作事件和相应动作,业务的可扩展性强。
文档编号H04L29/02GK101039259SQ20061007757
公开日2007年9月19日 申请日期2006年4月26日 优先权日2006年3月17日
发明者郑波, 施有铸 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1