VoiceXML 2.1 Development Guide Home  |  Frameset Home


<voxeo:recordcall>  element


The <voxeo:recordcall> element is a proprietary extension to the VoiceXML specification 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. On a premise install these recordings will be saved to the voxeo/webapps/www/MRCP/Recordings folder.  <voxeo: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). Note that using the <vxml xmlns:voxeo> element/attribute pairing is required for the inclusion of this extension element in your code. 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

<voxeo:recordcall info="CDATA" infoexpr="(ECMAScript Expression)" value="(0-100)">


attributes

info Data Type: CDATA Default: 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 'application.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
infoexpr Data Type: (ECMAScript Expression) Default: "" (undefined)
The 'infoexpr' attribute allows the developer to specify an ECMAScript expression that is inserted into the resultant recorded audio file name that makes identification easier. 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
value Data 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



shadow variables

none


parents

<block>


children

none


code samples

<voxeo:recordcall> sample
<?xml version="1.0" encoding="UTF-8" ?>

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

<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"
    xmlns:voxeo="http://community.voxeo.com/xmlns/vxml">

<meta name="author" content="Matthew Henry"/>
<meta name="copyright" content="2005 voxeo corporation"/>
<meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/>


    <form id="F1">
        <block>
            <!-- the value of 100 will start recording -->
            <voxeo:recordcall value="100" info="Passcode" />

            <prompt>
                Thank you for calling.
                Please note that 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, oh Chosen One.
            </prompt>
            <exit/>
        </block>
    </form>
</vxml>



additional links

none


  ANNOTATIONS: EXISTING POSTS
feel012
9/9/2008 10:56 PM (EDT)
I have a question..
Is <voxeo:recordcall> element extension element??
It is not a standard element??
Does it use only in voxeo vxml parser???
voxeoJohn
9/9/2008 11:17 PM (EDT)
Hi!

  Yes [b]<voxeo-recordcall>[/b] is a proprietary Voxeo element and as such it is relegated to our Prophecy platform.  Please let us know if there are any other questions, we are certainly always more then happy to assist our developers!


Regards,

John
Customer Engineer
w1redone
10/3/2008 2:39 AM (EDT)
is there a length/time limit on the recordcall parameter?
voxeoJeffK
10/3/2008 2:57 AM (EDT)
Hi,

While there is no predefined upper limit on the recordings at this time, we would ask you to keep recordings reasonable on our free staging environment.

regards,
Jeff K.
w1redone
10/4/2008 8:04 PM (EDT)
I am not having any luck recording bridged calls. Here is the code I am trying to use:

<voxeo:recordcall value="100" info="save" />
<transfer name="MyCall" dest="tel:+12225556633" bridge="true" connecttimeout="20s" maxtime="600s">  
</transfer>

Is this even possible?

Thanks!
voxeojeremyr
10/4/2008 8:48 PM (EDT)
Hi,

It sure is possible.  I went ahead and created a little application that would do that for you.  The only thing you will want to change is the phone number of the transfer destination.
[code] 
<?xml version="1.0" encoding="UTF-8" ?>

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

<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"
    xmlns:voxeo="http://community.voxeo.com/xmlns/vxml">

<meta name="author" content="Richmond"/>
<meta name="copyright" content="2005 voxeo corporation"/>
<meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/>


    <form id="F1">
        <block>
            <!-- the value of 100 will start recording -->
            <voxeo:recordcall value="100" info="Passcode" />
            <prompt>
                Thank you for calling.
                Please note that all calls into this system
                are recorded for training purposes.
            </prompt>
        </block>

       
        <transfer name="T_1" bridge="true"
                dest="tel:+14075551234">
        <prompt> Placing the call, y'all</prompt>
      <filled>
        <if cond="T_1 == 'busy'">
            <prompt>The line is busy, Lizzie. </prompt>
            <exit/>
        <elseif cond="T_1 == 'noanswer'"/>
            <prompt> No one's home, metronome. </prompt>
        </if>
      </filled>
  </transfer>
    </form>
</vxml>[/code]

If this doesn't work for you, go ahead and open an account ticket and either attach the logs of your test call or give us the time of the call and I can look it up to get a better idea of what is happening

Thanks,
Jeremy Richmond
Voxeo Support
ievolve
1/21/2009 3:03 AM (EST)
My client wants to record conversations between sales reps and clients, I suppose that the rep could click a button in their admin which would trigger a voiceXML app that would 1)call the rep 2)connect in the client, and 3) record the whole conversation.  Is this possible?

Once the call has been recorded though I need to have that call accessible so a manager can listen to those calls.  It would be nice if those recordings could be posted back to me via FTP or form post.

If those recordings are stored in the "recordings" directory on the voxeo end, is there some sort of a way to know what the URL is to that recording so I could record it in our DB for future reference?
voxeoJeffK
1/21/2009 5:05 AM (EST)
Hello,

Yes this is certainly possible. May I recommend using <voxeo:recordcall> in the VoiceXML to record both call legs:

http://docs.voxeo.com/voicexml/2.0/recording.htm

The recordings are stored in your account under the directory "root/recordings/year/month/day/", and are uniquely named. You may fetch them from your account via FTP by connecting to

ftp://[voxeo-username]:[voxeo-password]@webhosting.voxeo.net

If there are any details you would like to explore, or have any questions at all we hope you will feel free to ask.

regards,
Jeff K.
Voxeo Support
dimagi
3/11/2009 4:19 PM (EDT)
I am trying to only record one side of a bridged call.  Is this possible or do I have to record both ends?
voxeojeff
3/11/2009 4:57 PM (EDT)
Hi there,

Unfortunately, <voxeo:recordcall> will only record both sides of the call.  However, as the recording will be in stereo, you have the ability to split the call into two channels.  You can then delete one, leaving you with just one side of the call.

Hope this helps,
Jeff Menkel
Voxeo Corporation
ranm
7/26/2010 5:55 AM (EDT)
Hi,
When setting the info attribute to "myinfo", recording on a premise install of P10, I get a file name for example:
1-8a8a828c2954ffdb0129557796e70084-97ebad67b546cfb3e20563b0f8a0d397-0-myinfo.wav
It seems this name does not match the format described above, as there is an additional portion "-0-", just before "myinfo.wav".
What is this additional portion? Can I control it from my vxml?
Regards,
Ran
voxeoTonyT
7/26/2010 7:23 AM (EDT)
Hello,

We tend to see an those kinds of additions to recorded files when there are multiple recordings in one session.  The '0' you are encountering may be the first recording in a case where there are multiple recorded files for a specific session.  So at first glance it seems like that '0' is an incremental character.  Let us know if this information helps or not. 

Regards,

Tony Taveras
Customer Engineer
Voxeo Support
ranm
7/26/2010 7:30 AM (EDT)
Note the useful attribute "infoexpr", which allows to set the info attribute as an ECMA value. I suggest updating the current description with this attribute.
regards,
Ran
VoxeoDustin
7/26/2010 11:38 AM (EDT)
Hello Ran,

Thanks for pointing that out. I have updated the documentation to reflect that attribute and you should see the change now.

Regards,
Dustin Hayre
Solutions Engineer
Voxeo Corporation

login



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