LanScape VOIP Media Engine
INCOMING_CALL_INITIALIZED_DATA
The INCOMING_CALL_INITIALIZED_DATA
structure defines the information an application will receive when
it processes the SipIncomingCallInitialized
immediate event. The primary goal of having your application process the
SipIncomingCallInitialized
event is to terminate an incoming call before the VOIP Media Engine starts
its incoming call processing.
Another use for this event is that you can access the RAW received SIP
INVITE message.
typedef struct
{
char *pReceivedSipInvite;
BOOL TerminateIncomingCall;
BOOL MuteIncomingPhoneRing;
int SipResponseCode;
}INCOMING_CALL_INITIALIZED_DATA;
Members:
pReceivedSipInvite
This is a pointer to a NULL terminated string that contains the received SIP INVITE message for the inbound call.
TerminateIncomingCall
Application software can set this value
to a non zero value to allow the VOIP Media Engine to terminate the incoming
call immediately. If your application wants the VOIP Media Engine to process
the received call as normal, it should set this value to zero (FALSE).
MuteIncomingPhoneRing
If set to non zero, the media engine will
not generate an incoming phone ring even if incoming ring sound is enabled.
SipResponseCode
This is the SIP response code you want your application to return to the far end of the incoming call. Used only when terminating the call. Any one of the following values can be specified:
400 - "Invalid Request"
402 - "Payment Required"
403 - "Forbidden"
404 - "Not Found"
405 - "Method Not Allowed"
406 - "Not Acceptable"
409 - "Conflict"
410 - "Gone"
420 - "Bad Extension"
480 - "Temporarily Unavailable"
481 - "Transaction Does Not Exist"
485 - "Ambiguous"
486 - "Busy Here"
488 - "Not Acceptable Here"
493 - "Undecipherable"
If you specify any other 4xx value that
is not described above, the VOIP Media Engine will ignore your value and
return 480 to the far end of the call.