cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1719
Views
0
Helpful
4
Comments
cdnadmin
Level 11
Level 11
This document was generated from CDN thread

Created by: PATRICK COLEMAN on 10-06-2008 06:20:27 PM
Sometimes I receive events in a different order than I expected. Why is that?

Subject: Re: Sometimes I receive events in a different order than I expected. Why is
Replied by: David Lender on 11-06-2008 12:57:49 PM
CTI Server provides Asynchronous Event ordering. This means the events arrive in no particular order. For example, if you send a make call request, your application could get the begin call event before receiving the make call confirmation event.
Comments
Edward StLouis
Level 1
Level 1

If I understand correctly, the poor ordering of events is introduced on the CTI server, not in the JTAPI client code; is that correct?

I've also done testing where I run multiple instances of the JTAPI test tool on the same machine, connected to the same UCM. Comparing the event logs after performing test calls shows that the event orders differ slightly between the different instances of the JTAPI test tool on the exact same calls.

Is JTAPI also introducing another layer of potential re-ordering, or is it always the server determining the order?

dlender
Level 6
Level 6

CTI Events are asynchronous meaning they can arrive in any order. Sometimes an agent state event is received after call events and sometimes before.

There is no supported way to force events to always arrive in the same order.

dlender
Level 6
Level 6

All of the components and messages are asynchronous so any layer can introduce differing order for messages.

Edward StLouis
Level 1
Level 1

Thanks dlender,

That's basically the conclusion I came to. It's just frustrating because I'm spending time building in a complex layer of software that just receives events from JTAPI and tries to order them the best it can based on what events "should" come before other events for any given call. Then I just feed the events (in a better order) into the rest of my application. For example, sometimes I'll get a CiscoTransferStartEv before a CallActiveEv on the same CallID. I can re-order these two events and then send it into my application. This reordering does delay the events a few hundred milliseconds, but improves the accuracy of my product.

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:

Quick Links