Dialogic Dialogic Global Call IP IP Phone User Manual


 
The following code snippet illustrates how an application constructs and sends a SUBSCRIBE
request.
void CSubNotMgr::SendSIPSubscribe (char* pRequestURI,
char* pTo,
char* pFrom,
char* pExpire,
char* pEvent,
char* pCallID)
{
char str[MAX_STRING_SIZE];
sprintf(str, "<--- Sending SIP SUBSCRIBE\n");
printandlog(ALL_DEVICES, MISC, NULL, str, 0);
GC_PARM_BLKP parmblkp = NULL; // input parameter block pointer
GC_PARM_BLKP retblkp = NULL; // return parameter block
GC_INFO gc_error_info; // GlobalCall error information data
int retval = GC_SUCCESS;
gc_util_insert_parm_val(&parmblkp,
IPSET_MSG_SIP,
IPPARM_MSGTYPE,
sizeof(int),
IP_MSGTYPE_SIP_SUBSCRIBE);
// Insert SIP request URI field
if (pRequestURI)
{
gc_util_insert_parm_ref_ex(&parmblkp,
IPSET_SIP_MSGINFO,
IPPARM_REQUEST_URI,
(unsigned long)(strlen(pRequestURI)),
pRequestURI);
}
// Insert SIP To field
if (pTo)
{
gc_util_insert_parm_ref_ex(&parmblkp,
IPSET_SIP_MSGINFO,
IPPARM_TO_DISPLAY,
(unsigned long)(strlen(pTo)),
pTo);
}
// Insert SIP From field
if (pFrom)
{
gc_util_insert_parm_ref_ex(&parmblkp,
IPSET_SIP_MSGINFO,
IPPARM_FROM_DISPLAY,
(unsigned long)(strlen(pFrom)),
pFrom);
}
// Insert SIP Expire field
if (pExpire)
{
gc_util_insert_parm_ref_ex(&parmblkp,
IPSET_SIP_MSGINFO,
IPPARM_EXPIRES_HDR,
(unsigned long)(strlen(pExpire)),
pExpire);
}