Dialogic Dialogic Global Call IP IP Phone User Manual


 
282
Dialogic Corporation
int boardUnregisterH323(IN char protocol)
{
GC_PARM_BLKP pParmBlock = NULL;
unsigned long serviceID = 1;
int rc,frc;
int gc_error; // GC error code
int cclibid; // Call Control library ID for gc_ErrorValue
long cc_error; // Call Controll library error code
char *resultmsg; // String associated with cause code
char *lib_name; // Library name for cclibid
if (protocol != IP_PROTOCOL_H323 && protocol != IP_PROTOCOL_SIP)
{
printf("failed bad protocol identifier.\n");
return GC_ERROR;
}
gc_util_insert_parm_val (&pParmBlock,
IPSET_REG_INFO,
IPPARM_OPERATION_DEREGISTER,
sizeof(unsigned char),
IP_REG_DELETE_ALL);
frc = gc_util_insert_parm_val(&pParmBlock,
GCSET_SERVREQ,
PARM_REQTYPE,
sizeof(unsigned char),
IP_REQTYPE_REGISTRATION);
if (frc != GC_SUCCESS)
{
printf("failed in PARM_REQTYPE\n");
return GC_ERROR;
}
frc = gc_util_insert_parm_val(&pParmBlock,
GCSET_SERVREQ,
PARM_ACK,
sizeof(unsigned char),
1);
if (frc != GC_SUCCESS)
{
printf("failed in PARM_ACK\n");
return GC_ERROR;
}
frc = gc_util_insert_parm_val(&pParmBlock,
IPSET_PROTOCOL,
IPPARM_PROTOCOL_BITMASK,
sizeof(char),
protocol); /* can be H323 or SIP */
if (frc != GC_SUCCESS)
{
printf("failed in IPSET_PROTOCOL\n");
return GC_ERROR;
}
rc = gc_ReqService(GCTGT_CCLIB_NETIF,
brddev,
&serviceID,
pParmBlock,
NULL,
EV_ASYNC);
if ( GC_SUCCESS != rc)
{
printf("gc_ReqService failed while unregestering\n");
if (gc_ErrorValue(&gc_error, &cclibid, &cc_error) != GC_SUCCESS)
{