Author Message
FatihCEVIK
Joined: Nov 12, 2013
Messages: 7
Offline
Hi,

On a new call process we can get UUI Data via getUserData on "getThirdPartyCallController_OnDeliveredEvent" event. It works fine

But on the other hand we have an another scenario whic we have an issue;

We are trying to make a conference call between 2 extentions and IVR. One of the extenttions is waiting on hold status and other extention is being promted to collect credit card number on IVR during the conference. After the card number is collected, WE set the Credit Ccard number into the UUI data and IVR disconnects and conference ends.

When conference is being ended, it fires "getThirdPartyCallController_OnConnectionClearedEvent" event as well. But we cant get UUI Data via getUserData on "getThirdPartyCallController_OnConnectionClearedEvent" event.

So how can we get UUI Data via getUserData on this case?

Thanks in advance
Regards
Fatih
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
How does your IVR set data into the UUI of the call?

Martin
FatihCEVIK
Joined: Nov 12, 2013
Messages: 7
Offline
We developed a simple IVR application which is AES-enabled.
We're setting Credit Card number into the UUI field by using "Set UUI and Disconnect" AES node in the Orchestration Designer.
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
In that case, you may be able to get better support in the Orchestration Designer.

One possibility is that you are looking for the UUI in the wrong place. It sounds like you actually have two calls. It may be that the UUI was injected into the other call. Another possibility is that it is contained in the Original Call Information (OCI).

Have a look at the Devconnect FAQ "What is the procedure for enabling and accessing the AE Services logs for TSAPI (trace, tracing, g3trace, csta_trace)?". It described how to turn on TSAPI traces. Turn them on and try your call again. Check the csta and g3 file to see if your UUI has been inserted into any of the messages.

Martin
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
Should have said:

In that case, you may be able to get better support in the Orchestration Designer forum.
FatihCEVIK
Joined: Nov 12, 2013
Messages: 7
Offline
Hi Martin,

Actually our problem is that;
Conference ends and ConnectionClearedEvent is firing on our DMCC softphone application. But getUserData property is not a member of this event. So we can't see it.
That's why we cant get getUserData with "getThirdPartyCallController_OnConnectionClearedEvent" event.

I can only see this getUserData field at "getThirdPartyCallController_OnDeliveredEvent".

So what we need is; Is there any other way to get this getUserData field?

Regards
Fatih
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
As far as I can see, the UUI is only available in Conferenced, Connection Cleared, Delivered, Established, Originated and Transferred events. It is not possible to get UUI using the Snapshot service.

The only solution I can see would be to conference or transfer the call after the UUI hs bee added.

Martin
FatihCEVIK
Joined: Nov 12, 2013
Messages: 7
Offline
I can get UUI with "OnDeliveredEvent"event with this code;

void getThirdPartyCallController_OnDeliveredEvent(object sender, ThirdPartyCallController.DeliveredEventEventArgs e)
{
try
{
String str = (e.getUserData.decodeDataToString());
System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary hexBinary = System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary.Parse(str);
String text = System.Text.Encoding.ASCII.GetString(hexBinary.Value);
}
}

Bu i cant get UUI with other ( Connection Cleared, Established, Conferenced ) events. For example after a party leaves conference my Connection Cleared event is firing but this event doesnt have getUserData field.So could you please sample me how can i get UUI on these (Connection Cleared, Established, Conferenced ) events ?

Fatih
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
Let me clarify:

1. Connection Cleared event will only contain UUI if the call is dropped by a cstaClearConnection with a userInfo. That is, it will not report the UUI that was injected at the start or during the call. It will only report UUI if it was added when clearing the connection.

2. The XML from the AE Services will contain UUI (if present) for Delivered, Established, Conferenced and Connection Clear events.

3. The .Net SDK has had a getUserData method for Delivered events for some time.

4. The latest version of the .Net SDK (6.3) has a getUserData method for Established events.

5. For Conferenced and Connection Cleared events, you will need to get the raw XML and parse the UUI from it. I believe event.getXmlDocument will give you the XML document. These events should have getUserData methods and I will open an MR to have them added.

Martin
FatihCEVIK
Joined: Nov 12, 2013
Messages: 7
Offline
Hi Martin,

Today we tried to get UUI from XML data Connection Clear event as you mentioned (with e.getXmlDocument). But we still can't see our UUI data inside incoming XML.

Here is the incoming XML;

<?xml version="1.0" encoding="UTF-8" ?>
- <ConnectionClearedEvent xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3">
<monitorCrossRefID>157</monitorCrossRefID>
- <droppedConnection>
<callID>2964</callID>
<deviceID typeOfNumber="other" mediaClass="notKnown" bitRate="constant">3012:LABCM::0</deviceID>
</droppedConnection>
- <releasingDevice>
<deviceIdentifier typeOfNumber="explicitPrivate:localNumber" mediaClass="notKnown" bitRate="constant">3012:LABCM::0</deviceIdentifier>
</releasingDevice>
<localConnectionInfo>hold</localConnectionInfo>
<cause>normalClearing</cause>
- <deviceHistory>
- <DeviceHistoryListItem>
- <oldDeviceID>
<numberDialed typeOfNumber="other" mediaClass="notKnown" bitRate="constant">3012:LABCM::0</numberDialed>
</oldDeviceID>
<eventCause>normal</eventCause>
- <oldConnectionID>
<callID>2964</callID>
<deviceID typeOfNumber="other" mediaClass="notKnown" bitRate="constant">3012:LABCM::0</deviceID>
</oldConnectionID>
</DeviceHistoryListItem>
</deviceHistory>
</ConnectionClearedEvent>

Any idea?
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
Did you include UserData when you sent the ClearConncetion request?
FatihCEVIK
Joined: Nov 12, 2013
Messages: 7
Offline
Hi,

