Requests and errors
Because of the real time behavior described above, certain requests may return a normal
response even if the request is not successful. In these cases you must rely on the events
returned to determine if the request was ultimately successful.
In general, those requests that immediately return specific information can be relied upon
as being correct at that point in time. For example, a MakeCall() request returns the
EDU ID of the outbound call that was created. Once you have this EDU ID you know that
an outbound call was created successfully.
Requests that perform an action without returning information must be judged in terms of
the events that follow. For example, if there is an incoming call and you submit an
Answer() to respond, one of these scenarios may result:
the Answer() request may succeed and the agent will receive a
●
TS.IncomingCall.event.
the Answer() request may fail because the call has ended before the request reaches
●
the telephone switch and the EDU ID no longer exists. You may not know that the
Answer() request did not succeed until some later time.
the Answer() request may succeed at the telephone switch, but the call ends before
●
the TS.IncomingCall.event can be sent, resulting in the EDU ID being invalidated.
Various other race conditions may occur at the Telephony Server or EDU Server to
●
prevent the TS.IncomingCall.event from being issued.
The Answer() request waits in the queue for preceding requests to be issued, and the
●
state changes during this time period.
In all cases, the only real guarantee is receiving the TS.IncomingCall.event. Since a
normal response to an Answer() request cannot guarantee that it actually succeeded,
errors are only returned for syntactical problems with the request, or if Telephony returns
an error. If the call no longer exists at the point that VTel processes the request, it is
ignored.
Note:
Note:
VTel does not return an error when an answer or hangup fails, because the
information may not be correct or useful.
Requests and errors
Issue 2.1 August 2003
27