After the EventReleased is received, I want to attach some data for future reporting purpose. I sent RequestDistributeUserEvent to my DN itself with some KeyValuePair:
KeyValueCollection info = new KeyValueCollection();
info.Add(“CallDroppedBy”, “Agent”);
info.Add(“CallTimeExceeded”, “No”);
When I debug my application (by the way, I’m using C#.NET to develop an agent desktop), I found that the Request is sent, but I received EventACK with no userdata. How can I receive EventUserEvent with the userdata that I attached so that it can be used for reporting purpose later?
Also, I found that no RequestDistributeUserEvent and EventUserEvent (or even EventACK) can be found in SIP Server log. Is is because when a DN send RequestDistributeUserEvent to itself, no EventUserEvent received but EventACK is received?
Is at least interaction alive on Agent? I mean, no voice ok, but is he on AfterCallWork at least? If ConnID is dead already then no way to attach data to it.
Can you post full SIP Server logs showing this?
It shouldn’t matter if the interaction is still active or finished when you send a UserEvent.
It is correct that the Client that initiates the RequestDistributeUserEvent receives an EventACK event.
But any client that is registered for the DN should be sent an EventUserEvent
In my test below you can see this:
The client sends a RequestDistributeEventUserEvent setting ThisDN to it’s own DN:
10:09:51.425 Trc 04541 RequestDistributeEvent received from [528] (00000008 anonymousTServerClient 192.168.1.59:50967)
message RequestDistributeEvent
AttributeReferenceID 3
AttributeUserEvent EventUserEvent
AttributeUserData [15] 00 01 00 00..
'Pete' 'Pete'
AttributeThisDN '7001'
10:09:51.425 Int 04543 Interaction message "RequestDistributeEvent" received from 528 ("anonymousTServerClient")
Then in the SIP Server log you can see the EventACK being sent back to the client that initiated the request.
Hi @PeteHoyle, thanks for your reply. I can’t found the RequestDistributeUserEvent and EventACK (or EventUserEvent) in the SIP log file. How can I check that a client is registered for a particular DN in CME?
Sorry when I say a client has registered for a DN, I mean that the client app has made the request that is equivalent to a RequestRegisterAddress for that DN, you cannot see it in CME