cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3455
Views
0
Helpful
7
Replies

CVP app to ICM External VXML variables blank

Quigath
Spotlight
Spotlight

First time trying this so please advise. I am trying to pass data from my CVP app out to my Finesse agent.

 

However, the data I put into the CVP_Subdialog_Return element does not show up in the FromExtVXML variable. When data is already existing in an ICM variable then I have no problem setting the PeripheralVariable and seeing it in the agent desktop.

I don't even get the data from caller_input.

 

The end part of my CVP script. Just trying to push in regular String data as a test.

000 cvp exit.PNG

 

 

 

 

 

 

 

 

Overview of my ICM script. Each node gets hit as expected. My suspicion is that the vars coming in from CVP are empty.

000 icm script.PNG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Detail on setting one of the PVs.

000 icm set var.PNG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I might be missing some simple setup step, so please let me know if that's the case!

 

I have tried rebooting the PG machine.

Didn't see anything helpful in the PG logs; it did show the extension being rung though.

 

Cisco UCCE, 11.6

2 Accepted Solutions

Accepted Solutions

Agree, the return from the CVP app looks good. Next place then is the CVP log to see what it's sending to ICM, the PG VRU trace to see exactly what's going over GED-125 and also check out the ICM database (assuming you have persistent set on the ECCs).

View solution in original post

Quigath
Spotlight
Spotlight

Aha! I found the problem. Thanks everyone for the help and advice, I've learned how to better troubleshoot these things.

 

My problem was that my SetVariable nodes in ICM were out of order. I was setting the PeripheralVariables using the FromExtVxml but BEFORE I actually called the RunExtScript, so of course they were still blank.

View solution in original post

7 Replies 7

ptindall
Cisco Employee
Cisco Employee
Quickest way to check what data is going back and forth is a Wireshark trace on the CVP server. CVP logs will also help but not quite as revealing as the HTTP/VoiceXML dialog itself from the sniffer.

Thanks for the Wireshark advice. I captured this vxml packet on CVP:
  <form>
    <block>
      <var name="caller_input" expr="'done'" />
      <var name="FromExtVXML0" expr="'var0'" />
      <var name="FromExtVXML1" expr="'var1'" />
      <var name="FromExtVXML2" expr="'var2'" />
      <return namelist="caller_input FromExtVXML0 FromExtVXML1 FromExtVXML2" />
    </block>
  </form>
</vxml>

Which looks like my app setting the return values as I intended.


So if my app is sending the VMXL to set the FromExtVXML value. I'm assuming this is being picked up at ICM and the value is pushed into PeripheralVariable1 in my ICM script. Why then, would I not see the value show up in my Agent Finesse display on callVariable1?
fin var conf.PNG


My ICM to Finesse agent desktop connection is working as I can put in a static String value in the script and see it in Finesse. I need to figure out why ICM isn't populating FromExtVXML from my app.

 

Agree, the return from the CVP app looks good. Next place then is the CVP log to see what it's sending to ICM, the PG VRU trace to see exactly what's going over GED-125 and also check out the ICM database (assuming you have persistent set on the ECCs).

You know I don't see where where you are setting the actual VXML server or the path way to the server in the ICM script (but this could be done on another script that already set that).  Are you absolutely 100 percent sure you know you are even hitting that custom VXML application on the CVP server? If you are you will see an activityLog in the "appname"/logs/ActivityLogs/whatever.text

When you look at those logs for said Vxml application do you see anything in there?

 

Thanks,

 

Paul Milstone

Yep, very sure it's getting hit. I don't think I need to specify the server path in ICM since it's the default one for my system. Configured in VVB admin?


In any case, here's the log of the call:
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,newcall,
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,ani,6000010
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,areacode,NA
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,exchange,NA
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,dnis,6100010
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,uui,NA
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,iidigits,NA
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,parameter,callid=766559000001000000000547035A0A0A
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,parameter,_dnis=6100010
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,,start,parameter,_ani=6000010
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.839,Hello World Audio,enter,
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.840,Hello World Audio,interaction,audio_group,initial_audio_group
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.855,Hello World Audio,exit,done
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.855,Set Value_02,enter,
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.855,Set Value_02,custom,null,Success
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.855,Set Value_02,custom,Result,Success
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.855,Set Value_02,exit,done
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:15.855,CVP Subdialog Return_01,enter,
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:18.402,CVP Subdialog Return_01,exit,
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:18.402,,end,how,app_session_complete
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:18.402,,end,result,normal
10.10.90.9.1541528355839.219.BTtest1,11/06/2018 10:19:18.402,,end,duration,3

