We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

Passing variable

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Passing variable

Post by acadenilla »

Can someone help me with my code

Its a basic call transfer program. I want the caller to be able to touch tone the number they want to trasnfer to.

Issues:

1) It wont validate if i put the transfer inside the filled tags
2) I would use another form and goto statement but i believe you cant pass a value with a goto
3) I would use a submit but what would be my URL

here is the code

<?xml version="1.0"?>
<vxml version="2.0">

<form id="CallTransfer">


<field name="enteredNumber" type="digits?length=10">
You are testing on the Plum Voice Hosting Platform
Please touch tone the 10 digits number you wish to call
</field>

<var name="callnumber"/>

<filled namelist="enteredNumber" mode="all">
You entered
<value expr="enteredNumber" />
<!--
<assign name="callnumber" expr="'tel:+1' + 'callnumber'"/>
-->
</filled>

<transfer name="transferme" dest="callnumber" bridge="true"></transfer>

</form>


</vxml>

Thanks

Allan

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR application for passing variable

Post by support »

Hi,

To fix your IVR application, you would want to put your filled block into your field. You would then want to assign "callnumber" the value "tel+enteredNumber". Also, in your <transfer> IVR code, you would want to change "dest" to "destexpr" since "callnumber" is ECMAScript.

So, your IVR application should look more like this:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.0">

<property name="inputmodes" value="dtmf"/>
<var name="callnumber"/>

<form id="CallTransfer">
<field name="enteredNumber">
<grammar type="application/x-jsgf" mode="dtmf">
  ( 1 | 2 | 3  | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>
<prompt bargein="false">
You are testing on the Plum Voice Hosting Platform
Please touch tone the 10 digits number you wish to call
</prompt>
<filled>
You entered <value expr="enteredNumber" />.
<assign name="callnumber" expr="'tel:+1' + enteredNumber"/>
</filled>
</field>

<transfer destexpr="callnumber" bridge="true"></transfer>

</form>
</vxml> 
Regards,
Plum Support
Last edited by support on Wed Feb 24, 2010 4:26 pm, edited 4 times in total.

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Post by acadenilla »

Is it possible to record the conversation after the call has been bridged? Maybe use the record tag?

Code: Select all

<record name="myrecording" beep="true">
 <field name="enteredNumber">
<grammar type="application/x-jsgf" mode="dtmf">
  ( 1 | 2 | 3  | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>
<prompt bargein="false">
You are testing on the Plum Voice Hosting Platform
Please touch tone the 10 digits number you wish to call
</prompt>
<filled>
You entered <value expr="enteredNumber" />.
<assign name="callnumber" expr="'tel:+1' + enteredNumber"/>
</filled>
</field>
<transfer destexpr="callnumber" bridge="true"></transfer> 

</record>
In general, where are recordings saved? Would it be possible to save the recording directly to the my web server? Or would i have to FTP to the my Plum account ?


Thanks

Allan

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Use IVR system RecordCall property

Post by support »

Hi,

It is possible to record the conversation with the IVR system after the IVR call has been bridged. You can do this by using the IVR property, RecordCall. For information on how to do this, go to Section 6.6 Using the RecordCall Properties, which can be found here:

http://www.plumvoice.com/docs/dev/voice ... recordcall

Hope this helps.

Regards,
Plum Support
Last edited by support on Wed Feb 24, 2010 4:27 pm, edited 4 times in total.

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Post by acadenilla »

Couple of Questions

Code: Select all

<?xml version="1.0"?>
<vxml version="2.0">

     <form id="form1">
          <property name="recordcall" value="true"/>
          <transfer name="Default" dest="tel:+12125555555" bridge="true"></transfer>

           <submit next="callrecord.aspx" namelist="callrecording" 
               method="post"/>              
    </form>

</vxml>
1) Is CallRecording default name for the output of the record call?
2) What type of audio is callrecording "audio/basic, audio/x-alaw-basic, or audio/x-wav"?
3) Is this the right way of recording a call that was bridge? I was thinking i need to catch a disconnect or hangup event then submit to the callrecord.aspx?

Thanks

Allan

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR developer clarifies callrecording

Post by support »

Hi,

