Dialogic Dialogic Global Call IP IP Phone User Manual


 
/* Handle SIP message information */
case IPSET_SIP_MSGINFO:
ProcessSIPMsgInfo(parmp);
break;
default:
break;
}
}
pParmBlock = (GC_PARM_BLK*)(metaeventp->extevtdatap);
parmp = NULL;
}
// determine type of SIP Message and process accordingly
int CSubNotMgr::ProcessSIPMsg(GC_PARM_DATA *parmp)
{
int MessType=0;
switch (parmp->parm_ID)
{
case IPPARM_MSGTYPE:
{
MessType = (int)(*(parmp->value_buf));
switch (MessType)
{
case IP_MSGTYPE_SIP_SUBSCRIBE:
// process here
break;
case IP_MSGTYPE_SIP_SUBSCRIBE_ACCEPT:
// process here
break;
case IP_MSGTYPE_SIP_SUBSCRIBE_REJECT:
// process here
break;
case IP_MSGTYPE_SIP_SUBSCRIBE_EXPIRE:
// process here
break;
case IP_MSGTYPE_SIP_NOTIFY:
// process here
break;
case IP_MSGTYPE_SIP_NOTIFY_ACCEPT:
// process here
break;
case IP_MSGTYPE_SIP_NOTIFY_REJECT:
// process here
break;
default:
break;
}
break;
}
default:
break;
}
return MessType;
}
// process SIP Msg Info
void CSubNotMgr::ProcessSIPMsgInfo(GC_PARM_DATA *parmp)
{
char requestURI[IP_REQUEST_URI_MAXLEN];
char contactURI[IP_CONTACT_URI_MAXLEN];
char diversionURI[IP_DIVERSION_URI_MAXLEN];
char event[IP_EVENT_HDR_MAXLEN];
char expires[IP_EXPIRES_HDR_MAXLEN];