ICM Scripting

Document

Tue, 01/24/2017 - 23:45
Jun 9th, 2009
User Badges:
  • Silver, 250 points or more

CUICM Routing Script

Create and schedule a routing script on AW by using the script editor software.

Following picture shows a sample routing script.



syali_ICM_Basic_Script.gif



The logic that is followed for creating this script is as under


  • Start the script with the start node
  • Set the value of media server HTTP URL in Call.user.microapp.media_server variable. This is the web server URL from where .wav files will be played
  • Set the value of language in Call.user.microapp.local
  • Set the value of input type (which is digits in this sample script) in Call.user.microapp.input_type variable
  • After setting the variables send the call to IVR using “Send to VRU” node
  • Run external script called “get4digits” that will ask customer to enter 4 digits
  • The value will be saved in Call.user.microapp.play_data variable
  • Then run another external scrip called playdigits. This script will play the value stored in Call.user.microapp.play_data variable
  • The select LAA (Longest Available Agent)
  • If agent is available, send the caller to agent using the Skill Group node
  • If agent is not available, send the caller to Queue
  • While the caller is in queue, play agent busy and music on hold .wav files in loop



Upgrading CUICM System


After or before the configuration is done, you may upgrade the ICM and CTIO Server software with the new versions.



UCCE Routing Script Example#2

Following screen shot shows another example of UCCE Routing Script. Following script is simpler than the previous one.


  • The Script is executed when call comes in from CVP by dialing 23490. Following diagram shows the scrip logic


UCCE_Script_RE_Demo_23490.PNG


  • Call flow is that a Jabber iPAD user dials 23490 from CUCM
  • CUCM sends this call to a SIP Trunk that points it to CVP Call Server (172.19.239.75)
  • CVP Call Server takes the call and send it to UCCE Router
  • A script is scheduled to run all the time and will be involked when the DN is 23490
  • Script will set the IP address of 172.19.239.75 which is also acting as Media Server (IIS is running as Medial Server)
  • "en-us" and "app" are IIS directory names where holdmusic.wav file is saved.
  • So basically the script will create a link http://172.19.239.75/en-us/app/holdmusic.wav at the end and CVP will send it to the VXML-Browser (VXML Browser is actually the VXML-GW)
  • The hold music will be payed until and agent becomes available
  • Till then call will be "Queue to Skill Group" in the CUCM_PIM_1.Cisco.Voice.CVE skill group
  • This audio will be played for the infinite amount of time, till the agent becomes available



Example#2 Screen Shots


Media Server should be added in the CVP Call Server




IIS_Screen_1.PNG



MakeSureDirectory_Browsing_Is_Enabled.PNG




You_Should_be_able_toSee_the_FilesInTheFolder.PNG




YouShouldBe_Able_2_PlayIt_FromBrowser.PNG



VXML Gateway debugs ("debug voice applicaton vxml") will show you the call coming in from CVP



CVE-DEMO-VXML-CUBE#//828/F84D03000000/VXML:/vxml_formitem_select:

   Status=VXML_STATUS_OK,

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_formitem_select:

    AsyncStatus=VXML_STATUS_OK


Mar 21 20:52:29.161: vxml_object_proc:

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_item_attrs_proc:

   name=dummyobj


Mar 21 20:52:29.161: vxml_param_proc: name=return expr=true valuetype=123


Mar 21 20:52:29.161: vxml_param_proc: name=app-uri expr='builtin://dummyobj' valuetype=123

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_prompt_proc:

         <prompt>: typeaheadflush=0 alternative=0

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_audio_proc:

         <audio>:

   URI(abs):http://172.19.239.75/en-us/app/holdmusic.wav

   scheme=http

   host=172.19.239.75

   path=/en-us/app/holdmusic.wav caching=fast fetchhint=invalid fetchtimeout=4 maxage=-1 maxstale=-1

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_vapp_media_play:

   bargein=1 timeout=0 typeaheadflush=0 vcr=0 rate=0 alternative=0 hotword=0 maxtime=0

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_vapp_media_play:

   str=http://172.19.239.75/en-us/app/holdmusic.wav cachable=1 timeout4 maxage=-1 maxstale=-1 codec=-1

Mar 21 20:52:29.161: //828//AFW_:/vapp_media_play:

Mar 21 20:52:29.161: //828//AFW_:/vapp_media_play: prompt=http://172.19.239.75/en-us/app/holdmusic.wav:

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_formitem_select:

   loop cnt=0,

Mar 21 20:52:29.161: //828/F84D03000000/VXML:/vxml_load_immediate_done:

   sidp->status=104000000

Mar 21 20:52:29.161: //828//AFW_:/vapp_checksessionstate:

Mar 21 20:52:29.161: //828//AFW_:/vapp_checkifdone: Object: 1, Leg: 1

Mar 21 20:52:29.369: //828//AFW_:/vapp_driver: evtID: 181 vapp record state: 0

Mar 21 20:52:29.369: //828//AFW_:/vapp_play_done: evID=181 reason=12, protocol=2, status_code=404, dur=0, rate=0

Mar 21 20:52:29.369: //828/F84D03000000/VXML:/vxml_media_done:

   status 2 async_status 104000000 duration=0 rate=0

Mar 21 20:52:29.369: //828/F84D03000000/VXML:/vxml_save_lastprompt_info:

Loading.
gerardoderosas Thu, 08/12/2010 - 14:33
User Badges:

Hi Syed. About this routing script, what if you remove the SELECT LAA and SKILL GROUP nodes, and go directly to QUEUE TO SKILL GROUP? Does this suggested flow have any unexpected behavior or inconvenient?
Best regards!

4deepakkaushikk Tue, 01/24/2017 - 23:40
User Badges:

Hi Experts,


Can any one can explain and give details of PD Microapp.i have collected digits "9856" from the customer and I want to play these digits back to caller through PD Microapp.


i am able to play the captured single digit through GD microapp and storing it in Peripheral variable 1 and for playback i am using PM, -1 microapp. but i want to play 9,8,5,6 in single line. please help me for the same.


Best Regards,

Deepak Kumar

4deepakkaushikk Tue, 01/24/2017 - 23:45
User Badges:

Hi,

in the above script we are collecting 4 digits from caller and for playback these 4 digits back to caller we are using PD Microapp.can anyone show me the format to create the network VRU script to play these 4 digits back to caller as mentioned in above script. one captured digit i am able to play through PM,-1 but for 4 digit i am not able to get the logic for playback.


Br,
Deepak

shridhar reddy Mon, 05/07/2012 - 00:27
User Badges:

Hello,


You cann't do, bcoz LAA is decision making Node for selecting agents based on certain algorithms which you implement like LAA, eventually in your business your customer's calls should be served by some available agents not queuing calls all the time of the day ,so SKILL GROUP Node is required.


Thanks !!

Shridhar Reddy

Actions

This Document