cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1340
Views
5
Helpful
16
Replies

Courtesy call back does not display caller ID

Sureshkumar Mohanraj
Cisco Employee
Cisco Employee

I have a question on the Courtesy Callback Entry app we have the Calling Line ID which is static 10 digit most of the time, and I would like to change this to dynamic based on what ICM provides.

Here is what i have done, 

Set the Call.PeripheralVariable6 = 1234567890

ICM i modifed the variable : concatenate("ani=",Call.CallingLineID,";ccbnum=",Call.PeripheralVariable6)

So i am able to see the ccbnum in the start parameter and see the 10 digit value as well.


CallbackEntry,06/04/2024 01:59:18.034,,start,parameter,ccbnum=1234567890

in CCB, entry app field "Calling Line ID : {Data.Session.ccbnum}"

But somehow the value what i got in the ccbnum start parameter is not parsing to Callback wait script

CallbackWait,05/29/2024 18:33:48.395,Get Status_01,data,cli,{Data.Session.ccbnum}


ideally this should be : Get Status_01,data,cli,1234567890

Due to this, caller id shown as "unknown"

So any idea, how i can make this happen ?

1 Accepted Solution

Accepted Solutions

Restarting the VXML service on the cloud platform is not possible without change request. So it was just running the "updateCommonClasses.bat" made the difference.

View solution in original post

16 Replies 16

janinegraves
Spotlight
Spotlight
By default, the SetQueueDefaults doesn't allow you to use substitution
variables. And that's why it's displaying in the log as
{Data.Session.ccbnum} instead of displaying the value of the ccbnum.

Paul Tindall (formerly of Cisco) extended the SetQueueDefaults element
to accept variables. So you'd have to use his element instead of the
'out of the box element'.

I'll ask around to see if it's still availble.

Janine


Thanks Janine, 

Exactly thats the issue, i am trying to find out how i can use the element inorder to acheive, it would be great if you could share how i can overcome from this. 

 

I have these files already and put those files in the respective folder. 

Also see the image below how i am parsing it. CCB_Entry.png

With this, i am seeing Callback wait application is failed to parse, 

 

CallbackWait,05/29/2024 18:33:48.395,Get Status_01,data,cli,{Data.Session.ccbnum}


ideally this should be : Get Status_01,data,cli,1234567890

 

So i am not exactly sure, what else i am missing. 

 

Any leads are apprieciated. 

1What version of Call Studio and VXMLServer do you have?

2What locations did you put the downloaded custom jar file?

3Did you put the jar file  into VXMLServer/common/lib and then restart
VXMLServer?

4If so, open the file
VXMLServer/applications/CBEntry/data/configuration/Callback_SetQueueDefaults_Extended
and see whether you see that it's using substitution variables {0} and
{1} as below:

{0}
....
{1}


5If you don't see {0} and {1}, then it's not using the updated Studio
custom element for some reason.

6Perhaps go thru all the steps again (remove the old jar, download the
new one, put it under
CallStudio/eclipse/plugins/com.audiumcorp.studio.library.common/lib and
restart Call Studio.

Re-deploy the application to VXMLServer.
Check the file mentioned above to see if it contains {0} and {1}




Hello Janine, 

Thank you for the detailed info, so i copied the java src file and jar file to the call studio respective folder and restarted the studio app. 

then I realized the element is different in the CCB Entry application. By default we have "SetQueueDefaults_01", so what i did here is I renamed the setQueueDefault to "Callback_Set_Queue_Defaults_Ext_01".

After validating and deploy the app, i do see the below 

VXMLServer/applications/CBEntry/data/configuration/Callback_SetQueueDefaults_Extended

<setting name="cli">{Data.Session.ccbnum}</setting>

Is there anything else to be done on the Callstudio app perspective ? 

 

Appreciate your help

So I tried to edit the variable to {0} and deployed the app. 

 

When i try to deploy inside the CVP server, 


*** Unable to deploy the application 'CallbackEntry'. The error was: com.audium.server.xml.ElementConfigException: There was an error evaluating substitution for the setting named 'cli'.. Please see the global error log in CVP_HOME\VXMLServer/logs for more details about this error. ***

So i am kind of stuck.

We are using 12.6, will that could be an issue ?

I can't tell from your response if you are 'actually' using the new custom element. It seems that you are not - otherwise the file in VXMLServer/appns/CBentry/data/configurations would display the {0} and {1}  - indicating that the element is the 'new' element, which has configured itself to use the value of the variables.

You need to bring in the new custom element named Callback_Set_Queue_Defaults_Ext from the element pane, and use this instead of the original one. It doesn't matter what you name it, but it does matter which element you use.

The custom element, when deployed to VXMLServer, will display the {0} and {1} instead of {Data.Session.ccb}

 

From the screenshot, it does look like you're using the extended element, but for some reason yours isn't working correctly. Be sure that you look at the one on named VXMLServer/appns/CBentry/data/configuration/Callback_Set_QueueDefaults_EXT_01 to look for the {0} and {1}.

 

davidduncan
Level 1
Level 1

I am working with Suresh on this.  I restored the original CallbackEntry Call Studio script that I know works and offers callback properly.  I then replaced only element "Callback_Set_Queue_Defaults" with "Callback_Set_Queue_Defaults_Ext_01".  This time I did not simply rename the original element, but rather replaced it.  When I deployed CallbackEntry app again, the Data.Session Variables now show {0} and {1} as expected.  See the screen shots below.  However, when I put this app on the CVP servers, callback is no longer offered, ever. I go into the Queue immediately upon making a call and I stay there until the call is answered.  The only element that has change in the script is the "Callback_Set_Queue_Defaults_Ext_01". 

davidduncan_0-1717966081785.png

davidduncan_1-1717966095248.png

 

 

 

 

 

davidduncan
Level 1
Level 1

I did get this to work.  With what I did in my previous post and after we uploaded the Jar file to the VXMLServer/common/lib directory (did this originally), I went to  C:\Cisco\CVP\VXMLServer\admin and executed the "updateCommonClasses.bat" file.  It started working after that step.

Now I am able to update my routing control in the admin portal with any Callback Caller ID I set and it gets passed to the ICM script and onto the Call Studio script.  When callback is executed it, that routing control value is seen by the customer as the caller ID.  I set up 2 different routing control variables (with 2 different values), two different ICM Callback scripts (2 different dialed numbers) and have them hitting the same Call Studio scripts and callback CLID shows properly when making callbacks.  Thank you all for your help.

Glad you got it working. In one of my first responses to this post I mentioned "3Did you put the jar file into VXMLServer/common/lib and then restart VXMLServer?".   For the past 15 years or so the updateCommonClasses.bat only updated classes in the VXMLServer/common/classes folder and not in the VXMLServer/common/lib folder. 

So, I'm surprised that you didn't have to restart the VXMLServer service.  I'll have to test this out for myself and if it's the case that one need not restart VXMLServer for the common/lib classes to be updated in memory, then I'll count that as a huge improvement.

Thanks for sharing your finding.

That is interesting on the updateCommonClasses.bat.  I had not restarted the VXML Server as I was unsure on the least impacting way to do this.  I wasn't sure if it was suspendServer.bat or something else.  This was in the sandbox, so there is little to no impact.  I wanted to know what the least impactful step might be, so I can prepare to do this in my prod environment.   Cisco manages the servers, so I can't reboot them.