<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801">
    <title>Main</title>
    <link>http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801</link>
    <description />
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;Wiki+Home" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;TCL-IVR++FAQ%27s" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;Video+Tutorial" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;VXML+FAQ%27s" />
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;Wiki+Home">
    <title>Wiki Home 33.6</title>
    <link>http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;Wiki+Home</link>
    <description />
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-24T14:27:21Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;TCL-IVR++FAQ%27s">
    <title>TCL-IVR  FAQ's 1.7</title>
    <link>http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;TCL-IVR++FAQ%27s</link>
    <description>//**1. How to Configure TCL-IVR Application on Router**

  Steps to Configure TCL application on Router:

  i) Load the script into flash or onto TFTP  server

  ii) Load the prompts into flash or onto TFTP server

 iii) Define application and initial parameter values

 (config)# application 

 (config-app)# service   sample_script  flash:sample_script.tcl 

 (config-app-param)# param   clid1  4001

 (config-app-param)# param   clid2  4002

 (config-app-param)# exit

//**2. How to Associate TCL-IVR Application with a dial peer**

 (config)#dial-peer  voice  90  pots

 (config-dial-peer)#service   sample_script

 (config-dial-peer)#destination-pattern  9T

 (config-dial-peer)#port  0/0/0

//**3. How to Reload TCL-IVR Application on Router**

  (config)# call application voice load sample_script

//**4. How to View the Content of a specific script**
 
  show  call  application  voice  sample_script

//**5. How to verify if an application is bound to a dial peer**

  show  dial-peer  voice  90

//**6. How to debug TCL-IVR Applications **

 You can view debugging information applicable to the Tcl-IVR Applications that are running on the    router. debug voip application command allows you to specify the type of debug output you want to view. To view debug output, enter the following command in privileged-exec mode:

  debug  voip application states
 
  debug  voip application script 

  debug  voip application tclcommands 

  debug  voip application  callsetup 

  debug  voip application digitcollect 

  debug  voip application  error

//**7. How to List Active Sessions**

  show call application sessions

If any sessions are active, they can be stopped with below command.

  call application session stop id XX

//**8. How Start Tcl-IVR Application from CLI instead of via a new call**

  call application session start sample_script

//**9. How to overwrite existing audio files in router RAM/cache.**

  You can use the audio prompt load command to erase the audio file in router RAM/cache. 

    audio-prompt load flash:enter_pin.au

  In the above example, if you have rerecorded the audio file enter_pin.au and loaded in flash then enter the above command after loading the audio file in flash. This command  avoids reloading of router to effect the new audio file.

//**10. How to make IVR load the audio files from its original location rather than from cache while playing media.**

  There is a way in which you can always say the router to load the audio file every time from the respective location rather than storing it in cache/RAM. But this one puts some  load on router CPU/performance as every time it reads the file freshly. 

  ivr prompt memory 128 ==&gt; 128 is the least amount of memory allocated to cache, so no audio file be cached

//**11. How to record the audio received on the incoming or outgoing call leg**

  The media record command records the audio received on the specified call     leg and saves it to the location specified by the URL.

  media record leg_incoming -p recInfo flash:call_in.au

  media record leg_outgoing -p recInfo flash:call_out.au

//**12. Ring back tone not heard on IVR that is placed on the incoming POTS leg.**

  Ring back is automatically generated by DSP when IVR is in the process of dialing the DNIS number. However if the IVR has issued "leg setup" API without referencing the leg ID,   then ring back tones won't get generated.

  leg setup $dnis callInfo leg_incoming &gt;&gt;&gt;&gt;&gt;&gt; generates ring back tone to the caller

  leg setup $dnis callInfo &gt;&gt;&gt;&gt;&gt;&gt; doesn't generate ring back tone

//**13. Dial tone not played from the IVR.**

  IVR used "playtone leg_incoming tn_dial" API to play dial tone to the caller. It didn't work as the IVR was placed on the incoming VoIP leg. Playtone API won't work in the incoming VoIP leg as it needs DSP to generate the tones. In case of VoIP, we don't have DSP. So it is required to prepare an audio file playing dial tone and use it with "media play" API.

//**14. Unable to hear the audio prompt in the VoIP leg, but worked well with POTS leg.**

  IVR application placed on the incoming POTS leg played the media well, however the same application placed on the incoming VoIP leg played media which is not heard. The GW traces for both the call shows the media played well but caller not hearing the prompt only with VoIP leg.

   The issue is IVR application didn't use "leg connect leg_incoming" API apart from other call initializing API's like "leg setupack and leg proceeding". This won't create issue with POTS leg, but for IVR on VoIP leg that plays media, make sure the call is connected using "leg connect" API.

