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.