11-30-2004 04:22 AM - edited 03-13-2019 10:35 PM
Hi,
I am writing a script based on the call flow attached and need to check if a queue specific message exits,if present play the message or else continue with the default messages.
Also if the wait time in the queue is more than 90 seconds,the call should be queued to another skill group.
Can anyone help me writing this script.
Regards,
Jagadish S
11-30-2004 05:03 AM
Hi Jagadish,
Please take a look at the below script and see if it meets your requirements.The following script will queue the call to CSQ1, if no agent available in CSQ1 for MaxQueueTries, the call gets queued to CSQ2. The example script looks like this,
Accept
Select Resource(Contact:Triggering Contact-, CSQ:CSQ1)
----->Connected
----->Queued
---------->queueLoop:
---------->If (TestMsgFlag==1) Then (Check if Test Msg Flag is ON)
------------>True
-------------->Play Queue Specific Msg using Play Prompt Step
------------->False
--------------->Play Quality Message using Play Prompt Step.
---------->Call Hold (Contact:-Triggering Contact)
---------->Delay 30 secs (During this time you will hear MOH source that is configured on a CTI Port as User Hold Audio Source)
---------->Increment QueueLoopCounter (QueueLoopCounter is an integer variable takes initial default value as 0 and keep incrementing everytime when the iteration proceed. )
---------->If(QueueLoopCounter == MaxQueueTries) Then (Variable MaxQueueTries (integer datatype) as paramater attribute which holds the maximum queue iteration allowed for a queue. If the queueloopcounter equals to MaxQueueTries, call will be queued for CSQ2)
------------->True
---------------->Use Dequeue Step if you dont want the call to be queued for both CSQ1 and CSQ2
---------------->Goto QueueToCSQ2
------------->False
---------->Call Unhold (Contact:-Triggering Contact)
---------->Goto queueLoop
QueueToCSQ2:
Select Resource (Contact:-Triggering Contact--, CSQ:CSQ2)
------>Connected
------>Queued
------------>queueLoop1:
------------>Play Queue Prompt
-------------> Call Hold (Contact:-Triggering Contact)
-------------->Delay 30 secs
--------------->Call Unhold (Contact:-Triggering Contact)
---------------->queueLoop1
----------->End
Regards
Venkat
11-30-2004 05:29 AM
Hi,
In order to get the value of wait time in queue, use "Get Reporting Statistic" step.
Refer the editor step reference guide for more info
http://www.cisco.com/univercd/cc/td/doc/product/voice/sw_ap_to/apps_3_5/english/admn_app/step.pdf - pg.No: 1-14
Set the properties of Get Reporting Statistic as follows
Report Object : CSQ ICD
Field : Expected wait time
Row Identifier : String variable that holds the CSQ name.
Statistic Variable : Integer variable that stores the expected wait time in queue. Assume X is the integer variable that holds this value.
--->Label1:
--->Select Resource(CSQ1)
------>Connected
------>Queued
---------->Get Reporting Statistic
---------->If ( X > 90)
--------------->True
------------------->Dequeue(CSQ1)
------------------->Go to Label2
--------------->False
------------------->Go to Label1
--->Label2:
--->Select Resource(CSQ2)
.....
Hope it helps.
Regards
Yogi
11-30-2004 05:53 AM
Hi,
First of all Thanks for your response.I will use the Get reporting Statistic step and check.
Regarding the testmsg flag,it should be set before the connect step,so that if there is any queue specific messages it will be played followed by the quality messages and then connect to an agent,if available or go to the queue loop.
How can we check whether a queue specific message is present and if present it is played or else it goes directly to the quality messages ?
Regards,
Jagadish S
11-30-2004 09:52 PM
Hi,
Different ways which I could think of achieving the same is as follows
1. By setting the testmsg flag as a parameter variable. In this case you can set a value for this variable through appadmin -> configure applications.
Note : You need to set the value of the parameter variable while configuring the script.
2. Another method is by using XML document. Assume sample XML document as stated below
ScriptFlow is as follows
--->Start
--->Accept
--->Create File Document
--->Create XML Document
--->Message = Extract XML Document Data(Document = "/descendant::MessageName")
--->Play Prompt(Message)
....other steps
Note :
1. Message is a string variable that holds the value of the wav file to be played.
2. If you need to set a different filename, you need to change XML file accordingly. Script doesnot required to be changed. Hence this method is more advantageous.
Refer the Editor step reference guide for more info on document steps
http://www.cisco.com/univercd/cc/td/doc/product/voice/sw_ap_to/apps_3_5/english/admn_app/step.pdf
3. Another method is by doing database dips. But this is expensive solution.
Hope your query is addressed.
Regards
Yogi
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide