cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2353
Views
0
Helpful
0
Comments
mkandwal
Community Member

We often see different scripts for  callback and thus wonder how does that work and what should be the ideal call-flow. I have tried to summarize the scenario in the best possible manner.

The Callback script can be tweaked as per the requirement but in this scenario I have used the one provided in script repository by Cisco. Below you can find all the events and all the ports/call-legs coming into picture. I have tried to use different coloring scheme for all the 3 different events happening.

 * I am also attaching a 'callback' folder which contains the 2 scripts, prompts that are required/referred in the script and the word doc explaining the same.

Scenario  -

We have a mainline callback number and then another application from where we select an available agent from another CSQ

 

Application  1 –

 Name – callbackmain

Trigger – 4321 

Script - BaseLineAdvQueuing.aef

 

Application 2 –

Name – callbackpart2Agents

Trigger – 4532

Script -  BaseLineMesageCallback.aef

 

The caller would be calling 4321 and leaving a message along with callback number ( in this case it is his own number ). His call leg would be disconnected and a new call would be created through a different CCG which would place the call to 4532 application. From this application an available agent would be selected which  would be given the choice to listen to the callback message and then connect to the caller.

Eventually the call would be connected using the call-redirect step.

 

----------------------------------------------------------------------

|| Caller dialing CCX Trigger (4321) number for callbackmain script ||

 

4359913: Jun 14 16:11:52.461 IST %MIVR-SS_TEL-7-UNK:Call.received() JTAPICallContact[id=57,type=Cisco JTAPI Call,implId=1164/1,active=true,state=CALL_RECEIVED,inbound=true,handled=false,locale=en_US,aborting=false,app=App[name=callbackmain,type=Cisco Script Application,id=8,desc=callbackmain,enabled=true,max=4,valid=true,cfg=[ApplicationConfig[schema=ApplicationConfig,time=2016-06-14 16:05:36.0,recordId=39,desc=callbackmain,name=callbackmain,type=Cisco Script Application,id=8,enabled=true,sessions=4,script=SCRIPT[BaseLineAdvQueuing.aef],defaultScript=,vars=[<java.lang.String CSQ>,<java.lang.String extensionOutCallCallback>],defaultVars=null]]],task=null,session=null,seqNum=-1,time=1465900912459,cn=4321,dn=4321,cgn=1002,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=4321,odn=null,uui=null,aniii=null,ced=null,OrigProtocolCallRef=000000000000048C01DD93D700000000,DestProtocolCallRef=null,route=RP[num=4321],port=null,aborting=false,transferring=false,disconnecting=false]

 

|| Port 4001 was selected ||

4359939: Jun 14 16:11:52.546 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1, TerminalConnection to Terminal: uccx__4001 is RINGING, [4001::1/(P1-jtapi_1) GCID=(1,1164)->ACTIVE]->ALERTING

 

|| Script steps being executed ||

4359970: Jun 14 16:11:52.565 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Start

4360221: Jun 14 16:11:55.857 IST %MIVR-STEP_ICD-7-UNK:Task:25000000106 SelectResourceStep: No resource available

4360334: Jun 14 16:12:03.624 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : QueueLoop: /* Label QueueLoop */

 

|| Here the caller selects the callback option, menu button 2. The caller eventually leaves 1002 as callback number ||

4360483: Jun 14 16:12:14.722 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Menu (--Triggering Contact--, prompt) /* Prompts user to select ... */

4360590: Jun 14 16:12:23.555 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 Digit received: 2

 

4360596: Jun 14 16:12:23.963 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : EnterCalbackNumber: /* label EnterCallbackNumber ... */

4360597: Jun 14 16:12:23.963 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : callbackNumber = Get Digit String (--Triggering Contact--) /* Prompts to enter the ... */

 

4360699: Jun 14 16:12:29.445 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 Digit received: 1

4360718: Jun 14 16:12:30.317 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 Digit received: 0

4360721: Jun 14 16:12:30.861 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 Digit received: 0

4360722: Jun 14 16:12:31.595 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 Digit received: 2

 

4360727: Jun 14 16:12:32.694 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 Digit received: #

 

|| Leaves a recording message and presses # key to showcase the recording is finished ||

4360852: Jun 14 16:12:40.403 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : recordedMessage = Recording (--Triggering Contact--, pRecordCallbackMessage, 30) /* Prompts user to record ... */

4361011: Jun 14 16:12:48.495 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 Digit received: #

|| Plays the successful message and terminates the caller's call leg ||

4361025: Jun 14 16:12:49.098 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Play Prompt (--Triggering Contact--, pCallbackConfirm) /* Plays the confirmation ... */

