Showing results for 
Search instead for 
Did you mean: 

Cisco Community Designated VIP Class of 2020

Sometimes I receive events in a different order than I expected. Why is tha

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.

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?

Frequent Contributor

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.

Frequent Contributor

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


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.

CreatePlease to create content
Content for Community-Ad
FusionCharts will render here