Virtually any event (I can think of relatively few exceptions e.g. RouteRequest) may occur between the application sending
cstaAnswerCall()
and it receiving
1.CSTAAnswerCallConfEvent ()
2.CSTAEstablishedEvent()
Why?
Two things... you need to allow for what the topology of the call is that the alerting device is involved in.
(1) It could be originator and ringing party, or it could be originator and multiple alerting parties (thus the Established event may be for a different party and occur before the CSTAAnswerCallConfEvent()), or
(2) it could be a conference or transfer situation where there are multiple established parties along with one or more alerting parties. The established parties could go on hold, or complete conferences themselves which would alter the topology of the call and thus cause events into the call you are monitoring prior to the response to your application's cstaAnswerCall().
Thus your application will need to be prepared for all event types to properly track the call and the changes that may be occurring to it.
|