<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Training Forum</title>
  <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_category?p_l_id=&amp;mbCategoryId=1057639" />
  <subtitle />
  <id>http://developer.cisco.com/c/message_boards/find_category?p_l_id=&amp;mbCategoryId=1057639</id>
  <updated>2013-05-24T22:30:05Z</updated>
  <dc:date>2013-05-24T22:30:05Z</dc:date>
  <entry>
    <title>RE: Extending Existing CVP Script Elements</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=13783741" />
    <author>
      <name>Jameson Gagnepain</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=13783741</id>
    <updated>2013-04-02T20:25:24Z</updated>
    <published>2013-04-02T20:25:24Z</published>
    <summary type="html">Perhaps using Call Studio "Element Groups" would be a simpler solution to this? Once you have an element configured properly which you'd like to re-use elsewhere, you could group that single element, then save the group so it shows up in your "Element Groups" folder in Call Studio.</summary>
    <dc:creator>Jameson Gagnepain</dc:creator>
    <dc:date>2013-04-02T20:25:24Z</dc:date>
  </entry>
  <entry>
    <title>RE: Extending Existing CVP Script Elements</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=12167308" />
    <author>
      <name>Janine Graves</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=12167308</id>
    <updated>2013-02-20T16:46:43Z</updated>
    <published>2013-02-20T16:46:43Z</published>
    <summary type="html">Jeff,
I'm uploading an example (ExtendedElementExample.java) that Audium used to provide.
It shows how to extend the Form element by adding another Setting and modifying the runtime method (addXmlBody). 
In your case, you don't really need to modify the runtime method - you just want to modify the Settings and/or their default value, and/or the Audio.
Each element (eg, DigitsWithConfirm) is defined by a Java class that you can extend. Look in the ElementSpecifications ref manual - the class name is the very last entry for each element.
Look also in the CVP Programming Guide and the Javadocs for more details on extending elements.      
When you extend an element, you'll need to include the elements.jar in your class path.
Good luck, Janine</summary>
    <dc:creator>Janine Graves</dc:creator>
    <dc:date>2013-02-20T16:46:43Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=12166504" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=12166504</id>
    <updated>2013-02-20T16:02:14Z</updated>
    <published>2013-02-20T16:02:14Z</published>
    <summary type="html">You can write custom elements and these are pretty easy to write.  Look at the samples here:
http://developer.cisco.com/web/cvp/documentation

Also just as a reminder the no of retries is by default set to 3, audio file location is also set at global level.  In all cases you may not need custom elements.  Depending on how big your call flow is and what you need, I would not have a custom element for each digit, ie one for entering 1 digit, 1 for entering 2 digits etc . That would be a overkill.
Hemal
From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Wednesday, February 20, 2013 9:56 AM
To: cdicuser@developer.cisco.com
Subject: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training Forum: Extending Existing CVP Script Elements

Jeff Russell has created a new message in the forum "Training Forum": -------------------------------------------------------------- We are in the process of switching all of our IVR development (existing and future) over to Cisco. We have identified all of the core functionality that would be needed for our IVR's, and have mapped most of the functionality (80%+) to pre-existing CVP script elements (e.g. Webservices, Form_with_Confirm, etc.). What we would like to do, is extend and/or customize existing CVP elements, and have them available in a library to be "dragged and dropped" so that we don't have to configure properties EVERY TIME we add a basic element to an IVR.
For example, part of the IVR script would prompt a user to key in an 11-Digit Membership Number. Normally, you would use a Digits_With_Confirm element for this. I would like to have the validation (11-digits) , name/location of the audio files, number of retries (always 3), etc. already be set up, and compiled into a "Membership Number Confirm" element so I do not have to configure each of these properties every time.
Is there a "simple" way to extend each of these elements to do this? Or, would I need to build the functionality for each "customized" element essentially from scratch?
We are trying to follow the "resuable code" principle, and avoid a lot of copy/paste scenarios when building IVR's.
Thanks in advance!
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/community/-/message_boards/view_message/12164555 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2013-02-20T16:02:14Z</dc:date>
  </entry>
  <entry>
    <title>Extending Existing CVP Script Elements</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=12164555" />
    <author>
      <name>Jeff Russell</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=12164555</id>
    <updated>2013-02-20T15:55:32Z</updated>
    <published>2013-02-20T15:55:32Z</published>
    <summary type="html">We are in the process of switching all of our IVR development (existing and future) over to Cisco. We have identified all of the core functionality that would be needed for our IVR's, and have mapped most of the functionality (80%+) to pre-existing CVP script elements (e.g. Webservices, Form_with_Confirm, etc.). What we would like to do, is extend and/or customize existing CVP elements, and have them available in a library to be "dragged and dropped" so that we don't have to configure properties EVERY TIME we add a basic element to an IVR.
