Dialogic Dialogic Global Call IP IP Phone User Manual


 
284
Dialogic Corporation
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");
termapp();
}
frc = gc_util_insert_parm_val(&pParmBlock,
IPSET_PROTOCOL,
IPPARM_PROTOCOL_BITMASK,
sizeof(char),
IP_PROTOCOL_H323); /*can be H323, SIP or Both*/
if (frc != GC_SUCCESS)
{
printf("failed in IPSET_PROTOCOL\n");
termapp();
}
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)
{
printf("gc_Start() failed: Unable to retrieve error value\n");
}
else
{
gc_ResultMsg(LIBID_GC, (long) gc_error, &resultmsg);
printf("gc_ReqService() failed: gc_error=0x%X: %s\n", gc_error, resultmsg);
gc_ResultMsg(cclibid, cc_error, &resultmsg);
gc_CCLibIDToName(cclibid, &lib_name);
printf("%s library had error 0x%lx - %s\n", lib_name, cc_error, resultmsg);
}
gc_util_delete_parm_blk(pParmBlock);
exit(0);
}
printf("Unregister request to the GK was sent ...\n");
printf("the application will not be able to make calls !!! so it will EXIT\n");
gc_util_delete_parm_blk(pParmBlock);
return;
}
4.22.5 Gatekeeper Registration Failure (H.323)
Gatekeeper registration can fail for any one of several reasons, such as disconnecting the network
cable, a network topology change that result in the loss of all paths to the Gatekeeper, a Gatekeeper
failure, or a Gatekeeper shutdown. Terminals may not be immediately aware of the registration
failure unless a RAS registration is attempted when the cable is disconnected, in which case the
transaction fails immediately because of a socket bind failure. More typically, a RAS registration