4361070: Jun 14 16:12:52.364 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Terminate (--Triggering Contact--) /* Terminates the call */

 

4361071: Jun 14 16:12:52.375 IST %MIVR-SS_TEL-7-UNK:Call.disconnecting(NONE) JTAPICallContact[id=57,type=Cisco JTAPI Call,implId=1164/1,active=true,state=CALL_ANSWERED,inbound=true,handled=false,locale=en_AU,aborting=false,app=App[name=callbackmain,type=Cisco Script Application,id=8,desc=callbackmain,enabled=true,max=4,valid=true,cfg=[ApplicationConfig[schema=ApplicationConfig,time=2016-06-14 16:05:36.0,recordId=39,desc=callbackmain,name=callbackmain,type=Cisco Script Application,id=8,enabled=true,sessions=4,script=SCRIPT[BaseLineAdvQueuing.aef],defaultScript=,vars=[<java.lang.String CSQ>,<java.lang.String extensionOutCallCallback>],defaultVars=null]]],task=25000000106,session=Session[id=001-0x3b9aca02e,parent=null,active=true,state=SESSION_IN_USE,time=1465900912461],seqNum=0,time=1465900912459,cn=4321,dn=4321,cgn=1002,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=4321,odn=null,uui=null,aniii=null,ced=null,OrigProtocolCallRef=000000000000048C01DD93D800000000,DestProtocolCallRef=null,route=RP[num=4321],port=TP[type=Cisco CTI Port,id=4,implId=4001,active=true,state=IN_USE],aborting=false,transferring=false,disconnecting=true]

 

4361072: Jun 14 16:12:52.376 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106 gets TermConnDroppedEv, meta code:132, cause code:100

4361073: Jun 14 16:12:52.376 IST %MIVR-SS_TEL-7-UNK:CallID:57 MediaId:1164/1 Task:25000000106, TerminalConnection to Terminal: uccx__4001 is DROPPED, 1164/1

 

|| The call reaches the place call step ||

4361082: Jun 14 16:12:52.380 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Goto PlaceCallCallback /* Go to PlaceCallCallback ... */

4361083: Jun 14 16:12:52.380 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : PlaceCallCallback: /* label PlaceCallCallback ... */

4361084: Jun 14 16:12:52.380 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : outboundCallContact = Place Call (to extensionOutCallCallback) /* Script places a call ... */

 

|| A call.created event is created ||

4361092: Jun 14 16:12:52.383 IST %MIVR-SS_TEL-7-UNK:Call.created() JTAPICallContact[id=58,type=Cisco JTAPI Call,implId=1165/1,active=false,state=null,inbound=true,handled=false,locale=en_US,aborting=false,app=App[name=callbackmain,type=Cisco Script Application,id=8,desc=callbackmain,enabled=true,max=4,valid=true,cfg=[ApplicationConfig[schema=ApplicationConfig,time=2016-06-14 16:05:36.0,recordId=39,desc=callbackmain,name=callbackmain,type=Cisco Script Application,id=8,enabled=true,sessions=4,script=SCRIPT[BaseLineAdvQueuing.aef],defaultScript=,vars=[<java.lang.String CSQ>,<java.lang.String extensionOutCallCallback>],defaultVars=null]]],task=25000000106,session=null,seqNum=-1,time=1465900972382,cn=null,dn=null,cgn=null,ani=null,dnis=null,clid=null,atype=OUTBOUND,lrd=null,ocn=null,odn=null,uui=null,aniii=null,ced=null,OrigProtocolCallRef=null,DestProtocolCallRef=null,route=null,port=null,aborting=false,transferring=false,disconnecting=false]

 

|| A new CTI port from a different CCG is slected ||

4361114: Jun 14 16:12:52.399 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106, TerminalConnection to Terminal: CITI_1010 is ACTIVE

|| We see this CTI port calling the new trigger/application from where an active agent will be selected ||

4361138: Jun 14 16:12:52.444 IST %MIVR-SS_TEL-7-UNK:Call.received() JTAPICallContact[id=59,type=Cisco JTAPI Call,implId=1165/1,active=true,state=CALL_RECEIVED,inbound=true,handled=false,locale=en_US,aborting=false,app=App[name=callbackpart2Agents,type=Cisco Script Application,id=9,desc=callbackpart2Agents,enabled=true,max=4,valid=true,cfg=[ApplicationConfig[schema=ApplicationConfig,time=2016-06-14 15:55:24.0,recordId=37,desc=callbackpart2Agents,name=callbackpart2Agents,type=Cisco Script Application,id=9,enabled=true,sessions=4,script=SCRIPT[BaseLineMesageCallback.aef],defaultScript=,vars=[<java.lang.String CSQ>],defaultVars=null]]],task=null,session=null,seqNum=-1,time=1465900972441,cn=4532,dn=4532,cgn=1010,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=4532,odn=null,uui=null,aniii=null,ced=null,OrigProtocolCallRef=000000000000048D01DD93DB00000000,DestProtocolCallRef=null,route=RP[num=4532],port=null,aborting=false,transferring=false,disconnecting=false]

 