For example, part of the IVR script would prompt a user to key in an 11-Digit Membership Number. Normally, you would use a Digits_With_Confirm element for this. I would like to have the validation (11-digits) , name/location of the audio files, number of retries (always 3), etc. already be set up, and compiled into a "Membership Number Confirm" element so I do not have to configure each of these properties every time.
Is there a "simple" way to extend each of these elements to do this? Or, would I need to build the functionality for each "customized" element essentially from scratch?
We are trying to follow the "resuable code" principle, and avoid a lot of copy/paste scenarios when building IVR's.
Thanks in advance!</summary>
    <dc:creator>Jeff Russell</dc:creator>
    <dc:date>2013-02-20T15:55:32Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Janine Graves in Customer Voice Portal (CVP) - Trainin</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11866282" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11866282</id>
    <updated>2013-02-12T22:16:43Z</updated>
    <published>2013-02-12T22:16:43Z</published>
    <summary type="html">Janine,
     Yes, that will work too and it is a better option if it works well .  I believe I was able to test recordutterance in the past.  However there are some issues with the path and  there were some performance overheads associated with that on Cisco.  I will need to go back and test it with new version.
I have used it on genesys platform and did not have any issue using recordutterance in the past.
Hemal


From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, February 12, 2013 3:48 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Janine Graves in Customer Voice Portal (CVP) - Training Forum: RE: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training

Janine Graves has created a new message in the forum "Training Forum": -------------------------------------------------------------- Hemal, Do you know if Cisco supports this feature of VXML 2.1:
Recording User Utterances While Attempting Recognition
Several elements defined in [VXML2]&lt;http://www.w3.org/TR/voicexml21/#ref_VXML2&gt; can instruct the interpreter to accept user input during execution. These elements include &lt;field&gt;, &lt;initial&gt;, &lt;link&gt;, &lt;menu&gt;, &lt;record&gt;, and &lt;transfer&gt;. VoiceXML 2.1 extends these elements to allow the interpreter to conditionally enable recording while simultaneously gathering input from the user.
To enable recording during recognition, set the value of the recordutterance property to true. If the recordutterance property is set to true in the current scope, the following three shadow variables are set on the application.lastresult$ object whenever the application.lastresult$ object is assigned (e.g. when a &lt;link&gt; is matched):
Table 8: recordutterance-related shadow variables

recording
The variable that stores a reference to the recording, or undefined if no audio is collected. Like the input item variable associated with a &lt;record&gt; element as described in section 2.3.6&lt;http://www.w3.org/TR/voicexml20/#dml2.3.6&gt; of [VXML2]&lt;http://www.w3.org/TR/voicexml21/#ref_VXML2&gt;, the implementation of this variable may vary between platforms.

recordingsize
The size of the recording in bytes, or undefined if no audio is collected.

recordingduration
The duration of the recording in milliseconds, or undefined if no audio is collected.



