switch (parmp->parm_ID)
{
case IPPARM_REQUEST_URI:
strncpy(requestURI,(char*)parmp->value_buf,parmp->value_size);
requestURI[parmp->value_size]='\0';
break;
case IPPARM_CONTACT_URI:
strncpy(contactURI,(char*)parmp->value_buf,parmp->value_size);
contactURI[parmp->value_size]='\0';
break;
case IPPARM_DIVERSION_URI:
strncpy(diversionURI,(char*)parmp->value_buf,parmp->value_size);
diversionURI[parmp->value_size]='\0';
break;
case IPPARM_EVENT_HDR:
strncpy(event,(char*)parmp->value_buf,parmp->value_size);
event[parmp->value_size]='\0';
break;
case IPPARM_EXPIRES_HDR:
strncpy(expires,(char*)parmp->value_buf,parmp->value_size);
expires[parmp->value_size]='\0';
break;
case IPPARM_CALLID_HDR:
strncpy(m_CurrentCallID,(char*)parmp->value_buf,parmp->value_size);
m_CurrentCallID[parmp->value_size]='\0';
break;
default:
break;
}
}
4.15.3 Receiving SUBSCRIBE Requests
When the SIP stack receives a SIP SUBSCRIBE request, the Dialogic
®
Global Call API library
generates an Extension event of type IPEXTID_RECEIVEMSG. The data associated with this
Extension event contains the following parameter element:
IPSET_MSG_SIP
IPPARM_MSGTYPE
• value = IP_MSGTYPE_SIP_SUBSCRIBE
The application can use the techniques described in Section 4.9.6, “Retrieving SIP Message Header
Fields” to retrieve message header fields of interest, including:
• To display string
• From display string
• Expires header field
• Event header field
• Call-ID header field
If the message has a body, the application can extract the MIME-encoded information using the
techniques described in Section 4.10.3, “Getting MIME Information”.
The application must retrieve the necessary SIP message header and body information by copying
the data into its own buffer before the next call to gc_GetMetaEvent( ). Once the next
gc_GetMetaEvent( ) call is issued, the message information is no longer available from the
metaevent buffer.