I don't see the values from Subdialog return being sent here. Does that element not usually log them?

I found the PG trace with the vrutrace command:
C:\icm\lab\PG2A\vrucap>vrutrace pim1 /bt 10:19:00 /et 10:20:00

...

10:19:15.819:  PG->VRU: Service Control Message (= Message Type 47); Message Length 218 bytes
 Run Script Req (= Subtype 7); DialogueID: (1769) 000006e9;
   SendSeqNo: (1)00000001
   Invoke ID: (1) 00000001
   Script Name: GS,Server,V
   Script Configuration:
   ANI: 6000010
   CED:
   RouterCallKey: (308) 00000134
   RouterCallKeyDay: (152615) 00025427
   RouterCallKeySequenceNumber: (1) 00000001
   Call GUID: 766559000001000000000547035A0A0A
   Call Variable 1:
   Call Variable 2:
   Call Variable 3:
   Call Variable 4:
   Call Variable 5:
   Call Variable 6:
   Call Variable 7:
   Call Variable 8:
   Call Variable 9: static value!
   Call Variable 10:
   ECCVar:29: "10.10.90.9"
   ECCVar:14[0]: "application=BTtest1"
   ECCVar:4: "en-us"
   ECCVar:0: "766559000001000000000547035A0A0A"
10:19:18.413:  VRU->PG: Service Control Message (= Message Type 47); Message Length 128 bytes
 Run Script Result (= Subtype 8); DialogueID: (1769) 000006e9;
   SendSeqNo: (2)00000002
   Invoke ID: (1) 00000001
   Result Code: TRUE
   CED: done
   NewTransaction flag: FALSE
   ECCVar:13[0]: "var0"
   ECCVar:13[1]: "var1"
   ECCVar:13[2]: "var2"
   ECCVar:13[3]: ""
   ECCVar:2: "0"
   ECCVar:9: "N|000|01|00|00|002594|GS,Server,V"
   ECCVar:11: "done"
10:19:18.429:  PG->VRU: Service Control Message (= Message Type 47); Message Length 16 bytes
 Release (= Subtype 20); DialogueID: (1769) 000006e9;
   SendSeqNo: (2)00000002
   Reason: (0) Normal Call Clearing
10:43:55 Trace: MsgConnect::Parse case RouterCallKeySequenceNumberTag
10:19:18.429:  PG->VRU: Service Control Message (= Message Type 47); Message Length 451 bytes
 Connect (= Subtype 9); DialogueID: (1768) 000006e8;
   SendSeqNo: (2)00000002
   LabelType: (1) Normal
   Label: 6000008
   TransferHint flag: FALSE
   RouterCallKey: (308) 00000134
   RouterCallKeyDay: (152615) 00025427
   RouterCallKeySequenceNumber: (0) 00000000
   Call GUID: 766559000001000000000547035A0A0A
   Location Parameter Name: Hub_None
   SIP Header: t:<sip:6100010@10.10.90.9>|f:<sip:6000010@10.10.90.3>;tag=1073955~844a4217-24ed-4843-ad11-1813dddbf9d0-30
007473|User-Agent:Cisco-CUCM12.0|i:76655900-be11db23-89ccb-35a0a0a@10.10.90.3
   Call Variable 1:
   Call Variable 2:
   Call Variable 3:
   Call Variable 4:
   Call Variable 5:
   Call Variable 6:
   Call Variable 7:
   Call Variable 8:
   Call Variable 9: static value!
   Call Variable 10:
   ECCVar:29: "10.10.90.9"
   ECCVar:14[0]: "application=BTtest1"
   ECCVar:13[2]: "var2"
   ECCVar:13[1]: "var1"
   ECCVar:13[0]: "var0"
   ECCVar:11: "done"
   ECCVar:4: "en-us"
   ECCVar:2: "0"
   ECCVar:0: "766559000001000000000547035A0A0A"

 

I can see some of the data here but I'm not sure how to interpret this log. I'm looking for the "var0" value that's in the ECCVar. How do I access this var from ICM?

Quigath
Spotlight
Spotlight

Aha! I found the problem. Thanks everyone for the help and advice, I've learned how to better troubleshoot these things.

 

My problem was that my SetVariable nodes in ICM were out of order. I was setting the PeripheralVariables using the FromExtVxml but BEFORE I actually called the RunExtScript, so of course they were still blank.