||This call leg is handled by the port 1012 ||

4361175: Jun 14 16:12:52.483 IST %MIVR-SS_TEL-7-UNK:CallID:59 MediaId:1165/1, TerminalConnection to Terminal: CITI_1012 is RINGING, [1012::1/(P1-jtapi_1) GCID=(1,1165)->ACTIVE]->ALERTING

 

|| Now this new script is being executed ||

4361189: Jun 14 16:12:52.490 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000108 : Start

4361191: Jun 14 16:12:52.490 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000108 : Accept (--Triggering Contact--) /* Accept the call */

4361362: Jun 14 16:12:52.586 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000108 : ToCallCenter: /* Label ToCallCenter */

4361363: Jun 14 16:12:52.586 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000108 : Select Resource (--Triggering Contact-- from CSQ) /* Select an available resource ... */

 

|| Found available agent named 'gupta' from a different CSQ ||

4361422: Jun 14 16:12:52.590 IST %MIVR-STEP_ICD-7-UNK:Task:25000000108 SelectResourceStep: Connect option false, return SELECTED branch

4361423: Jun 14 16:12:52.590 IST %MIVR-STEP_ICD-7-UNK:Task:25000000108 SelectResourceStep: Clearing interruption: Resource Available Interruption: Rsrc Name:gupta ID:mark IAQ Extn:5467, available on ESD: 3

4361814: Jun 14 16:12:56.752 IST %MIVR-SS_TEL-7-UNK:CallID:59 MediaId:1165/1 Task:25000000108, transfer(5467, consultCall)

4361857: Jun 14 16:12:56.821 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106, Connection to new destination CREATED, new dest: 5467

 

|| Call transferred successfully to the agent with ext 5467  and the CTI port for this call leg drops off. ||

4361964: Jun 14 16:12:56.826 IST %MIVR-SS_TEL-7-UNK:CallID:59 MediaId:1165/1 Task:25000000108, TerminalConnection to Terminal: CITI_1012 is DROPPED, 1165/1, call transferring, Redirecting:false

 

4361976: Jun 14 16:12:56.828 IST %MIVR-SS_TEL-7-UNK:Call.transferred(5467) - transferring JTAPICallContact[id=59,type=Cisco JTAPI Call,implId=1165/1,active=false,state=CALL_CONNECTED,inbound=true,handled=false,locale=en_AU,aborting=false,app=App[name=callbackpart2Agents,type=Cisco Script Application,id=9,desc=callbackpart2Agents,enabled=true,max=4,valid=true,cfg=[ApplicationConfig[schema=ApplicationConfig,time=2016-06-14 15:55:24.0,recordId=37,desc=callbackpart2Agents,name=callbackpart2Agents,type=Cisco Script Application,id=9,enabled=true,sessions=4,script=SCRIPT[BaseLineMesageCallback.aef],defaultScript=,vars=[<java.lang.String CSQ>],defaultVars=null]]],task=25000000108,session=Session[id=001-0x3b9aca02f,parent=null,active=true,state=SESSION_IN_USE,time=1465900972385],seqNum=1,time=1465900972441,cn=4532,dn=4532,cgn=1010,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=4532,odn=null,uui=null,aniii=null,ced=null,OrigProtocolCallRef=000000000000048D01DD93DF00000000,DestProtocolCallRef=null,route=RP[num=4532],port=TP[type=Cisco CTI Port,id=3,implId=1012,active=false,state=IDLE],aborting=false,transferring=true,disconnecting=false]

 

4361995: Jun 14 16:12:56.830 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000108 : End

 

|| Now as per the script logic it waits for the agent to select and press any button in order to reach callback message or make a call to the caller ||

4362514: Jun 14 16:12:59.186 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : strAnyDigit = Get Digit String (outboundCallContact) /* When the call is answered ... */

4362517: Jun 14 16:12:59.187 IST %MIVR-LIB_MEDIA-7-UNK:DriverInputStream.addSource /common/cisco/uccx/Prompts/user/en_US/1173.wav

 

4362558: Jun 14 16:13:03.485 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106 Digit received: 2

4362559: Jun 14 16:13:03.485 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : PlayCallbackMessage: /* label PlayCallbackMessage ... */

4362560: Jun 14 16:13:03.485 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Play Prompt (outboundCallContact, recordedMessage) /* Plays the callback message ... */

