通过vxml实现电话转接的方法及装置的制作方法

文档序号:7743822阅读:103来源:国知局
专利名称:通过vxml实现电话转接的方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种通过VXML实现电话转接的方法及装置。
背景技术
BTirMfeiai^-H" (Voice Extensible Markup Language, ^ VXML^Voice XML),是一种基于可扩展标记语言(ExtensibleMarkup Language,简称为XML)的脚本语
言,支持语音浏览。VXML定义了和语音有关的标签。VXML2. 0标准中定义的标签都是同步的标签,一 个标签执行完才能执行下一个标签。图1是根据相关技术的同步转接的示意图,如图1所 示,transfer标签一次只能呼叫转接一个用户,只有在当前转接结束之后才能呼叫转接另 外一个用户。图2是根据相关技术的同步转接的方法的流程图,如图2所示,相关技术中同 步转接包括以下步骤步骤S202,使用transfer标签对一个用户发起呼叫;步骤S204,接收到该呼叫对应的BCSM事件(例如,应答事件)和该呼叫对应的通
道号;步骤S206,将该通道号写入呼叫标识;步骤S208,再次使用transfer标签对另一个用户发起呼叫。但是,如果要实现电话同振,需要同时呼叫多个用户。图1和图2所示的相关技术 的同步转接方法由于transfer标签一次只能呼叫转接一个用户,只有在当前转接结束之 后才能呼叫转接另外一个用户,所以无法同时呼叫多个用户,从而无法实现电话同振,即, 无法实现同时呼叫多个用户,当被呼叫的多个用户中任何一个用户接通,则停止对其他用 户的呼叫的功能。