//**15. How to set "*" as starting pattern for "leg collectdigits".**

   set pattern(1) "\\*1"

   leg collectdigits $legID params pattern

//**16. How to fetch SIP Headers in TCL-IVR Application**

   Configure "header-passing" CLI as provided below,

   Router(config)#voice service voip

   Router(conf-voi-serv)#sip

   Router(conf-serv-sip)#header-passing

   Use infotag get evt_proto_headers and infotag get leg_proto_headers Commands to fetch      SIP headers.

//**17. How to execute Blind Transfer with TCL-IVR application.**

   Set the callInfo mode and reroute mode as REDIRECT_ROTARY

   set callInfo(mode) REDIRECT_ROTARY

   set callInfo(rerouteMode) REDIRECT_ROTARY

   leg setup $dnis callInfo leg_incoming

//**18. How to add GTD field to outgoing INVITE. **

   In the leg setup use callInfo as callInfo(Content-Type) "application/gtd" 

   Also, add the following config under "voice service voip" mode.

   Router(config)#voice service voip

   Router(conf-voi-serv)#signaling forward unconditional

//**19. How to make the dial-peer selection based on the carrierID.**

   Code Perspective: 

    set callInfo(targetCarrierID) YoLlamoGlobal

   CLI Perspective:

    interface Serial3/6:23

    trunk-group YoLlamo

    dial-peer voice 20 pots

    trunkgroup YoLlamo

    destination-pattern 011T

    carrier-id target YoLlamoGlobal

//**20. Access or execute IOS commands inside TCL- IVR script**

   Not like EEM, TCL- IVR API cannot execute IOS command inside the script.</description>
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-24T14:24:32Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;Video+Tutorial">
    <title>Video Tutorial 3.2</title>
    <link>http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;Video+Tutorial</link>
    <description>&lt;p&gt;
&lt;object classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6" width="700" height="700" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"&gt;
&lt;param name="fullscreen" value="true" /&gt;
&lt;param name="stretchtofit" value="true" /&gt;
&lt;param name="url" value="/web/vgapi/wikidocs?p_p_id=54_INSTANCE_I7Nm&amp;amp;p_p_lifecycle=0&amp;amp;p_p_state=normal&amp;amp;p_p_mode=view&amp;amp;p_p_col_id=column-1&amp;amp;p_p_col_count=1&amp;amp;_54_INSTANCE_I7Nm_struts_action=%2fwiki_display%2fview_page_attachments&amp;amp;_54_INSTANCE_I7Nm_nodeName=Main&amp;amp;_54_INSTANCE_I7Nm_title=Wiki+Home" /&gt;
&lt;param name="url" value="/web/vgapi/wikidocs?p_p_id=54_INSTANCE_I7Nm&amp;amp;p_p_lifecycle=0&amp;amp;p_p_state=normal&amp;amp;p_p_mode=view&amp;amp;p_p_col_id=column-1&amp;amp;p_p_col_count=1&amp;amp;_54_INSTANCE_I7Nm_struts_action=%2fwiki_display%2fview_page_attachments&amp;amp;_54_INSTANCE_I7Nm_nodeName=Main&amp;amp;_54_INSTANCE_I7Nm_title=Wiki+Home" /&gt;&lt;embed type="application/x-mplayer2" width="700" height="700" src="/web/vgapi/wikidocs?p_p_id=54_INSTANCE_I7Nm&amp;amp;p_p_lifecycle=0&amp;amp;p_p_state=normal&amp;amp;p_p_mode=view&amp;amp;p_p_col_id=column-1&amp;amp;p_p_col_count=1&amp;amp;_54_INSTANCE_I7Nm_struts_action=%2fwiki_display%2fview_page_attachments&amp;amp;_54_INSTANCE_I7Nm_nodeName=Main&amp;amp;_54_INSTANCE_I7Nm_title=Wiki+Home" url="/web/vgapi/wikidocs?p_p_id=54_INSTANCE_I7Nm&amp;amp;p_p_lifecycle=0&amp;amp;p_p_state=normal&amp;amp;p_p_mode=view&amp;amp;p_p_col_id=column-1&amp;amp;p_p_col_count=1&amp;amp;_54_INSTANCE_I7Nm_struts_action=%2fwiki_display%2fview_page_attachments&amp;amp;_54_INSTANCE_I7Nm_nodeName=Main&amp;amp;_54_INSTANCE_I7Nm_title=Wiki+Home" stretchtofit="true" fullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;</description>
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-24T14:24:04Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;VXML+FAQ%27s">
    <title>VXML FAQ's 1.0</title>
    <link>http://developer.cisco.com/web/vgapi/wikidocs?p_p_auth=k2iNrz2E&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=810801&amp;p_r_p_185834411_title=&amp;VXML+FAQ%27s</link>
    <description>**1.	 How to load a VoiceXML application from HTTP Server?**