4362563: Jun 14 16:13:03.485 IST %MIVR-LIB_MEDIA-7-UNK:DriverInputStream.addSource /opt/cisco/uccx/temp/1465900964623@1929e43.wav

4362679: Jun 14 16:13:07.774 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Menu (outboundCallContact, pRepeatCallbackMessage) /* Prompts agent to select ... */

 

|| Here the agent pressed option 1 to hear the message that the caller left ||

4362775: Jun 14 16:13:16.016 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106 Digit received: 1

4362776: Jun 14 16:13:16.016 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Goto PlayCallbackMessage /* Go to PlayCallbackMessage ... */

4362777: Jun 14 16:13:16.016 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : PlayCallbackMessage: /* label PlayCallbackMessage ... */

4362778: Jun 14 16:13:16.016 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Play Prompt (outboundCallContact, recordedMessage) /* Plays the callback message ... */

4362781: Jun 14 16:13:16.017 IST %MIVR-LIB_MEDIA-7-UNK:DriverInputStream.addSource /opt/cisco/uccx/temp/1465900964623@1929e43.wav

|| This time agent pressed 2 to be connected to the caller ||

4362893: Jun 14 16:13:26.843 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106 Digit received: 2

4362894: Jun 14 16:13:26.844 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Goto ConnectToCustomer /* Go to ConnectToCustomer ... */

4362895: Jun 14 16:13:26.844 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : ConnectToCustomer:

|| The call is placed to the caller using call redirect step ||

4362898: Jun 14 16:13:26.844 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : Call Redirect (outboundCallContact to callbackNumber) /* Redirects the call that ... */

 

4362899: Jun 14 16:13:26.844 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106, Redirecting to: 1002, Unconditional: false, ResetOrigCalledAddr:false, OrigCalledAddr:1002, CallingSearchSpace:redirecting.party

 

|| We see the port 1010 transferring the call and then going out of the picture ||

4362997: Jun 14 16:13:26.961 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106 Got (P1-jtapi_1) 1165/1 TermConnDroppedEv CITI_1010 [#1168] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:6, (P1-jtapi_1) 1165/1 CallCtlTermConnDroppedEv CITI_1010 [#1169] Cause:100 CallCtlCause:210 CiscoCause:0 FeatReason:6, (P1-jtapi_1) 1165/1 ConnDisconnectedEv 1010::1 [#1170] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:6, (P1-jtapi_1) 1165/1 CallCtlConnDisconnectedEv 1010::1 [#1171] Cause:100 CallCtlCause:210 CiscoCause:0 FeatReason:6, (P1-jtapi_1) 1165/1 CallInvalidEv [#1172] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:6,  events on the AddressCallObserver.

4363001: Jun 14 16:13:27.083 IST %MIVR-SS_TEL-7-UNK:CallID:58 MediaId:1165/1 Task:25000000106, TerminalConnection to Terminal: CITI_1010 is DROPPED, 1165/1

 

4363004: Jun 14 16:13:27.089 IST %MIVR-SS_TEL-7-UNK:Call.transferred(1002) - transferring JTAPICallContact[id=58,type=Cisco JTAPI Call,implId=1165/1,active=false,state=CALL_TRANSFERRED,inbound=false,handled=false,locale=en_US,aborting=false,app=App[name=callbackmain,type=Cisco Script Application,id=8,desc=callbackmain,enabled=true,max=4,valid=true,cfg=[ApplicationConfig[schema=ApplicationConfig,time=2016-06-14 16:05:36.0,recordId=39,desc=callbackmain,name=callbackmain,type=Cisco Script Application,id=8,enabled=true,sessions=4,script=SCRIPT[BaseLineAdvQueuing.aef],defaultScript=,vars=[<java.lang.String CSQ>,<java.lang.String extensionOutCallCallback>],defaultVars=null]]],task=25000000106,session=Session[id=001-0x3b9aca02f,parent=null,active=true,state=SESSION_IN_USE,time=1465900972385],seqNum=0,time=1465900972382,cn=4532,dn=null,cgn=1010,ani=null,dnis=null,clid=null,atype=OUTBOUND,lrd=null,ocn=4532,odn=null,uui=null,aniii=null,ced=null,OrigProtocolCallRef=null,DestProtocolCallRef=000000000000048D01DD93DA00000000,route=RP[num=0000],port=TP[type=Cisco CTI Port,id=2,implId=1010,active=false,state=IDLE],aborting=false,transferring=true,disconnecting=false]

 

4363007: Jun 14 16:13:27.089 IST %MIVR-ENG-7-UNK:Execute step of Task 25000000106 : End

 

 

Thanks

Manu Kandwal

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: