Home -> Support -> VoiceXML Examples

Outgoing Call with Connected Dialog Example

example16.ccxml
<?xml version="1.0" encoding="UTF-8"?>

<!--
  - The following example code creates an outgoing call and when the
  - call is connected a dialog is started for it. When the dialog
  - terminates the connection is disconnected and this session exits.
  -
  - This simple example is not meant to be a complete application and
  - does not handle all error events.
 -->

<ccxml version="1.0">

  <var name="conn_id" />

  <eventprocessor>

    <transition event="ccxml.loaded">
      <log expr="'Session loaded.'"/>
      <createcall dest="'tel:1234'" connectionid="conn_id"/>
    </transition>

    <transition event="connection.connected">
      <log expr="'Connection connected.'"/>
      <dialogstart src="'example16a.vxml'" connectionid="conn_id"/>
    </transition>

    <transition event="dialog.started">
      <log expr="'Dialog started.'"/>
    </transition>

    <transition event="dialog.exit">
      <log expr="'Dialog exited.'"/>
      <disconnect connectionid="conn_id"/>
    </transition>

    <transition event="connection.disconnected">
      <log expr="'Connection disconnected. Exiting.'"/>
      <exit/>
    </transition>

  </eventprocessor>
</ccxml>
example16a.vxml
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">

<meta name="description" content="simple grammar and simnple event handling example"/>
<meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
<meta name="copyright" content="free for any purpose"/>

<form id="start">
  <field name="answer">
    <noinput> Hey, don't sleep! </noinput>
    <nomatch> say 'yes' or 'no' </nomatch>

    <prompt timeout="5s"> Are you sleepy? </prompt>

    <grammar root="main" tag-format="semantics/1.0-literals">
      <rule id="main" scope="public">
        <one-of>
          <item><ruleref uri="#yes"/><tag>yes</tag></item>
          <item><ruleref uri="#no"/><tag>no</tag></item>
        </one-of>
      </rule>
      <rule id="yes">
        <one-of>
          <item>yes</item>
          <item>yeah</item>
          <item>yep</item>
          <item>sure</item>
        </one-of>
      </rule>
      <rule id="no">
        <one-of>
          <item>no</item>
          <item>not</item>
          <item>nope</item>
        </one-of>
      </rule>
    </grammar>

    <filled>
      <if cond="answer=='yes'">
        So you are sleepy. Me too.
      <else/>
        So you are not sleepy. But I am.
      </if>
    </filled>
  </field>
</form>

</vxml>