| CCXML Voxeo 1.0 Development Guide | Home | Frameset Home |
|
<send delay> element/attribute pairing.
<?xml version="1.0" encoding="UTF-8" ?>
<ccxml version="1.0">
<%
'*******************************************************
' Grab the variables from the querystring using ASP.
'*******************************************************
phoneNum = request.querystring("phoneNum")
'*******************************************************
' Now we must assign those values to CCXML variables.
'*******************************************************
response.write "<var name=""phoneNum"" expr=""'" & phoneNum & "'""/>"
%>
<var name="state0" expr="'init'"/>
<eventhandler statevariable="state0">
<!-- *** CCXML front-end loaded / Making outbound call *** -->
<transition state="'init'" event="ccxml.loaded">
<log expr="'-- Application Starting --'"/>
<log expr="'-- Making Outbound Call --'"/>
<assign name="state0" expr="'calling'"/>
<createcall dest="phoneNum"
timeout="'30000'"/>
</transition>
<!-- *** If outbound call fails *** -->
<transition state="'calling'" event="connection.CONNECTION_FAILED">
<log expr="'-- Outbound Call Failed / Exiting App --'"/>
<exit/>
</transition>
<!-- *** If outbound call is successful *** -->
<transition state="'calling'" event="connection.CONNECTION_CONNECTED" name="evt">
<log expr="'-- Call Answered --'"/>
<var name="myCallID" expr="evt.callid"/>
<assign name="state0" expr="'call_answered'"/>
<!-- *** Creating "timer-like" effect *** -->
<send event="'callMaxTimeReached'" target="session.id" delay="'300000'"/>
<!-- *** Starting your actual VXML application *** -->
<dialogstart src="'your_app.vxml'"/>
</transition>
<transition state="'call_answered'" event="dialog.exit" name="evt">
<log expr="'-- VXML App Complete / Exiting App --'"/>
<exit/>
</transition>
<!-- *** If call time reaches 5 minutes *** -->
<transition event="user.callMaxTimeReached">
<log expr="'-- Max Call Time Reached / Disconnecting Call --'"/>
<assign name="state0" expr="'forced_disconnect'"/>
<disconnect callid="myCallID"/>
</transition>
<!-- *** Clean-up when call is disconnected *** -->
<transition event="connection.CONNECTION_DISCONNECTED" name="evt">
<log expr="'-- Call Leg: ' + evt.callid + 'Has Been Disconnected / Exiting App --'"/>
<exit/>
</transition>
<!-- *** If we just generally mess things up *** -->
<transition event="call.CALL_INVALID" name="evt">
<if cond="myCallID == evt.callid">
<exit/>
</if>
</transition>
<transition event="error.*" name="evt">
<log expr="'CRIKEY AN ERROR HAS OCCURED: (' + evt.error + ')'"/>
<exit/>
</transition>
</eventhandler>
</ccxml>
| ANNOTATIONS: EXISTING POSTS |
| login |
|