我设计的流程引擎是脚步驱动的。脚本中定义了流程执行的环境,流程操作的对象,流程执行的步骤。下面是一个流程脚本的示例:
<?xml version="1.0" encoding="utf-8"?>
<process name="make_call">
<data type="user_tel">called_number</data>
<object type="user" id="global_data:called_number" operation="must">obj_user</object>
//用户对象描述中,号码是必须的,是流程引擎和业务的交互唯一标识,callid是可选的。
<object type="user" object_num="global_data:called_number" operation="must">obj_user</object>
<sequence name="make_call">
<invoke interface="make_call" node="make_call_001"
object_user="obj_user" calling_number="6699" original_number="123456"
call_type="local_call">
</invoke>
<invoke interface="play_voice" node="play_voice_001"
object_user="obj_user" play_long="100" play_file="/home/welcome.au">
</invoke>
</sequence>
</process>
脚本的含义
:
1、process的name属性表示流程的名称,用于在程序中调用。
2、<data type="user_tel">called_number</data>表示定义了一个流程的全局外部变量。有程序在调用流程是作为流程数据传送给流程。这个数据要在后面的流程中使用。
3、<object>部分在流程中定义流程操作的对象。一般分为用户和会场。这里表示是用户。属性“id”表示对象的唯一标识。这里引用的是流程的全局数据:global_data:called_number,也就是在上面定义的数据。属性“operation”表示此对象是可选还是必选。如果是必须,这如果此对象被释放,这流程也要被被结束。否则,不结束。中间的内容表示对象在流程中的唯一标示,这里是obj_user,后面的节点可以通过使用它来操作对象。
4、<sequence>表示顺序调用下面的节点。
5、<invoke >表示调用节点。属性“interface="make_call"”表示此节点调用的接口是make_call。make_call是在代码中定义好的关键字,对应一个软交换系统的接口。属性“node”表示节点的唯一标识,在流程内部唯一,可以在流程跳转的时候使用。“object_user="obj_user"“表示make_call 接口操作的对象。有<object>创建。 calling_number="6699" original_number="123456"
call_type="local_call"表示的是make_call接口调用时的数据。
6、<invoke interface="play_voice"表示对此对象进行放音。
这个脚本的意思是,根据流程输入的号码,创建用户对象,并且发起呼叫,对用户进行放音。
复杂的脚步定义:
上面的是一个简单的示例。为了能够实现流程编辑,要考虑很多的情况,要能够进行分支处理,跳转执行,捕获事件等。
1、分支的实现
<recive event="user_key" ="" node="receive_key" object_user="obj_user" time_out="10"></recive>
<switch condition_type="user_key" object="obj_user">
<case condition="9092">
<sequence name="d">
</sequence>
</case>
<case condition="time_out">
<sequence name="d">
</sequence>
</case>
<otherwise>
<sequence name="">
<goto node="play_voice_001">goto_001</goto>
</sequence>
</otherwise>
</switch>
1)<recive event="user_key"表示接受指定用户的按键。如果超过10秒为收到按键则认为用户按键结束。
2)<switch condition_type="user_key"表示一用户的按键为分支条件,进行分支处理。
3)<case condition="9092">表示如果用户的按键式0092的话则进入此分支进行处理。
4)<case condition="time_out">如果超时为收到用户按键,这进入此分支处理
5)<otherwise>如果上面的条件都不满足,则进入此分支处理。
2、跳转的实现:
<goto node="goto_001" next_node="play_voice_001"></goto>
表示此节点是一个跳转节点,要跳转到的下一个节点是play_voice_001。
3、信号捕获的实现:
<pick name="pick_001" time_out="10">
<on_event event="on_ring_180" result="success" reason="normal">
<sequence name="008">
</sequence>
</on_event>
<time_out>
<sequence name="008">
</sequence>
</time_out>
<otherwise event="on_ring_180:on_ring_183">
<sequence name="009">
</sequence>
</otherwise>
</pick>
1)<pick name="pick_001" time_out="10"><pick>活动会等待一组相互排斥事件中的一个事件的发生,然后执行与发生的事件相关联的活动。它会阻塞业务流程执行,以等待某一特定的事件发生,比如接收到一个合适的消息或超时警报响起。当其中任何一个事件被触发后,业务流程就会继续执行,pick也随即完成了,不会再等待其他事件的发生。
2)<on_event event="on_ring_180" result="success" reason="normal">表示如果收到的on_ring_180,且结果是success,原因是normal。触发此流程的处理。
3)<time_out>表示超时为收到制定事件的处理。
4)<otherwise event="on_ring_180:on_ring_183">表示收到其他的事件,比如:on_ring_180或on_ring_183,都进入此分支处理。
分享到:
相关推荐
图形 流程设计 IVR 可生成xml 可编译脚本 供引擎调用
基于SIP的呼叫中心IVR系统设计与实现 呼叫中心 IVR设计与实现 基于SIP的
基于Java Web的高校毕业生档案管理系统设计与实现——以江西财经大学档案馆为例 本文结合工作实际,设计和实现了基于Java Web的高校毕业生档案管理系统。该系统满足当前高校毕业生档案管理工作的基本需求。系统研发...
IVR流程开发规范 高阳 ivr IVR流程开发规范 高阳 ivr
IVR流程服务器、网关工具(Vector) IVR流程调试工具(VPhone)
电信内部ivr语音流程搭建教材,主要是新太平台上面基于语音外呼流程的搭建
IVR流程编写手册 新太 IVR流程编写手册 新太 IVR流程编写手册 新太 IVR流程编写手册 新太
IVR语音导航/语音流程设置:分时段设置所需的语音导航流程,可设定任意层次,支持“转接人工”、“返回上级菜单”、“留言录音”等功能,设定好流程并导入相应音频文件后即生效。 来电黑名单拒接:可设置黑...
移动IVR开发流程整体介绍,刚刚开始的朋友可以查看。
新太IVR流程编译器,新太IP流程脚本语言是由新太IVR流程脚本语言发展而来的,用于编写IP流程 只要音档全,它就能测试流程了.以前为了偷懒,音档一直没有放进去,以为不能测试,一次偶然的机会,把音档放进去了,哈哈竟然...
新太ivr 流程编译器用户手册 新太ivr 流程编译器用户手册
3. 采用节点方式实现可定制IVR流程:可定制IVR技术采用节点方式实现IVR流程,允许用户根据自己的需求设计和实现IVR流程。 4. 支持的跳转级别多:可定制IVR技术支持多级跳转,允许用户根据自己的需求设计和实现复杂的...
青牛IVR流程编辑器适用于VC版的SLEE。先装“atsb.rar”,在打补丁“ATSB1.9.rar”
IVR流程,在网上搜易把,比我介绍的详细
基于中继网关的IVR业务与回环功能的设计与实现,张志成,马跃,本文讨论了基于VoIP应用方案的中继网关软件体系结构,其主要包括九个软件模块,并对各个模块的功能做了说明。本文重点设计并实现��
尤其适合于各种流程化的程序设计(工作流函数的操作、呼叫中心系统IVR流程化的设计等等)。 本控件使用简便,开发者可根据本文档提供的例子根据自己的实际需求在例子上稍作修改即可。 主要的功能有: 1.加载脚本...
c#编写IVR流程编辑器 大家共同学习,共同进步
IVR流程编写规范,希望对您有帮助! rar压缩包中含有: 1、IVR流程编写手册 2、IVR流程编写规范.pdf 3、ivr.pdf http://www.oine.cn