发明内容
本发明的主要目的在于提供一种通过VXML实现电话转接的方案,以至少解决上 述问题。根据本发明的一个方面,提供了一种通过VXML实现电话转接的方法。根据本发明的通过VXML实现电话转接的方法包括以下步骤接收主叫向多个被 叫的呼叫;使用外呼标签逐个地呼叫多个被叫,其中,一旦接收到对当前呼叫的被叫的路由 响应,立即呼叫下个被叫;以及使用事件等待标签处理呼叫多个被叫中产生的异步事件。根据本发明的另一个方面,提供了 一种通过VXML实现电话转接的装置。根据本发明的通过VXML实现电话转接的装置包括接收模块,用于接收主叫向多 个被叫的呼叫;呼叫模块,用于使用外呼标签逐个地呼叫多个被叫,其中,一旦接收到对当 前呼叫的被叫的路由响应,立即呼叫下个被叫;以及处理模块,用于使用事件等待标签处理 呼叫多个被叫中产生的异步事件。
通过本发明,采用使用外呼标签逐个地呼叫所述多个被叫、使用事件等待标签处 理呼叫多个被叫中产生的异步事件的方式,解决了相关技术中使用VXML标签无法实现电 话同振的问题,进而实现了使用VXML标签实现电话同振的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据相关技术的同步转接的示意图;图2是根据相关技术的同步转接的方法的流程图;图3是根据本发明实施例的通过VXML实现电话转接的方法的流程图;图4是根据本发明实施例的呼叫多个被叫的方法的流程图;图5是根据本发明实施例的优选实例一的通过VXML实现电话转接的方法的流程 图;图6是根据本发明实施例的优选实例二的通过VXML实现电话转接的方法的流程 图;图7是根据本发明实施例的通过VXML实现电话转接的装置的结构框图;以及图8是根据本发明实施例的通过VXML实现电话转接的装置的具体的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。根据本发明实施例,提供了 一种通过VXML实现电话转接的方法。图3是根据本发 明实施例的通过VXML实现电话转接的方法的流程图,如图3所示,该方法包括以下步骤步骤S302,接收主叫向多个被叫的呼叫;步骤S304,使用外呼标签逐个地呼叫多个被叫,其中,一旦接收到对当前呼叫的被 叫的路由响应,立即呼叫下个被叫;步骤S306,使用事件等待标签处理呼叫多个被叫中产生的异步事件。在上述方法中,采用使用外呼标签逐个地呼叫所述多个被叫、使用事件等待标签 处理呼叫多个被叫中产生的异步事件的方式,在被叫返回异步事件之前,即可使用外呼标 签逐个地呼叫多个被叫用户,从而实现了电话同振的效果。优选地,使用事件等待标签处理异步事件包括使用事件等待标签获取到一个被 叫的应答事件,该应答事件是第一次应答,即,上述异步事件是第一次应答的应答事件;然 后,跳转到使用连接呼叫标签进行处理。该实施例利用事件等待标签将第一次应答的异步事件跳转到使用连接呼叫标签 进行处理,从而实现了对第一次应答这种异步事件的处理,不影响外呼标签对多个被叫逐 个呼叫的流程。优选地,跳转到使用连接呼叫标签进行处理包括使用连接呼叫标签将主叫和上 述应答事件对应的被叫接通;然后,跳转到使用事件等待标签处理异步事件的步骤。该实施例使用连接呼叫标签实现了主被叫的接通,从而不影响外呼标签对多个被叫逐个呼叫的流程。优选地,使用事件等待标签处理异步事件包括使用事件等待标签获取到一个被 叫的应答事件,应答事件不是第一次应答,即,上述异步事件是非第一次应答的应答事件; 然后,将应答事件对应的呼叫的标识设置为无效;再跳转到使用释放呼叫标签进行处理。该实施例使用事件等待标签将非第一次应答的应答事件跳转到使用释放呼叫标 签进行处理,从而实现了对非第一次应答的应答事件这种异步事件的处理,不影响外呼标 签对多个被叫逐个呼叫的流程。优选地,跳转到使用释放呼叫标签进行处理包括使用释放呼叫标签释放标识为 无效的呼叫,其中,该释放呼叫标签中携带有释放呼叫的原因;然后,跳转到使用事件等待 标签处理异步事件的步骤。该实施例使用释放呼叫标签实现了对非第一次应答的被叫的释放呼叫,从而不影 响外呼标签对多个被叫逐个呼叫的流程。优选地,使用事件等待标签处理异步事件包括使用事件等待标签获取到一个被 叫的挂机事件,即,上述异步事件是一个被叫的挂机事件;释放与该挂机事件对应的呼叫。该实施例使用事件等待标签释放主被叫的呼叫,从而不影响外呼标签对多个被叫 逐个呼叫的流程。优选地,使用事件等待标签处理异步事件包括以下步骤使用事件等待标签获取 到一个被叫的呼叫失败事件;将呼叫失败事件对应的呼叫的标识设置为无效;将错误次数 加一;判断错误次数是否等于多个被叫的个数,如果是,则释放多个被叫对应的呼叫。该实施例使用事件等待标签在呼叫多个被叫都失败的情况下释放所有被叫的呼 叫,从而不影响外呼标签对多个被叫逐个呼叫的流程。优选地,使用事件等待标签处理异步事件还包括以下步骤如果错误次数不等于 多个被叫的个数,则跳转到使用事件等待标签处理异步事件的步骤。该实施例使用事件等待标签在不是对所有被叫的呼叫都失败的情况下,跳转回事 件等待标签处理异步事件,从而不影响外呼标签对多个被叫逐个呼叫的流程。优选地,在步骤S304中,使用外呼标签逐个地呼叫所述多个被叫,其中,一旦接收 到对当前呼叫的被叫的路由响应,立即呼叫下个被叫的步骤可以采用图4中的流程,包括 以下步骤步骤S402,针对当前呼叫的被叫,使用外呼标签发出创建查找路由的请求;步骤S404,使用外呼标签接收到对上述请求的响应;步骤S406,将该响应中携带的通道号写入呼叫标识;步骤S408,针对下一个被叫,跳转到使用外呼标签发出创建查找路由的请求的步 骤(即,步骤S402)。该实施例针对一个呼叫使用外呼标签发出创建查找路由的请求,获得通道号写入 呼叫标识,再针对下一个呼叫重复上述过程,实现了并发地呼叫多个被叫。优选地,外呼标签包括主叫参数、被叫参数、呼叫应答超时参数和用于获取呼叫 标识的参数;事件等待标签包括输出参数,该输出参数可用于获取呼叫多个被叫中产生 的异步事件。该实施例对外呼标签和事件等待标签进行了限定,实现了外呼标签根据参数进行呼叫,事件等待标签能够获取到呼叫多个被叫中产生的异步事件。在具体实现过程中,外呼标签、事件等待标签、连接呼叫标签和释放呼叫标签均 是基于智能网的应用,在VXML中扩展了一系列的object标签。上述标签是通过自定义 classid扩展的object标签。为了方便描述,将不需要等待执行结果或规定的动作返回就 可以执行下一个标签的标签称为异步标签,相应的,将上一个标签流程结束才能调用下一 个标签的标签称为同步标签。根据本发明实施例对外呼标签进行的处理可知,在被叫返回 异步事件之前,可以使用外呼标签逐个地呼叫多个被叫用户,因此,外呼标签是一个异步标 签,也称为异步外呼标签。事件等待标签、连接呼叫标签和释放呼叫标签均为同步标签。在具体实现过程中,连接呼叫标签中携带有源呼叫标识和目的呼叫标识的参数。 释放呼叫标签中携带有需要释放的呼叫的标识。下面给出的优选实施例综合了上述优选实施例的技术方案,这里结合附图予以详 细说明。优选实例一通过本发明实施例扩展的VXML标签能够对电话转接的流程进行控制,进而实现 电话同振。图5是根据本发明实施例的优选实例一的通过VXML实现电话转接的方法的流 程图,如图5所示,该方法包括步骤S501,接收主叫向多个被叫的呼叫;步骤S502,使用外呼标签逐个地呼叫多个被叫,其中,一旦接收到对当前呼叫的被 叫的路由响应,立即呼叫下个被叫;步骤S503,使用事件等待标签等待呼叫多个被叫中产生的异步事件;该事件等待 标签在接收到希望的事件之后才进行处理,否则,使用<goto>标签跳回自身,VXML解析器 重复执行该标签,直到希望的事件到来,这些希望的事件包括用户摘机(即,应答事件)、 用户挂机、会场中用户加入、用户退出会场、超时、异常等事件;步骤S504,使用事件等待标签获取到的异步事件是第一次应答的应答事件;步骤S505,使用连接呼叫标签将主叫和应答事件对应的被叫接通,然后,跳转到步 骤 S503 ;步骤S506,使用事件等待标签获取到的异步事件是一个被叫的应答事件且该应答 事件不是第一次应答;步骤S507,将应答事件对应的呼叫的标识设置为无效;步骤S508,使用释放呼叫标签释放标识为无效的呼叫,释放呼叫标签中携带有释 放呼叫的原因,然后,跳转到步骤S503 ;步骤S509,使用事件等待标签获取到一个被叫的挂机事件;步骤S510,释放与挂机事件对应的呼叫,流程结束。步骤S511,使用事件等待标签获取到的异步事件是一个被叫的呼叫失败事件;步骤S512,将呼叫失败事件对应的呼叫的标识设置为无效;步骤S513,将错误次数加一;步骤S514,判断错误次数是否等于多个被叫的个数,如果是,进行步骤S515,否 则,跳转到步骤S503;步骤S515,释放多个被叫对应的呼叫,流程结束。
采用上述方法,通过使用外呼标签呼叫多个被叫,使用事件等待标签等待返回的 事件并对返回的事件进行处理,实现了电话同振。优选实例二下面以同时呼叫3个用户为例,具体说明通过本发明实施例扩展的VXML标签组合 实现电话同振的方法,图6是根据本发明实施例的优选实例二的通过VXML实现电话转接的 方法的流程图,如图6所示,该方法包括以下步骤步骤S601,用户通过拨打接入码触发VXML脚本,脚本3次调用异步外呼标签呼叫 3个用户。步骤S602,跳转到事件等待标签中等待事件返回。步骤S603,在事件等待标签中,如果返回应答事件,则进行到步骤S604,否则,进 入步骤S611。步骤S604,判断应答事件的被叫是否应答过,如果是,则进行到步骤S605,否则, 返回步骤S602。步骤S605,判断该应答事件是否是第一次获取到的其中一个用户的摘机事件,即, 判断该应答事件是否是首次应答,如果是,则进入步骤S606,否则,跳转到步骤S607。步骤S606,调用连接外呼标签将应答事件对应的被叫和主叫接通。步骤S607,根据呼叫数将对应的呼叫标识设为当前的呼叫标识,然后,将对应的呼 叫标识设置为无效。步骤S608,判断下述条件是否同时成立条件一,当前的呼叫标识为无效;条件 二,当前的呼叫标识不等于第一次应答的呼叫标识,在上述条件同时成立的情况下,进行步 骤S609,否则,进入步骤S610。步骤S609,判断呼叫数是否小于3,其中,呼叫数代表第几次应答,3代表被叫数, 如果判断结果为是,则进行步骤S610,否则,跳转到步骤S602。步骤S610,调用释放呼叫标签释放当前呼叫标识对应的呼叫,进行步骤S609。步骤S611,呼叫数加1,然后,跳转到步骤S605。步骤S612,在事件等待标签中,如果返回挂机事件,则表示主被叫通话结束,释放 该呼叫,流程结束,否则,进入步骤S613。步骤S613,在事件等待标签中,如果返回呼叫失败事件,则进入步骤S614,否则, 跳转到步骤S602。步骤S614,将该呼叫对应的呼叫标识设置为无效。步骤S615,错误次数加1。步骤S616,判断错误次数是否为3,如果是,则进行步骤S617,否则,跳转到步骤 S602。步骤S617,错误次数为3表示对3个被叫的呼叫都失败,释放这3个呼叫,流程结束。对应于上述的方法实施例,本发明实施例还提供了一种通过VXML实现电话转接 的装置。图7是根据本发明实施例的通过VXML实现电话转接的装置的结构框图,如图7所 示,该装置包括接收模块72、呼叫模块74、处理模块76,下面对该结构进行详细说明。
接收模块72,用于接收主叫向多个被叫的呼叫;呼叫模块74连接至接收模块72, 用于使用外呼标签逐个地呼叫多个被叫,其中,一旦接收到对当前呼叫的被叫的路由响应, 立即呼叫下个被叫;处理模块76连接至呼叫模块74,用于使用事件等待标签处理呼叫多个 被叫中产生的异步事件。图8是根据本发明实施例的通过VXML实现电话转接的装置的具体的结构框图,结 合图8对本发明实施例的装置的结构进行详细说明。处理模块76包括第一获取子模块802,用于使用事件等待标签获取到一个被叫 的应答事件,应答事件是第一次应答;第一处理子模块804连接至第一获取子模块802,用 于跳转到使用连接呼叫标签进行处理。其中,第一处理子模块804包括接通单元806,用于使用连接呼叫标签将主叫和 应答事件对应的被叫接通;跳转单元808连接至接通单元806,用于跳转到使用处理模块76 处理异步事件。处理模块76还包括第二获取子模块810,用于使用事件等待标签获取到一个被 叫的应答事件,应答事件不是第一次应答;设置子模块812连接至第二获取子模块810,用 于将应答事件对应的呼叫的标识设置为无效;第二处理子模块814连接至设置子模块812, 用于跳转到使用释放呼叫标签进行处理。呼叫模块74包括发送子模块816,用于针对当前呼叫的被叫,使用外呼标签发出 创建查找路由的请求;接收子模块818,用于使用外呼标签接收到对请求的响应;写入子模 块820连接至接收子模块818,用于将响应中携带的通道号写入呼叫标识;跳转子模块822 连接至写入子模块820,用于针对下一个被叫,跳转到发送子模块816使用所述外呼标签发 出创建查找路由的请求。综上所述,通过本发明上述实施例,利用Voice XML语言实现了电话同振。该方法 具有实现简单、可维护性高等优点,可以在不同的实现平台之间移植。并且,该方法利用现 有的智能网资源和组网方式,无需对通讯设备进行重大改变。上述实例只是实现电话同振方法的一个示例性的描述,在实际应用过程中,可以 对上述标签进行组合得到与本发明实施例中的方式等同替代的其他流程。另外,该异步外 呼标签也可以在会议中多次被调用,从而实现在会场中同时呼叫多个用户。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种通过语音可扩展标记语言VXML实现电话转接的方法, 其特征在于,包括以下步骤接收主叫向多个被叫的呼叫;使用外呼标签逐个地呼叫所述多个被叫,其中,一旦接收到对当前呼叫的所述被叫的 路由响应,立即呼叫下个所述被叫;以及使用事件等待标签处理呼叫所述多个被叫中产生的异步事件。
2.根据权利要求1所述的方法,其特征在于,使用所述事件等待标签处理所述异步事 件包括以下步骤使用所述事件等待标签获取到一个所述被叫的应答事件, 所述应答事件是第一次应答;以及 跳转到使用连接呼叫标签进行处理。
3.根据权利要求2所述的方法,其特征在于,跳转到使用所述连接呼叫标签进行处理 包括以下步骤使用所述连接呼叫标签将所述主叫和所述应答事件对应的所述被叫接通;以及 跳转到使用所述事件等待标签处理所述异步事件的步骤。
4.根据权利要求1所述的方法,其特征在于,使用所述事件等待标签处理所述异步事 件包括以下步骤使用所述事件等待标签获取到一个所述被叫的应答事件, 所述应答事件不是第一次应答; 将所述应答事件对应的呼叫的标识设置为无效;以及 跳转到使用释放呼叫标签进行处理。
5.根据权利要求4所述的方法,其特征在于,跳转到使用所述释放呼叫标签进行处理 包括以下步骤使用所述释放呼叫标签释放标识为无效的所述呼叫,所述释放呼叫标签中携带有释放 所述呼叫的原因;以及跳转到使用所述事件等待标签处理所述异步事件的步骤。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述使用外呼标签逐个地呼 叫所述多个被叫,其中,一旦接收到对当前呼叫的所述被叫的路由响应,立即呼叫下个所述 被叫的步骤包括针对当前呼叫的所述被叫,使用所述外呼标签发出创建查找路由的请求; 使用所述外呼标签接收到对所述请求的响应; 将所述响应中携带的通道号写入呼叫标识;以及针对下一个所述被叫,跳转到使用所述外呼标签发出创建查找路由的请求的步骤。
7.—种通过语音可扩展标记语言VXML实现电话转接的装置, 其特征在于,包括接收模块,用于接收主叫向多个被叫的呼叫; 呼叫模块,用于使用外呼标签逐个地呼叫所述多个被叫,其中,一旦接收到对当前呼叫的所述被叫的路由响应,立即呼叫下个所述被叫;以及 处理模块,用于使用事件等待标签处理呼叫所述多个被叫中产生的异步事件。
8.根据权利要求7所述的装置,其特征在于,所述处理模块包括第一获取子模块,用于使用所述事件等待标签获取到一个所述被叫的应答事件,所述 应答事件是第一次应答;以及第一处理子模块,用于跳转到使用连接呼叫标签进行处理。
9.根据权利要求8所述的装置,其特征在于,所述第一处理子模块包括接通单元,用于使用所述连接呼叫标签将所述主叫和所述应答事件对应的所述被叫接 通;以及跳转单元,用于跳转到使用所述处理模块处理所述异步事件。
10.根据权利要求7所述的装置,其特征在于,所述处理模块包括第二获取子模块,用于使用所述事件等待标签获取到一个所述被叫的应答事件,所述 应答事件不是第一次应答;设置子模块,用于将所述应答事件对应的呼叫的标识设置为无效;以及 第二处理子模块,用于跳转到使用释放呼叫标签进行处理。
11.根据权利要求7至10中任一项所述的方法,其特征在于,所述呼叫模块包括发送子模块,用于针对当前呼叫的所述被叫,使用所述外呼标签发出创建查找路由的 请求;接收子模块,用于使用所述外呼标签接收到对所述请求的响应; 写入子模块,用于将所述响应中携带的通道号写入呼叫标识;以及 跳转子模块,用于针对下一个所述被叫,跳转到所述发送子模块使用所述外呼标签发 出创建查找路由的请求。
全文摘要
本发明公开了一种通过VXML实现电话转接的方法,该方法包括以下步骤接收主叫向多个被叫的呼叫;使用外呼标签逐个地呼叫多个被叫,其中,一旦接收到对当前呼叫的被叫的路由响应,立即呼叫下个被叫;以及使用事件等待标签处理呼叫多个被叫中产生的异步事件。根据本发明提供的技术方案,可以达到使用VXML标签实现电话同振的效果。
文档编号H04W4/16GK102149059SQ20101012572
公开日2011年8月10日 申请日期2010年2月9日 优先权日2010年2月9日
发明者余玲玲 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1