CallXML 3.0 Development GuideHome  |  Frameset Home


<recordcall>  element

The <recordcall>element is a new element that allows the developer to record both sides of a call, recording the human and the application interaction to a wav file that is stored in the developer's Voxeo File Manager in the 'recordings' subdirectory.  <recordcall> can record to a stereo audio file and contains *two* 8-bit streams, (note that two 8-bit streams is not the same as recording in 16 bit). Also be aware that attempting to 'turn on' call recording while it has already been enabled will result in a fatal application error. However, you are free to turn it on and off at your leisure within the application by using the 'value' attribute.


usage
<recordcall info="CDATA" test="CDATA" value="(0-100)" value-is="STRING" value-is-not="STRING">


attributes
infoData Type: CDATADefault: Required
The 'info' attribute allows the developer to specify information that is inserted into the resultant recorded wav filename that makes identification easier. Note that ECMA values are NOT supported; (for instance, specifying the 'info' attribute with a value of 'MyVar' is not valid). Resultant audio filenames will be in the following format:

AccountID -ApplicationID-SessionID-UserData(Info).wav

As such, a sample file might well look like this:

111-22222-abcdefg1234567abcdefg1234567-MyUserDefinedInformation.wav
testData Type: CDATADefault: Optional
The 'test' attribute is a new supplement to the CallXML markup that permits the developer to execute the contents of a container element, or action element, based on whether or not the specified condition is met. If the defined condition is met, then the code contained within the element is then executed. If the condition is not met, then the application resumes execution with the next sequential container container element in the document.
valueData Type: (0-100)Default: Required
The 'value' attribute specifies what percentage of calls will be recorded. Setting this value to '100' will record all calls that hit the application, while setting it to '30' will record 3 out of 10 calls that come in. Setting this value to '0' allows the developer to programmatically turn call recording on and off within the application flow.
value-isData Type: STRINGDefault: none - attribute is optional
Another new attribute, 'value-is', grants the developer with the ability to perform conditional logic upon container elements, or action elements for the first time within the CallXML markup. The value specified in the 'value-is' attribute specifies a string to compare against any 'value' attributes. If the 'value' and 'value-is' equate to 'true', then the element specified will execute. If the value equates to 'false' then the element will be skipped during document execution.
value-is-notData Type: STRINGDefault: none - attribute is optional
Another new attribute, 'value-is-not', grants the developer with the ability to perform conditional logic upon container elements, or action elements, for the first time within the CallXML markup. The value specified in the 'value-is-not' attribute specifies a string to compare against any 'value' attributes. If the 'value' and 'value-is-not' equate to 'false', then the element specified will execute. If the value equates to 'true' then the element will be skipped during document execution.



code samples
<3.0 recordcall-info-value> sample
<?xml version="1.0" encoding="UTF-8"?>

<callxml version="3.0">
  <do repeat="3">
  <recordcall value="100" info="MyFile"/>
    <prompt value="Hey, you are being recorded, jerky!
                  Press one to turn off recording,
                  or press two to continue" choices="123"/>

    <on event="choices = 1">
      <recordcall value="0" info="MyFile"/>
      <prompt value="Okay already, no more recording"/>
    </on>

    <on event="choices = 2">
      <prompt value="You are so vain"/>
    </on>

  </do>

</callxml>


<3.0 recordcall-test>
<?xml version="1.0" encoding="UTF-8"?>

<callxml version="3.0">
  <do>
    <!-- this will not turn on call recording -->
  <recordcall value="100" info="MyFile1a" test="6=9"/>

    <!-- this will turn on call recording -->
  <recordcall value="100" info="MyFile1b" test="420=420"/>

    <prompt value="Hey, you are being recorded, jerky!
                  Press one to turn off recording,
                  or press two to continue" choices="12"/>

    <wait value="10s" choices="12"/>

    <on event="choice:1">
    <!-- this will not turn off call recording -->
      <recordcall value="0" info="MyFile2a" test="420!=420"/>

    <!-- this will turn off call recording -->
      <recordcall value="0" info="MyFile2b" test="6!=9"/>

      <prompt value="Okay already, no more recording"/>
    </on>

    <on event="choice:2">
      <prompt value="You are so vain"/>
    </on>

  </do>

</callxml>



<3.0 recordcall valueis>
<?xml version="1.0" encoding="UTF-8"?>

<callxml version="3.0">
  <block value="thurman_merman">
    <!-- this will not turn on call recording -->
  <recordcall value="100" info="MyFile1a" value-is="willie"/>

    <!-- this will turn on call recording -->
  <recordcall value="100" info="MyFile1b"
                  value-is="thurman_merman"/>



    <prompt value="Hey, you are being recorded, jerky!
                  Press one to turn off recording,
                  or press two to continue" choices="12"/>
    </say>

    <wait value="10s" choices="12"/>

    <on event="choice:1">
    <!-- this will not turn off call recording -->
      <recordcall value="0" info="MyFile2a" value-is="marcus"/>

    <!-- this will turn off call recording -->
      <recordcall value="0" info="MyFile2b"
                      value-is="thurma_merman"/>


      <prompt value="Okay already, no more recording"/>
    </on>

    <on event="choice:2">
      <prompt value="You are so vain"/>
    </on>

  </block>

</callxml>

 



additional links
none


  ANNOTATIONS: EXISTING POSTS
0 posts - click the button below to add a note to this page

login



© 2008 Voxeo Corporation  |  Voxeo IVR  |  VoiceXML & CCXML IVR Developer Site