`
canofy
  • 浏览: 830105 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

ccxml整合voicexml

    博客分类:
  • IVR
阅读更多

参考例子:http://docs.voxeo.com/ccxml/1.0-final/frame.jsp?page=createcall.htm

实现的功能(步骤或者是ccxml的执行顺序):先是进入ccxml,接着是进入到voicexml进行选择某个服务的对话,结束之后传递某个变量给ccxml,然后利用ccxml来进行转接电话
注意要点:
1、由voicexml传递的参数必须在ccxml和voicexml中都有声明
2、在voicexml中的参数声明是<var name="phoneNumber" expr="session.connection.ccxml.values.phoneNumber"/>
3、在ccxml中要有状态状态转移,在这个例子中使用的是initState变量,一步一步赋值,
4、在ccxml中要有event="connection.progressing"
5、在ccxml中的dest="'tel:+14087168081'"中的电话号码参照dest的规则
6、要拨的电话号码不能说中国大陆的,座机和手机都不支持(因为使用的voxeo),这里我只是用的美国的座机电话试的,800的电话不行
7、这不是标准的ccxml,这是基于voexo上的ccxml
8、查看log的日志也需要在voexo的网页上去查看
9、我是使用skype和google voice进行的测试

下面是ccxml(使用的是voxeo的东西)
<?xml version="1.0" encoding="UTF-8"?> 

<ccxml version="1.0" xmlns:voxeo="http://community.voxeo.com/xmlns/ccxml">
  <var name="inboundID"/> 
  <var name="outboundID"/> 
  <var name="initState" expr="'state1'" /> 
<var name="phoneNumber" expr="'defaultvalue'"/>

  <eventprocessor statevariable="initState"> 
    <transition state="state1" event="connection.alerting"> 
      <log expr="'***** INBOUND CONNECTION ALERTING *****'"/> 
      <assign name="inboundID" expr="event$.connectionid" /> 
      <accept connectionid="inboundID" /> 
      <assign name="initState" expr="'state12'"/> 
    </transition> 

 <transition state="state12" event="connection.connected"> 
      <assign name="initState" expr="'state2'"/> 
      <log expr="'***** voicexml excute *****'"/> 
	  <dialogstart src="'Haitao3.vxml'" namelist="phoneNumber"/>
    </transition> 

    <transition state="state2" event="dialog.exit"> 
      <assign name="initState" expr="'state3'"/> 
      <log expr="'***** CONNECTION.CONNECTED: INBOUND *****'"/> 

	<if cond="event$.values.phoneNumber == 'others'">
    	<createcall dest="'tel:+14087168081'" callerid="'1112223333'" connectionid="outboundID" timeout="'30s'"/>  
	<else />
     		<exit/>
     	</if>

    </transition> 

    <transition state="state3" event="connection.progressing"> 
      <log expr="'***** CONNECTION.PROGRESSING *****'"/>  
      <assign name="initState" expr="'state4'"/> 
    </transition> 

    <transition state="state4" event="connection.connected"> 
      <assign name="initState" expr="'state5'"/> 
      <log expr="'***** CONNECTION.CONNECTED: INBOUND *****'"/>  
      <join id1="inboundID" id2="outboundID" duplex="'full'"/> 
    </transition> 

    <transition state="state5" event="conference.joined"> 
      <log expr="'***** CONFERENCE JOINED: INBOUND LEG TO OUTBOUND LEG *****'"/>  
    </transition> 

    <transition event="connection.disconnected"> 
      <log expr="'***** CONNECTION.DISCONNECTED *****'"/>  
      <exit/> 
    </transition> 
    
    <transition event="error.*">
      <log expr="'CRIKEY AN ERROR HAS OCCURED: (' + event$.reason + ')'"/>
      <exit/>
    </transition>
  </eventprocessor> 
</ccxml>



下面是voicexml,这里主要是有几个选项,基本上这里放的都是录音

<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0">
<var name="phoneNumber" expr="session.connection.ccxml.values.phoneNumber"/>

	<menu dtmf="true">
		<prompt>
			<audio src="welcome.wav">
		    </audio>
			<enumerate>
				<audio src="main1.wav"></audio>
				<audio src="main2.wav"></audio>
				<audio src="main3.wav"></audio>
			</enumerate>
		</prompt>
		<choice next="#Shopping">Shopping</choice>
		<choice next="#complain">complain</choice>
		<choice next="#others">others</choice>
		<noinput> Please say one of <enumerate/>
		</noinput>
		<nomatch> 
			<audio src="notunderstand.wav"></audio> 
			<audio src="main1.wav"></audio>
			<audio src="main2.wav"></audio>
			<audio src="main3.wav"></audio>
		</nomatch>
	</menu>
	<form id="Shopping">
		<block>
			<audio src="welcome.wav"></audio>
		</block>
		<record name="msg" beep="true" maxtime="5s" finalsilence="1000ms" dtmfterm="true" type="audio/x-wav">
			<prompt timeout="5s">
	         <audio src="whatbuy.wav"></audio>
	       </prompt>
			<noinput>
	         <audio src="tryagain.wav"></audio>
	       </noinput>
		</record>
		<block>
			<prompt>
	          <audio src="whatbuy.wav"></audio>
	          <audio expr="msg"/>. 
	          
  			  <audio src="goodbye.wav"></audio>
  			  <exit namelist="phoneNumber"/>
	       </prompt>
		</block>
	</form>
	
	<form id="complain">
		<record name="msg" beep="true" maxtime="5s" finalsilence="1000ms" dtmfterm="true" type="audio/x-wav">
			<prompt timeout="5s">
	         <audio src="whatcomplain.wav"></audio>
	       </prompt>
			<noinput>
	         <audio src="tryagian.wav"></audio>
	       </noinput>
		</record>
		<block>
			<prompt>
          		<audio src="takecomplain1.wav"></audio>
          		 <audio expr="msg"/>
          		 <audio src="takecomplain2.wav"></audio>.
          		
          		<audio src="goodbye.wav"></audio>
          		<exit namelist="phoneNumber"/>
       </prompt>
		</block>
	</form>
	<form id="others">
		<block> 
			<audio src="otherselect.wav"></audio>
			
      		<audio src="goodbye.wav"></audio>
      		<assign name="phoneNumber" expr="'others'"/> 
			<exit namelist="phoneNumber"/>
		</block>
	</form>
	
</vxml>

分享到:
评论

相关推荐

    AVAYA CCXML开发中文教程1概念入门

    它与VoiceXML协同工作,为电话平台、对话框管理器、外部客户端以及为CCXML文档提供服务的服务器之间提供了接口。CCXML的设计理念是以异步、非阻塞的方式处理电话事件,从而作为对话管理器的呼叫控制服务,实现了状态...

    在 Java Web 开发框架中创建 VoiceXML 页面

    CCXML 比大多数 VoiceXML 实现更为高级,提供了对回叫、事件侦听器和多路及多方会话的支持。 在本文的后面,我们将介绍一个非常简单的 VoiceXML 应用程序,用于查看 VXML 文件,并确保您有权访问 Voxeo 的 call-...

    ccxml.rar_ccxml

    **CCXML(Call Control XML)**是W3C(World Wide Web Consortium)发布的一种标准,用于定义呼叫控制和通信服务的交互。它是一种基于XML的标记语言,设计目的是为了让通信平台和服务提供商能够更容易地创建、管理和...

    CCXML简介.doc

    CCXML(Call Control eXtensible Markup Language)是由W3C 推出的用于呼叫...作为呼叫控制标准的CCXML 与作为呼叫流程控制标准的VoiceXML 互相弥补,协同工作,可以打造各种各样从简单到复杂的灵活多变的语音应用系统

    Voxeo Prophecy平台开发VoiceXML应用

    Voxeo Prophecy是一个强大的IVR平台,基于SIP进行呼叫控制,支持VoiceXML和CCXML标准的应用程序。该平台内置了TTS(Text-to-Speech)和ASR(Automatic Speech Recognition)功能,并且通过MRCP(Media Resource ...

    H3C图标库,会有你需要的,提取图标,只要把pptx后缀改为zip或rar解压,在解压出来的ppt文件夹里面的media目录就可

    * H3C图标库还包含了其他类型的网络设备图标,例如:modem、SIP server、CDR、Message、Meeting、CCXML/VoiceXML等 * H3C图标库还提供了大量的网络管理设备图标,例如:Network manage equipment、SIP server、CDR、...

    VVsip: 免费sip客户端API

    5. **扩展性**:VVsip可能支持Voicexml和Ccxml,这两种XML语言分别用于定义交互式语音响应(IVR)和呼叫控制,增强了应用的灵活性和可定制性。 **Voicexml与Ccxml** 1. **Voicexml**:Voice Extensible Markup ...

    CCXML / VXML:IVR的智慧世界

    在IT行业中,交互式语音应答(IVR)系统是企业与客户沟通的重要桥梁,而CCXML(Call Control XML)和VXML(VoiceXML)则是构建这类系统的两大核心技术。这两个标准语言都基于XML,旨在提升电话自动服务的智能化和...

    新华三H3C图标大全下载

    4. **网络设备**:H3C的网络设备还包括SIP服务器、CDR、Message Meeting、CCXML/VoiceXML等,这些设备和服务主要用于语音通信和网络管理,为用户提供高效、安全的通信环境。 5. **安全产品**:H3C的安全产品线非常...

    最通用的cc里面配置的config.xml文件

    一个很从cc服务器监控svn的通用配置的例子,全部用变量设置

    ccs的一个例子工程

    【标题】"CCS的一个例子工程" 在嵌入式系统开发中,Code Composer Studio (CCS) 是TI(德州仪器)推出的一款强大的集成开发环境,主要用于C2000、 MSP430 和TIVA系列微控制器的开发。这个例子工程提供了一个全面的...

    DD_5.1_CCXMLSampleApplications.zip_avaya

    《AVAYA CCXML开发应用详解》 在IT领域,AVAYA是一个知名的通信解决方案提供商,其产品广泛应用于企业级的电话系统、呼叫中心及统一通信解决方案。在本篇文章中,我们将聚焦于AVAYA的开发环境和流程工具,特别关注...

    Voice Conference Manager-开源

    Voice Conference Manager是一款开源的语音会议管理系统,它利用先进的技术如VoiceXML(语音可扩展标记语言)和CCXML(呼叫控制可扩展标记语言)来实现高效、便捷的语音交互功能。这款系统的核心在于其语音识别和...

    5509A_SPI_EEPROM flash烧写代码

    TMS320VC5509A 在线烧写代码进EEPROM 。AT25F系列EEPROM。 Easy5509开发板在线烧写bin代码,CCS4.24版本。XDS100V2下载器。整个工程文件,包括一键out转bin软件

Global site tag (gtag.js) - Google Analytics