Voxeo Documentation - <voxeo:recordcall> Element

The <voxeo:recordcall> element is a Voxeo-specific element that lets the developer record both sides of a call.

This element records both the human and the application interaction to a WAV file. For Prophecy Hosting, the file is stored in your Evolution Developer Portal account for Prophecy Hosting in your .../recordings directory using a directory structure based on the date, for example, root/recordings/year/month/day/. To retrieve recordings you could use a batch script with FTP authentication, for example, ftp://voxeoUsername:voxeoPassword@ftp.voxeo.net. In an on-premise installation of Prophecy , recordings are saved to the ...\Voxeo\Prophecy\webapps\www\MRCP\Recordings directory.

The default recording format is a WAV file using  Wave PCM-Signed 16-bit, stereo, 8000Hz, 256kbps: If you want a different format, you can define the format attribute.

The value attribute of <voxeo:recordcall> allows you to turn recording on or off, or to determine a percentage of calls that are recorded.

If you try to turn on call recording after call recording is already enabled, a fatal application error will occur.

Note: To use Voxeo-specific elements or attributes, the xmlns:voxeo attribute must be declared and mapped to the correct Voxeo namespace. For example: <vxml version="2.1" xmlns:voxeo="http://community.voxeo.com/xmlns/vxml">.

Syntax

The following code example shows the syntax for the <voxeo:recordcall> element.

<voxeo:recordcall info="myInfoCDATA" value="100" format="audio/au"/>

- or -

<voxeo:recordcall infoexpr="myInfoExpression" value="50" format="audio/wav"/>

Attribute Details

The following table describes the attributes for the <voxeo:recordcall> element.

info

Required: true

Type: CDATA

Default: none

Specifies information that is inserted into the filename for the resultant recorded WAV file to help to differentiate between files. ECMA values are not supported for this attribute. Should not be used in conjunction with the infoexpr attribute.

Resultant audio filenames take the following format:

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

The following filename is an sample in the preceding format on the Prophecy platform:

56788-466213-7b5f9a2d71da645a00c3ba0c91d0a173-0-9991494909_ID_4072917777_t_2262030.wav

infoexpr

Required: false

Type: ECMAScript Expression

Default: none

Specifies an ECMAScript expression that evaluates to information that is inserted into the filename for the resultant recorded WAV file to help to differentiate between files. Should not be used in conjunction with the info attribute.

Resultant audio filenames take the following format:

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

The following filename is an sample in the preceding format:

56788-466213-7b5f9a2d71da645a00c3ba0c91d0a173-0-9991494909_ID_4072917777_t_MyECMAValue.wav

value

Required: true

Type: Integer

Default: none

Specifies the percentage of calls to record. A value of 100 will record all calls that come in to the application, while a value of 30 will record 3 out of every 10 calls that come in. Setting this value to " 0 " lets the developer programmatically turn call recording off within the application flow.

Valid Values: An integer value between " 0 " and 100, inclusive.

format

Required: false

Type: CDATA

Default: audio/wav

Specifies the recording format supported on the Prophecy platform.

Valid Values: One of:

 

audio/wav - Wave PCM Signed 16-bit, stereo, 8000Hz, 256kbps. This is the default setting.

 

audio/x-wav - Wave PCM Signed 16-bit, stereo, 8000Hz, 256kbps.

 

audio/vox - Dialogic u-law, mono, 8000Hz, 64kbps

 

audio/pcm - Raw PCM signed 16-bit, mono, 8000Hz, 128kbps

 

audio/wav/ulaw - Wave u-law, mono, 8000Hz, 64kbps

 

audio/wav/alaw - Wave a-law, mono, 8000Hz, 64kbps

 

audio/x-alaw-basic - Wave a-law, mono, 8000Hz, 64kbps

 

audio/mpeg - MPEG Audio Layer-3, "joint stereo", 8000Hz, 24kbps

 

audio/mp3 - MPEG Audio Layer-3, "joint stereo", 8000Hz, 24kbps

 