1) Yes, with the IVR system, "callrecording" is the default name for the output of the recorded call.

2) The type of audio for "callrecording" is "audio/basic".

3) Yes, this is the right way of recording an IVR call that is bridged. However, if you want to catch an event where the caller disconnects or hangs up, you should have a <catch event="connection.disconnect"/> that will <submit> the recording at the end of the IVR call.

Regards,
Plum Support
Last edited by support on Fri Feb 19, 2010 2:24 pm, edited 3 times in total.

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Post by acadenilla »

is there a way to change the type of the callrecording from audio/basic to audio/x-wav.

When i save the callrecording using audio/basic it saves the file as a .raw file. What player will run this file? I tried running it on Windows Media Player V10 and it was unsuccessful


Thanks

Allan

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR developer gives link to SoX program

Post by support »

Hi,

Using the IVR system, you cannot change the type of "callrecording" from audio/basic to audio/x-wav. However, you can use SoX to create a wav file out of the RAW recording. Here is a link to download the SoX program:

http://sox.sourceforge.net/

Hope this helps.

Regards,
Plum Support
Last edited by support on Mon Dec 28, 2009 5:29 pm, edited 1 time in total.

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Post by acadenilla »

can you give me an example of the command line argument using sox to convert the file

Example file name: audio.raw

Thanks

Allan

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR code

Post by support »

Hi,

Here is an IVR example that takes a raw file (8 KHz 8-bit ulaw) and converts it into a wav file:

Code: Select all

sox -U -b -r 8000 input.raw output.wav
Regards,
Plum Support
Last edited by support on Mon Dec 28, 2009 5:30 pm, edited 1 time in total.

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Post by acadenilla »

After downloading and extracting the files how do i use sox?

Do i need to install something?

Thanks

Allan

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR developer help

Post by support »

Hi,

For help with installing SoX, you can go to this site:
http://osdir.com/ml/audio.sox/2003-12/msg00009.html

For general information on using SoX, you can go to this site:
http://www.linux.org/lessons/short/sox/x77.html

Hope this helps with your IVR application.

Regards,
Plum Support
Last edited by support on Wed Jan 13, 2010 9:48 am, edited 2 times in total.

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Post by acadenilla »

install for windows?

i believe that is for linux. i also tried the following commands unsuccessfully

./configure
/configure
configure

Allan

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR developer provides help in using SoX

Post by support »

Hi,

After downloading and extracting the files, you do not need to install anything else to use SoX. To use SoX in Windows, simply use the command line in Windows and go to the unzipped SoX folder. From there you can use the SoX commands to format your audio files for your IVR application.

Regards,
Plum Support
Last edited by support on Mon Dec 28, 2009 5:32 pm, edited 1 time in total.

acadenilla
Posts: 55
Joined: Wed Oct 31, 2007 11:02 am

Post by acadenilla »

it says that is not able to recognize the sox command

Code: Select all

C:\DOCUME~1\ACADEN~1\Desktop\sox-14.0.0\sox-14.0.0>dir/w
 Volume in drive C has no label.
 Volume Serial Number is 2015-7F6C

 Directory of C:\DOCUME~1\ACADEN~1\Desktop\sox-14.0.0\sox-14.0.0

[.]             [..]            aclocal.m4      AUTHORS         ChangeLog
compile         config.guess    config.sub      configure       configure.ac
COPYING         depcomp         INSTALL         install-sh      [libgsm]
[libltdl]       libsox.3        libsox.txt      [lpc10]         ltmain.sh
[m4]            Makefile.am     Makefile.in     missing         NEWS
README          sox.1           sox.txt         soxeffect.7     soxeffect.txt
soxexam.7       soxexam.txt     soxformat.7     soxformat.txt   [src]
test.raw
              29 File(s)      2,108,366 bytes
               7 Dir(s)  20,804,493,312 bytes free

C:\DOCUME~1\ACADEN~1\Desktop\sox-14.0.0\sox-14.0.0>sox -U -b -r 8000 test.raw ou
tput.raw
'sox' is not recognized as an internal or external command,
operable program or batch file.

C:\DOCUME~1\ACADEN~1\Desktop\sox-14.0.0\sox-14.0.0>
Allan

Post Reply