When these properties are set on the application.lastresult$ object, if an input item (as defined in section 2.3&lt;http://www.w3.org/TR/voicexml20/#dml2.3&gt; of [VXML2]&lt;http://www.w3.org/TR/voicexml21/#ref_VXML2&gt;) has also been filled and has its shadow variables assigned, the interpreter must also assign recording, recordingsize, and recordingduration shadow variables for these input items, the values of which equal the corresponding properties of the application.lastresult$ object. For example, in the case of &lt;link&gt; and &lt;menu&gt;, since no input item has its shadow variables set, the interpreter only sets the application.lastresult$ properties.
Support for this feature is optional on &lt;record&gt;, and &lt;transfer&gt;. Platforms that support it set the aforementioned shadow variables on the associated form item variable and the corresponding properties on the application.lastresult$ object when the recordutterance property is set to true in an encompassing scope.
Like recordings created using the &lt;record&gt; tag, utterance recordings can be played back using the expr attribute on &lt;audio&gt;.
Like recordings created using the &lt;record&gt; tag, utterance recordings can be submitted to a document server via HTTP POST using the namelist attribute of the &lt;submit&gt;, &lt;data&gt;, and &lt;subdialog&gt; elements. The enctype attribute must be set to "multipart/form-data" [RFC2388&lt;http://www.w3.org/TR/voicexml21/#ref_RFC2388&gt;], and the method attribute must be set to "post". To provide flexibility in the naming of the variable that is submitted to the document server, the interpreter must allow the utterance recording to be assigned to and posted via any valid ECMAScript variable.
In the following example, the dialog requests a city and state from the user. On the third recognition failure, the recording of the user's utterance is submitted to a document server.

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;vxml xmlns="http://www.w3.org/2001/vxml"
version="2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/vxml
http://www.w3.org/TR/2007/REC-voicexml21-20070619/vxml.xsd&lt;http://www.w3.org/2001/vxml%20%0bhttp:/www.w3.org/TR/2007/REC-voicexml21-20070619/vxml.xsd&gt;"&gt;
&lt;form&gt;
&lt;property name="recordutterance" value="true"/&gt;

&lt;field name="city_state"&gt;
&lt;prompt&gt;
Say a city and state.
&lt;/prompt&gt;

&lt;grammar type="application/srgs+xml" src="citystate.grxml"/&gt;

&lt;nomatch&gt;
I'm sorry. I didn't get that.
&lt;reprompt/&gt;
&lt;/nomatch&gt;

&lt;nomatch count="3"&gt;
&lt;var name="the_recording"
expr="application.lastresult$.recording"/&gt;
&lt;submit method="post"
enctype="multipart/form-data"
next="upload.cgi"
namelist="the_recording"/&gt;
&lt;/nomatch&gt;
&lt;/field&gt;
&lt;/form&gt;
&lt;/vxml&gt;


7.1 Specifying the Media Format of Utterance Recordings
To specify the media format of the resulting recording, set the recordutterancetype property. Platforms must support the audio file formats specified in Appendix E of [VXML2&lt;http://www.w3.org/TR/voicexml21/#ref_VXML2&gt;]. Other formats may also be supported. The recordutterancetype property defaults to a platform-specific format which should be one of the required formats. If an unsupported media format is encountered during recognition, the platform throws an error.unsupported.format event which specifies the unsupported media format in its message variable. Note that the recordutterancetype property does not affect the &lt;record&gt; element.


8 Adding namelist to &lt;disconnect&gt;
As described in section 5.3.11&lt;http://www.w3.org/TR/2004/REC-voicexml20-20040316/#dml5.3.11&gt; of [VXML2]&lt;http://www.w3.org/TR/voicexml21/#ref_VXML2&gt;, the &lt;disconnect&gt; element causes the interpreter context to disconnect from the user. VoiceXML 2.1 extends the &lt;disconnect&gt; element to support the following attribute:
Table 9: &lt;disconnect&gt; Attributes

namelist
Variable names to be returned to the interpreter context. The default is to return no variables; this means the interpreter context will receive an empty ECMAScript object. If an undeclared variable is referenced in the namelist, then an error.semantic is thrown (5.1.1&lt;http://www.w3.org/TR/2004/REC-voicexml20-20040316/#dml5.1.1&gt; of [VXML2]&lt;http://www.w3.org/TR/voicexml21/#ref_VXML2&gt;).



The &lt;disconnect&gt; namelist and the &lt;exit&gt; namelist are processed independently. If the interpreter executes both a &lt;disconnect&gt; namelist and an &lt;exit&gt; namelist, both sets of variables are available to the interpreter context. The precise mechanism by which these variables are made available to the interpreter context is platform specific.



Hemal Mehta:
The best way to have the response stored as a wav file would be to use record element. However record is not subject to recognition and will not match against a grammar. So you have can have the user record their responses using the record element and then store it and ftp it.
You can look up the record element documentation, it is quite straightforward. You can specify the path etc in the settings. You can create your own filename for each audio and also have it ftpe’d.
For record you will need to make sure of your settings on the vxml gateway and make sure you allow for ample recording time etc.
Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, February 12, 2013 3:07 PM
To: cdicuser@developer.cisco.com&lt;mailto:cdicuser@developer.cisco.com&gt;
Subject: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training Forum: Export Audio From CVP

Jeff Russell has created a new message in the forum "Training Forum": -------------------------------------------------------------- After a user gives responses within an IVR (e.g. name, address, prescribers, etc.), I need to have their responses exported to an audio file(s) (.wav or .mp3) on a server in a pre-determined naming convention. Each "bundle" of audio responses (associated with an individual call) would then be FTP'd to a third party to be transcribed.
How do I export the audio responses captured by the elements within CVP (e.g. Form_With_Confirm, Record_With_Confirm, etc.)?
I cannot see any documentation mentioning how to do this.
Thanks!
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/11861519 or simply reply to this email.

--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/11863865 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2013-02-12T22:16:43Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11863865" />
    <author>
      <name>Janine Graves</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11863865</id>
    <updated>2013-02-12T21:47:41Z</updated>
    <published>2013-02-12T21:47:41Z</published>
    <summary type="html">Hemal, Do you know if Cisco supports this feature of VXML 2.1:
Recording User Utterances While Attempting Recognition
Several elements defined in [url=http://www.w3.org/TR/voicexml21/#ref_VXML2][VXML2][/url] can instruct the interpreter to accept user input during execution. These elements include &lt;field&gt;, &lt;initial&gt;, &lt;link&gt;, &lt;menu&gt;, &lt;record&gt;, and &lt;transfer&gt;. VoiceXML 2.1 extends these elements to allow the interpreter to conditionally enable recording while simultaneously gathering input from the user.
To enable recording during recognition, set the value of the [i]recordutterance[/i] property to true. If the [i]recordutterance[/i] property is set to true in the current scope, the following three shadow variables are set on the  application.lastresult$ object whenever the application.lastresult$ object is assigned (e.g. when a &lt;link&gt; is matched):
Table 8: recordutterance-related shadow variables

recording
The variable that stores a reference to the recording, or undefined if no audio is collected.  Like the input item variable associated with a &lt;record&gt; element as described in section [url=http://www.w3.org/TR/voicexml20/#dml2.3.6]2.3.6[/url] of [url=http://www.w3.org/TR/voicexml21/#ref_VXML2][VXML2][/url], the implementation of this variable may vary between platforms. 

recordingsize
The size of the recording in bytes, or undefined if no audio is collected.

recordingduration
The duration of the recording in milliseconds, or undefined if no audio is collected.



When these properties are set on the application.lastresult$ object, if an input item (as defined in section [url=http://www.w3.org/TR/voicexml20/#dml2.3]2.3[/url] of [url=http://www.w3.org/TR/voicexml21/#ref_VXML2][VXML2][/url]) has also been filled and has its shadow variables assigned, the interpreter must also assign [i]recording[/i], [i]recordingsize[/i], and [i]recordingduration[/i] shadow variables for these input items, the values of which equal the corresponding properties of the application.lastresult$ object. For example, in the case of &lt;link&gt; and &lt;menu&gt;, since no input item has its shadow variables set, the interpreter only sets the application.lastresult$ properties.
Support for this feature is optional on &lt;record&gt;, and &lt;transfer&gt;. Platforms that support it set the aforementioned shadow variables on the associated form item variable and the corresponding properties on the application.lastresult$ object when the [i]recordutterance[/i] property is set to true in an encompassing scope.
Like recordings created using the &lt;record&gt; tag, utterance recordings can be played back using the expr attribute on &lt;audio&gt;.
Like recordings created using the &lt;record&gt; tag, utterance recordings can be submitted to a document server via HTTP POST using the namelist attribute of the &lt;submit&gt;, &lt;data&gt;,  and &lt;subdialog&gt; elements. The enctype attribute must be set to "multipart/form-data" [[url=http://www.w3.org/TR/voicexml21/#ref_RFC2388]RFC2388[/url]], and the method attribute must be set to "post". To provide flexibility in the naming of the variable that is submitted to the document server, the interpreter must allow the utterance recording to be assigned to and posted via any valid ECMAScript variable.
In the following example, the dialog requests a city and state from the user. On the third recognition failure, the recording of the user's utterance is submitted to a document server.

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;vxml xmlns="http://www.w3.org/2001/vxml" 
  version="2.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://www.w3.org/2001/vxml 
  http://www.w3.org/TR/2007/REC-voicexml21-20070619/vxml.xsd"&gt;
  &lt;form&gt;
    &lt;property name="recordutterance" value="true"/&gt;

    &lt;field name="city_state"&gt;
     &lt;prompt&gt;
      Say a city and state.
     &lt;/prompt&gt;

     &lt;grammar type="application/srgs+xml" src="citystate.grxml"/&gt;

     &lt;nomatch&gt;
      I'm sorry. I didn't get that.
      &lt;reprompt/&gt;
     &lt;/nomatch&gt;

     &lt;nomatch count="3"&gt;
        &lt;var name="the_recording" 
          expr="application.lastresult$.recording"/&gt;
        &lt;submit method="post" 
          enctype="multipart/form-data" 
          next="upload.cgi"
          namelist="the_recording"/&gt;
     &lt;/nomatch&gt;
    &lt;/field&gt;  
  &lt;/form&gt;
&lt;/vxml&gt;


7.1 Specifying the Media Format of Utterance Recordings
To specify the media format of the resulting recording, set the [i]recordutterancetype[/i] property. Platforms must support the audio file formats specified in Appendix E of [[url=http://www.w3.org/TR/voicexml21/#ref_VXML2]VXML2[/url]]. Other formats may also be supported. The [i]recordutterancetype[/i] property defaults to a platform-specific format which should be one of the required formats. If an unsupported media format is encountered during recognition, the platform throws an [i]error.unsupported.format[/i] event which specifies the unsupported media format in its message variable. Note that the [i]recordutterancetype[/i] property does not affect the &lt;record&gt; element.


8 Adding namelist to &lt;disconnect&gt;
As described in section [url=http://www.w3.org/TR/2004/REC-voicexml20-20040316/#dml5.3.11]5.3.11[/url] of [url=http://www.w3.org/TR/voicexml21/#ref_VXML2][VXML2][/url], the &lt;disconnect&gt; element causes the interpreter context to disconnect from the user. VoiceXML 2.1 extends the &lt;disconnect&gt; element to support the following attribute:
Table 9: &lt;disconnect&gt; Attributes

namelist
Variable names to be returned to the interpreter context. The default is to return no variables; this means the interpreter context will receive an empty ECMAScript object. If an undeclared variable is referenced in the namelist, then an [i]error.semantic[/i] is thrown ([url=http://www.w3.org/TR/2004/REC-voicexml20-20040316/#dml5.1.1]5.1.1[/url] of [url=http://www.w3.org/TR/voicexml21/#ref_VXML2][VXML2][/url]).



The &lt;disconnect&gt; namelist and the &lt;exit&gt; namelist are processed independently.  If the interpreter executes both a &lt;disconnect&gt; namelist and an &lt;exit&gt; namelist, both sets of variables are available to the interpreter context. The precise mechanism by which these variables are made available to the interpreter context is platform specific. 

 
 
[quote=Hemal Mehta]The best way to have the response stored as a wav file would be to use record element. However record is not subject to recognition and will not match against a grammar. So you have can have the user record their responses using the record element and then store it and ftp it.
You can look up the record element documentation, it is quite straightforward. You can specify the path etc in the settings. You can create your own filename for each audio and also have it ftpe’d.
For record you will need to make sure of your settings on the vxml gateway and make sure you allow for ample recording time etc.
Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, February 12, 2013 3:07 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training Forum: Export Audio From CVP

Jeff Russell has created a new message in the forum "Training Forum": -------------------------------------------------------------- After a user gives responses within an IVR (e.g. name, address, prescribers, etc.), I need to have their responses exported to an audio file(s) (.wav or .mp3) on a server in a pre-determined naming convention. Each "bundle" of audio responses (associated with an individual call) would then be FTP'd to a third party to be transcribed.
How do I export the audio responses captured by the elements within CVP (e.g. Form_With_Confirm, Record_With_Confirm, etc.)?
I cannot see any documentation mentioning how to do this.
Thanks!
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/11861519 or simply reply to this email.[/quote]</summary>
    <dc:creator>Janine Graves</dc:creator>
    <dc:date>2013-02-12T21:47:41Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11863677" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11863677</id>
    <updated>2013-02-12T21:38:43Z</updated>
    <published>2013-02-12T21:38:43Z</published>
    <summary type="html">The best way to have the response stored as a wav file would be to use record element. However record is not subject to recognition and will not match against a grammar.  So you have can have the user record their responses using the record element and then store it and ftp it.
You can look up the record element documentation, it is quite straightforward.  You can specify the path etc in the settings.  You can create your own filename for each audio and also have it ftpe’d.
For record you will need to  make sure of your settings on the vxml gateway and make sure you allow for ample recording time etc.
Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, February 12, 2013 3:07 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Jeff Russell in Customer Voice Portal (CVP) - Training Forum: Export Audio From CVP

Jeff Russell has created a new message in the forum "Training Forum": -------------------------------------------------------------- After a user gives responses within an IVR (e.g. name, address, prescribers, etc.), I need to have their responses exported to an audio file(s) (.wav or .mp3) on a server in a pre-determined naming convention. Each "bundle" of audio responses (associated with an individual call) would then be FTP'd to a third party to be transcribed.
How do I export the audio responses captured by the elements within CVP (e.g. Form_With_Confirm, Record_With_Confirm, etc.)?
I cannot see any documentation mentioning how to do this.
Thanks!
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/11861519 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2013-02-12T21:38:43Z</dc:date>
  </entry>
  <entry>
    <title>Export Audio From CVP</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11861519" />
    <author>
      <name>Jeff Russell</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11861519</id>
    <updated>2013-02-12T21:07:17Z</updated>
    <published>2013-02-12T21:07:17Z</published>
    <summary type="html">After a user gives responses within an IVR (e.g. name, address, prescribers, etc.), I need to have their responses exported to an audio file(s) (.wav or .mp3) on a server in a pre-determined naming convention. Each "bundle" of audio responses (associated with an individual call) would then be FTP'd to a third party to be transcribed.
How do I export the audio responses captured by the elements within CVP (e.g. Form_With_Confirm, Record_With_Confirm, etc.)?
I cannot see any documentation mentioning how to do this.
Thanks!</summary>
    <dc:creator>Jeff Russell</dc:creator>
    <dc:date>2013-02-12T21:07:17Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Janine Graves in Customer Voice Portal (CVP) - Trainin</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11015063" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11015063</id>
    <updated>2013-01-23T03:01:09Z</updated>
    <published>2013-01-23T03:01:09Z</published>
    <summary type="html">Janine, I agree with some of it and it depends from customer to customer. It depends on how well your java code is wriitten and if you have documented it well. You can easily generate  java doc anytime. My code is all documented and it cannot be lost.  Also comments are added fo each action element. You can add the same documentation in your java class itself.  Again there are several ways to do this.  My point is that if I have 40 different java classes, I would not like to create 40 different custom elements.
Hemal

________________________________________
From: Cisco Developer Community Forums [cdicuser@developer.cisco.com]
Sent: Tuesday, January 22, 2013 5:35 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Janine Graves in Customer Voice Portal (CVP) - Training Forum: Re: New Message from Hemal Mehta in Customer Voice Portal (CVP) - Training

Janine Graves has created a new message in the forum "Training Forum": -------------------------------------------------------------- Yes, Hemal, but customers who come into class despise standard Action and Decision elements. A year after they get the code, all the documentation is lost and they have no idea what the elements are doing. By turning them into elements, one can add a useful description of the variables the element is getting and setting. Even if you don't add a Settings tab, turning them into custom elements makes the customer sooooo much happier! -- Janine Graves
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/11009605 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2013-01-23T03:01:09Z</dc:date>
  </entry>
  <entry>
    <title>Re: New Message from Hemal Mehta in Customer Voice Portal (CVP) - Training</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11009605" />
    <author>
      <name>Janine Graves</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11009605</id>
    <updated>2013-01-22T23:35:12Z</updated>
    <published>2013-01-22T23:35:12Z</published>
    <summary type="html">Yes, Hemal, but customers who come into class despise standard Action and Decision elements. A year after they get the code, all the documentation is lost and they have no idea what the elements are doing. By turning them into elements, one can add a useful description of the variables the element is getting and setting. Even if you don't add a Settings tab, turning them into custom elements makes the customer sooooo much happier! -- Janine Graves</summary>
    <dc:creator>Janine Graves</dc:creator>
    <dc:date>2013-01-22T23:35:12Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Asher Schweigart in Customer Voice Portal (CVP) - Trai</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11006982" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11006982</id>
    <updated>2013-01-22T20:59:09Z</updated>
    <published>2013-01-22T20:59:09Z</published>
    <summary type="html">Use custom elements, not the generic action element, when you are using custom java code. The few extra steps it takes to make custom java a custom element is not that bad, and will make your scripts easier to read.

I do not necessarily agree with this.  It’s a case by case situation and depends on what your needs are.  There are some places where it makes sense. Making every java class a custom element is a overkill.  You can always add comments, for clarity.  Also when I port or upgrade between versions, the code can be literally imported into the new studio and made to work with minimum effort.

Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, January 22, 2013 2:05 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Asher Schweigart in Customer Voice Portal (CVP) - Training Forum: RE: CVP Developer Best Practices

Asher Schweigart has created a new message in the forum "Training Forum": -------------------------------------------------------------- #1. Version control your files. Preferably, this should also include a backup of the files, in case you muck up your CS box.

        Personally, I use git for version control, but whatever you prefer, just get some sort of VCS setup.

#2. Create, and stick to, a naming scheme for elements. You should be able to figure out exactly what type an element is without clicking on it, just based on the name.
        examples:
               Audio element to play hours.wav - "playHours"
               Form element for main menu - "formMainMenu"
          A side note to this; your elements should have descriptive names. Avoid using numbers in elements (Audio_01, Audio_02), unless it is actually relevant.

#3. Create a test script that has a test number pointing to it. This script can then be used for testing new custom elements, or for small branches of code that you want to test on a live call instead of the debugger.

#4. Each of your scripts' first page should be a doc page, listing things like creator, creation date, modifier, modification date, summary of what the script does, etc.

#5. If you have strings in your script, such as a phone number to forward to for help, or an email address that you are sending error messages to, set those as session variables in the first few elements of the script, so you can change them easily if needed.

#6. Use custom elements, not the generic action element, when you are using custom java code. The few extra steps it takes to make custom java a custom element is not that bad, and will make your scripts easier to read.

#7. Do not make a single page in your script larger than you can see at once on the standard size monitor for your script developers. This isn't always possible to follow, and in some cases may seem hard to follow, but if you don't have to scroll around on a page to read a script, it is much easier. It will mean for complicated scripts you might have 10+ pages, but in my opinion, that is far easier to navigate than 2-3 pages that you can only see 25% of at a time. (Yes, CS does have zoom controls, but just zooming one level out makes the page almost impossible to read.)

#8. Unless absolutely necessary, do not cross lines connecting elements. That makes a script difficult to read.

#9. If you find yourself doing something with 4-5 elements multiple times, and the same action could be done with one custom element, then write a custom element. For example, I had multiple cases where I needed to set a variable to something based on the value of the DNIS. To do this, I had to have an if node with multiple branches each pointing to a different App Mod node that set a variable to a different value. To make this easier, I created a switch node that does the same thing, but in one single element, and with no app mod element.

#10. (#1 in importance!) Comment, comment, comment. If an element's name isn't enough to indicate what that element is there for, it should have a comment element near it.
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/11003886 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2013-01-22T20:59:09Z</dc:date>
  </entry>
  <entry>
    <title>RE: CVP Developer Best Practices</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11006446" />
    <author>
      <name>Jeff Russell</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11006446</id>
    <updated>2013-01-22T20:32:53Z</updated>
    <published>2013-01-22T20:32:53Z</published>
    <summary type="html">Thanks Asher,
This is a great start!
Jeff</summary>
    <dc:creator>Jeff Russell</dc:creator>
    <dc:date>2013-01-22T20:32:53Z</dc:date>
  </entry>
  <entry>
    <title>RE: CVP Developer Best Practices</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11003886" />
    <author>
      <name>Asher Schweigart</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=11003886</id>
    <updated>2013-01-22T20:07:06Z</updated>
    <published>2013-01-22T20:05:01Z</published>
    <summary type="html">#1. Version control your files. Preferably, this should also include a backup of the files, in case you muck up your CS box.
 
        Personally, I use git for version control, but whatever you prefer, just get some sort of VCS setup.
 
#2. Create, and stick to, a naming scheme for elements. You should be able to figure out exactly what type an element is without clicking on it, just based on the name.
        examples:
               Audio element to play hours.wav - "playHours"
               Form element for main menu - "formMainMenu"
          A side note to this; your elements should have descriptive names. Avoid using numbers in elements (Audio_01, Audio_02), unless it is actually relevant.
 
#3. Create a test script that has a test number pointing to it. This script can then be used for testing new custom elements, or for small branches of code that you want to test on a live call instead of the debugger.
 
#4. Each of your scripts' first page should be a doc page, listing things like creator, creation date, modifier, modification date, summary of what the script does, etc. This page should not have the call start element. That should be on the second page.
        Also, name your pages. Page1, page2, etc, does not help people read a script later!
 
#5. If you have strings in your script, such as a phone number to forward to for help, or an email address that you are sending error messages to, set those as session variables in the first few elements of the script, so you can change them easily if needed.
 
#6. Use custom elements, not the generic action element, when you are using custom java code. The few extra steps it takes to make custom java a custom element is not that bad, and will make your scripts easier to read.
 
#7. Do not make a single page in your script larger than you can see at once on the standard size monitor for your script developers. This isn't always possible to follow, and in some cases may seem hard to follow, but if you don't have to scroll around on a page to read a script, it is much easier. It will mean for complicated scripts you might have 10+ pages, but in my opinion, that is far easier to navigate than 2-3 pages that you can only see 25% of at a time. (Yes, CS does have zoom controls, but just zooming one level out makes the page almost impossible to read.)
 
#8. Unless absolutely necessary, do not cross lines connecting elements. That makes a script difficult to read.
 
#9. If you find yourself doing something with 4-5 elements multiple times, and the same action could be done with one custom element, then write a custom element. For example, I had multiple cases where I needed to set a variable to something based on the value of the DNIS. To do this, I had to have an if node with multiple branches each pointing to a different App Mod node that set a variable to a different value. To make this easier, I created a switch node that does the same thing, but in one single element, and with no app mod element.
 
#10. (#1 in importance!) Comment, comment, comment. If an element's name isn't enough to indicate what that element is there for, it should have a comment element near it.</summary>
    <dc:creator>Asher Schweigart</dc:creator>
    <dc:date>2013-01-22T20:05:01Z</dc:date>
  </entry>
  <entry>
    <title>Avaya integration</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=10962129" />
    <author>
      <name>Janine Graves</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=10962129</id>
    <updated>2013-01-21T23:37:34Z</updated>
    <published>2013-01-21T23:37:34Z</published>
    <summary type="html">Has anyone integrated CVP with Avaya? Customer is going to transfer call from Avaya pbx to a T1 line coming into ingress gateway and CVP 9. ICM will send call to Studio app and then, if necessary, call will be transferred back to Avaya using a translation route.

How does/should Avaya pass its call-id to CVP? And then where is it stored in ICM (so I can pass it to the Studio app)?
Thanks! Janine</summary>
    <dc:creator>Janine Graves</dc:creator>
    <dc:date>2013-01-21T23:37:34Z</dc:date>
  </entry>
  <entry>
    <title>CVP Developer Best Practices</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=10792564" />
    <author>
      <name>Jeff Russell</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=10792564</id>
    <updated>2013-01-17T15:13:15Z</updated>
    <published>2013-01-17T15:13:15Z</published>
    <summary type="html">I am currently running CVP Developer 8.5 in a test lab environment. I am attempting to document a "Best Practices" list for development/testing/deployment of scripts.
 
Any suggestions and/or reference material to get me started would be greatly appreciated.
 
Thanks!</summary>
    <dc:creator>Jeff Russell</dc:creator>
    <dc:date>2013-01-17T15:13:15Z</dc:date>
  </entry>
  <entry>
    <title>CVPD Training</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=10691298" />
    <author>
      <name>subrahmanyam juluru</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=10691298</id>
    <updated>2013-01-15T13:02:54Z</updated>
    <published>2013-01-15T13:02:54Z</published>
    <summary type="html">Hi ,
 
I am looking for CVPD Training Course in Dubai, Middle East.
If any body have about good training institute please let me know.
 
Regards
Juluri.</summary>
    <dc:creator>subrahmanyam juluru</dc:creator>
    <dc:date>2013-01-15T13:02:54Z</dc:date>
  </entry>
  <entry>
    <title>Automatic reply: New Message from salena youngs in Customer Voice Portal (C</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8667401" />
    <author>
      <name>Boyd Lynn</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8667401</id>
    <updated>2012-11-19T13:46:48Z</updated>
    <published>2012-11-19T13:46:48Z</published>
    <summary type="html">I am currently out of the office on annual leave and during this time I will have limited access to my email. I will return to work on Tuesday 20th November 2012. During this time if you require assistance with a technical issue please email the Incontact Service Desk at incontact@intact-is.com. Best Regards Boyd

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________</summary>
    <dc:creator>Boyd Lynn</dc:creator>
    <dc:date>2012-11-19T13:46:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: Cisco CVP ICM to Audium Integration</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8667301" />
    <author>
      <name>salena youngs</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8667301</id>
    <updated>2012-11-19T13:37:46Z</updated>
    <published>2012-11-19T13:37:46Z</published>
    <summary type="html">Does anyone have any links to good free [url=http://www.certlead.com/9L0-510.html]CCNA[/url] study materials. Tests, books, etc.?</summary>
    <dc:creator>salena youngs</dc:creator>
    <dc:date>2012-11-19T13:37:46Z</dc:date>
  </entry>
  <entry>
    <title>RE: Cisco CVP ICM to Audium Integration</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8667244" />
    <author>
      <name>salena youngs</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8667244</id>
    <updated>2012-11-19T13:36:12Z</updated>
    <published>2012-11-19T13:33:15Z</published>
    <summary type="html">I assume they should cover the same material between them although 
having a look at the index of the [url=http://www.certlead.com/9L0-510.html]comanion guides[/url] I am not
 sure if they advise you of more network tips and tricks.</summary>
    <dc:creator>salena youngs</dc:creator>
    <dc:date>2012-11-19T13:33:15Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Asher Schweigart in Customer Voice Portal (CVP) - Trai</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=6484852" />
    <author>
      <name>GEOFFREY THOMPSON</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=6484852</id>
    <updated>2012-09-12T21:41:43Z</updated>
    <published>2012-09-12T21:41:43Z</published>
    <summary type="html">Sorry, I must have misinterpreted the question too. ;-)

Regards,
Geoff</summary>
    <dc:creator>GEOFFREY THOMPSON</dc:creator>
    <dc:date>2012-09-12T21:41:43Z</dc:date>
  </entry>
</feed>