audio/au - Sun PCM signed 16-bit, mono, 8000Hz, 128kbps

 

audio/gsm - Sun PCM signed 16-bit, mono, 8000Hz

Shadow Variables

None.

Parents

<block>

Children

None.

Code Samples

The following code sample shows use of the <voxeo:recordcall> element to record all calls for the four-digit PIN code.

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

<!-- Declaring the 'xmlns:voxeo' attribute is required -->

<vxml version="2.1" xmlns:voxeo="http://community.voxeo.com/xmlns/vxml">

 

<form id="F1">

<block>

<!-- The value of 100 will start recording -->

<voxeo:recordcall value="100" info="Passcode" />

<prompt>

Thank you for calling.

All calls into this system

are recorded for training purposes.

</prompt>

</block>

 

<field name="F_1" type="digits?length=4">

<prompt>

Please enter your passcode to access the system.

</prompt>

 

<filled>

<prompt>

Thank you. Your passcode is being verified.

</prompt>

 

<goto nextitem="B_1" />

</filled>

</field>

 

<block name="B_1">

<!-- The value of '0' will turn off recording -->

<voxeo:recordcall value="0" info="Passcode" />

 

<prompt>

We will now grant access to the application.

</prompt>

 

<exit />

</block>

</form>

</vxml>

The value attribute of <voxeo:recordcall> allows you to turn recording on or off, or to determine a percentage of calls that are recorded. Here is an example that records a 10 percent of employee calls, 100% of manager calls, and none of the calls when the caller type is not known.

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

<!-- declaring the 'xmlns:voxeo' attribute is required -->

<vxml version="2.1"

  xmlns:voxeo="http://community.voxeo.com/xmlns/vxml">

 

  <form id="Main">

    <field name="caller">

 

      <prompt>

        Employees please press 1.<break/>

        Managers please press 2.<break/>

      </prompt>

 

      <grammar xml:lang="en-US" root = "TOP" mode="dtmf">

      <rule id="TOP" scope="public">

       <one-of>

         <item> 1 <tag> out.caller="employee"; </tag> </item>

         <item> 2 <tag> out.caller="manager"; </tag> </item>

       </one-of>

       </rule>

      </grammar>

 

      <filled>

 

         <if cond="caller=='employee'">

           <!-- Record 10% of employee calls. -->

           <voxeo:recordcall value="10" info="employee" />

 

         <elseif cond="caller=='manager'" />

           <!-- Record 100% of manager calls. -->

           <voxeo:recordcall value="100" info="manager" />

 

         <else />

           <!-- We don't know who this is so record no calls. -->

           <voxeo:recordcall value="0" info="unknown" />

         </if>

 

         <goto nextitem="restOfCall" />

      </filled>

    </field>

 

    <block name="restOfCall">

      <prompt>

        Please hold while we transfer you.

        <!-- and so forth... -->

      </prompt>

      <exit />

    </block>

 

  </form>

</vxml>

 

Next Steps

The <Voxeo:recordcall> element records both the application side and the caller side of the application. For more detailed recording control, such as by dialog, or type of answer, such as a busy signal, voice mail, or human, you may want to use the <record> element. For more information, see the <record> Element.

See Also

VoiceXML Development Guide v2.1 Overview

Element Summary

Voxeo Support

 

The <voxeo:recordcall> element is a Voxeo-specific element that allows the developer to record both sides of a call. For more information, see <voxeo:recordcall> Element.

 
Voxeo Corporation is a technology company that specializes in providing development platforms for unified customer experience as self-service and unified communications using real-time communications applications. Voxeo's products are also available as a SaaS platform as cloud-based services using on-premise software in a private cloud, or hybrid clouds that combine both on-demand public-cloud and on-premise components. For more information, see Voxeo.com.

 
A standard network protocol used to transfer files and data from one computer to another using TCP over the Internet. The acronym for file transfer protocol is FTP. For more information, see FTP on Wikipedia.
 