We're using "SetUUIAndDisconnect" node in Orchestration Designer application.(screenshot1)

After DMCC agent started the conference between itself, customer and ivr application,
agent goes into Hold state and customer hears the IVR announcement to be able to enter
card number (getCardNumber node).

Customer enters 16 digit card number and IVR application stores the getCardNumber:value into the uui
via "SetUUIAndDisconnect" node (screenshot:http://imageshack.us/photo/my-images/826/26wm.jpg/14:27)


After storing this value into the cticallinfo, IVR application is ended via Exit node and the call
disconnects. (screenshot:http://imageshack.us/photo/my-images/513/9908.jpg/14:27)

At that point, DMCC agent application receives and handles an "getThirdPartyCallController_OnConnectionClearedEvent" event for disconnected call.
(for this scenario, IVR disconnects, agent exits from Hold state, customer and agent go on talking each other)


And here is our Trace Log: that shows we already set UUI (example UUI data : 1234567890258088) data before we finish conferance.
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: request to manager is http://192.168.48.16:7080/aesconnector/DisconnectUUI?callid%3D2964%26extension%3D3012%26UUI%3D1234567890258088%26uuiAsAscii%3Dtrue&k=HeOhNXdyzSJDvqpbM8WEFRuJPQtOW%2Fot7NVMvbuxX38%3D



* 2013 11:45:59 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Using SCESession 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest servlet : getCardNumber
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Using SCESession 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest servlet : setUUIAndDisconnect
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Storing :getCardNumber___inputmode to complex: getCardNumber:inputmode as [dtmf]
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Storing :getCardNumber___noinputcount to complex: getCardNumber:noinputcount as [1]
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Storing :getCardNumber___interpretation to complex: getCardNumber:interpretation as [1234567890258088]
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Storing :getCardNumber___value to complex: getCardNumber:value as [1234567890258088]
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Storing :getCardNumber___utterance to complex: getCardNumber:utterance as [1234567890258088]
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Storing :getCardNumber___nomatchcount to complex: getCardNumber:nomatchcount as [0]
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Storing :getCardNumber___confidence to complex: getCardNumber:confidence as [1]
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : VariableUtil.getVariableValue: Variable value is 1234567890258088
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: encrypted value is HeOhNXdyzSJDvqpbM8WEFRuJPQtOW/ot7NVMvbuxX38=
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : VariableUtil.getVariableValue: Variable value is 2964
* 22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: request to manager is http://192.168.48.16:7080/aesconnector/DisconnectUUI?callid%3D2964%26extension%3D3012%26UUI%3D1234567890258088%26uuiAsAscii%3Dtrue&k=HeOhNXdyzSJDvqpbM8WEFRuJPQtOW%2Fot7NVMvbuxX38%3D
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: setting session cookie to 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: callinfo from Manager is
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Using SCESession 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest servlet : exit
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTIEnd.execute:3012 callid is 2964
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: encrypted value is HeOhNXdyzSJDvqpbM8WEFRuJPQtOW/otu2elf/xwPe0=
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: request to manager is http://192.168.48.16:7080/aesconnector/End?extension%3D3012%26callid%3D2964&k=HeOhNXdyzSJDvqpbM8WEFRuJPQtOW%2Fotu2elf%2FxwPe0%3D
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: setting session cookie to 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : CTICommand.execute: callinfo from Manager is
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Removing session from AvayaSessionTermination Servlet
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Termination URL reply : <?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml" xml:lang="en-us">
</vxml>

22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : HTTP Session lost removing SCESession 63F79D08D20D6A54AB45586F3C4DDD00
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : SCESession Removed
22/10/2013 11:46:26 DEBUG - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : Removing 1 session stack frames.
22/10/2013 11:46:26 INFO - 63F79D08D20D6A54AB45586F3C4DDD00:/CTITest : ** Popped Stack Frame [/CTITest]
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
As I said, the Connection Cleared event will only contain UUI if the call is dropped by a cstaClearConnection (TSAPI) or ClearConnection request (DMCC) which includes userInfo.

Unless your IVR uses TSAPI to disconnect AND inserts the UUI into the disconnect request, you will not receive the UUI in the ConnectionCleared event.

I suggest you enable TSAPI tracing on the AE Services - see the Devconnect FAQ " What is the procedure for enabling and accessing the AE Services logs for TSAPI (trace, tracing, g3trace, csta_trace)?" for details.

From this, you can see :

1. If the IVR uses TSAPI to disconnect
2. If the IVR inserts UserData when disconnecting
3. If the AE Services receives UUI from the Communication Manager when generating the ConnectionCleared event.

Martin
FatihCEVIK
Joined: Nov 12, 2013
Messages: 7
Offline
Hi,
We tried instructions that you mentioned below;

We can see cstaClearConnection command in the log file but there is no UUI data in the log.

So could you please assist us on this issue or is there any other thread in the forum about this issue?

Here is link for log files if you want to check;

https://www.wetransfer.com/downloads/d895f6f4b65c973f3aaa1d430f8f68ba20131022142153/58ea692bad09d7f7a278803e4ee20f3520131022142153/0e32f3

Thanks in advance
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
As I said, the Connection Cleared event will only contain UUI if the call is dropped by a cstaClearConnection (TSAPI) or ClearConnection request (DMCC) which includes userInfo.

This is not the case here so there is no UUI in the Connection Cleared event.

From the logs, I can see that the connection is not dropped using TSAPI. Therefore, the Connection Cleared event does not contain UUI.

I suggest you have a look at the TSAPI Programmers Guide "Avaya MultiVantage Application Enablement Services TSAPI for Avaya Communication Manager Programmer's Reference". It describes the cases where UUI is available in events.

Martin
Go to:   
Mobile view