For loading VoiceXML application from HTTP Server, below commands can be used in Voice Gateway

application

service app_name  http://10.10.1.1/collect.vxml

end

**2.	How to enable blind transfer in VXML?**

Make use of the &lt;transfer&gt; tag for achieving the blind transfer by setting the bridge as false or setting the type as blind.

Eg. &lt;transfer name="mycall" destexpr="'tel: '+ phone_num" bridge="false" connecttimeout="150s" maxtime="180s" cisco-longpound ="true" &gt;

**3.	What is the VXML command to assign a variable with SIP URI?**

Make use of session.connection.local.uri to assign the variable with SIP URI.

**4.	How to use MOH music on hold with the help of VXML ?**

As VXML does not have much ability in call controlling features, You can try a workaround with MOH CLI.

telephony-service

moh flash:filename.au

**5.	Is the maxspeechtimeout VXML property supported by the browser? If not is there any way to work around this limitation? Is there a Cisco-specific property that can be used to achieve the same?**

"maxspeechtimeout" is not supported by the browser. We can make use of external grammar which may specify maxspeechtimeout. We don't have CISCO extension for this feature.

**6.	What has to be done if the caller gets cut off after 30 sec of recording when VXML Record is being used?**

Set the memory recording limits in your voice gateway to overcome the issue

Router(config)# ivr record memory session 1000

Router(config)# ivr record memory system 15000

**7.	How to handoff the control over call from vxml script to IOS when the call is answered?**

A normal Call handoff in Cisco VoiceXML is invoked through the &lt;object&gt; element as follows:

&lt;object name= "ResultVariableName" classid= "builtin://com.cisco.callhandoff"&gt;

&lt;param name= "return" expr="&lt;Boolean value&gt;"/&gt;

&lt;param name= "app-uri" expr="&lt;URI&gt;"/&gt;

&lt;param name= "arg-string¿ expr="a string"/&gt;

&lt;/object&gt;

**8.	Is there a way to explicitly tell the VXML interpreter to stop collecting digits in the previous form? If not, how can we transition between two forms when both collect digits using a &lt;catch&gt;?**

This Scenario is not supported. VXML cannot stop the digit collection for the first field.

**9.	Is whole call recording supported by the Cisco IOS browser?**

No, It is not supported.

**10.	Is it possible to access "faxrelay-num-pages"  from TCL/VXML?**

Won't be able to access it from TCL/VXML.

**11.	How to increase the "rspinfo data buffer"?**

Chunk size is controlled by HTTP server side, not controlled on our client side.

**12.	How to enable calls between endpoints(SIP/H323) within VOIP network?**

voice service voip

allow-connections sip to sip

allow-connections h323 to sip

allow-connections h323 to h323

allow-connections sip to h323

**13.	 How to eradicate the following error ¿Element &lt;audio&gt; is not used according to DTD¿?**

Use the  &lt;audio&gt; element as given in the below example

&lt;form id="busy"&gt;

   &lt;block&gt;

             &lt;prompt&gt;

                       &lt;audio src="flash:no_input.au"/&gt;

             &lt;/prompt&gt;

   &lt;/block&gt;

&lt;/form&gt;


**14.	What are the configuration changes required for the recordutterance property to work with the IOS Version 12.4(15) and later releases and voicexml version 2.1?**

No configurations needed except for those commands to apply VXML script


**15.	How to play Address using TTS?**

By making use of &lt;say-as type="address"&gt; we can play address using TTS

**16.	Is there something I need to configure on ICM, or perhaps return a variable with the vXML &lt;exit/&gt; tag, for the call to continue in ICM when it has completed the vXML script?**

Make use of &lt;return&gt; tag instead of &lt;exit&gt; tag, when the VXML script is complete</description>
    <dc:creator>Anusha Kannappan</dc:creator>
    <dc:date>2011-12-22T08:14:10Z</dc:date>
  </item>
</rdf:RDF>