Hardware or software installed as a private cloud geographically located on your premises.

 
Prophecy is a Voxeo 100% standards-based communications software platform for running applications for voice, text messaging (SMS), video, and mobile web. Prophecy makes it easy for companies to create, deploy, and manage DTMF and speech self-service IVR applications, while also providing support for non-voice self-service channels, including SMS. Prophecy is the only IVR platform to pass every mandatory and optional VoiceXML Forum compliance test. Prophecy is available for on-premise deployment and as Prophecy Hosting as the Voxeo worldwide hosting network. A free download of Prophecy is available at Voxeo Prophecy Download. For more information, see your version of Prophecy in the Prophecy Documentation.
 

The <voxeo:recordcall> element is a Voxeo-specific element that allows the developer to record both sides of a call. For more information, see <voxeo:recordcall> Element.

 

The <voxeo:recordcall> element is a Voxeo-specific element that allows the developer to record both sides of a call. For more information, see <voxeo:recordcall> Element.

 

The <voxeo:recordcall> element is a Voxeo-specific element that allows the developer to record both sides of a call. For more information, see <voxeo:recordcall> Element.

 

The <block> element is a form-item container element for executable content. For more information, see <block> Element.

 

The <voxeo:recordcall> element is a Voxeo-specific element that allows the developer to record both sides of a call. For more information, see <voxeo:recordcall> Element.

 

The <voxeo:recordcall> element is a Voxeo-specific element that allows the developer to record both sides of a call. For more information, see <voxeo:recordcall> Element.

Voxeo Documentation

     Voxeo Documentation Overview
  Evolution Developer Portal Documentation
  Voxeo CXP Documentation
  Prophecy Documentation
  XML Development Languages Documentation
  VoiceXML 2.1 Development Guide
     VoiceXML Development Guide v2.1 Overview
     Platform Overview
     Creating an Application
     Voxeo File Manager
     Caching Tips and Techniques
     Cache Manager API
     Security Information
  Learning VoiceXML 2.1
  Best Practices
  Debugging Techniques
  Exceptions and Errors
  VoiceXML 2.1 Porting Guide
  VoiceXML Variables
  All Things Audio
  Outbound Dialing
  Property Guide
  GSL Grammars
  grXML Grammars
     Custom Features
     External References
  Text-To-Speech Guide
     VoIP Dialing
     Voxeo Designer User Interface
  Element Reference Guide
     Element Summary
     <assign> Element
     <audio> Element
     <block> Element
     <break> Element
     <catch> Element
     <choice> Element
     <clear> Element
     <data> Element
     <disconnect> Element
     <else> Element
     <elseif> Element
     <emphasis> Element
     <enumerate> Element
     <error> Element
     <example> Element
     <exit> Element
     <field> Element
     <filled> Element
     <foreach> Element
     <form> Element
     <goto> Element
     <grammar> Element
     <help> Element
     <if> Element
     <initial> Element
     <item> Element
     <link> Element
     <log> Element
     <mark> Element
     <media> Element
     <menu> Element
     <meta> Element
     <noinput> Element
     <nomatch> Element
     <one-of> Element
     <option> Element
     <paragraph> Element
     <param> Element
     <phoneme> Element
     <prompt> Element
     <property> Element
     <prosody> Element
     <record> Element
     <reprompt> Element
     <return> Element
     <rule> Element
     <ruleref> Element
     <say-as> Element
     <script> Element
     <sentence> Element
     <sub> Element
     <subdialog> Element
     <submit> Element
     <tag> Element
     <throw> Element
     <token> Element
     <transfer> Element
     <value> Element
     <var> Element
     <voxeo:logcontrol> Element
     <voxeo:recordcall> Element
     <vxml> Element
  CCXML 1.0 Development Guide
     CallXML 3.0 Development Guide
  Voxeo Support
     Support Quick Reference
  Registering for an Account
  Self-Help Tools
  Collecting Information
  Evolution Ticketing System
     Submitting a Support Request
     Escalating a Support Request
  Software Lifecycle and Support Policies
  Getting Further Assistance
  Voxeo Glossary
  Help on Help