Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 133
Dialogic Corporation
IP-Specific Operations
By default, Global Call automatically responds with a 486 Busy Here when additional incoming
call requests arrive after the maximum number of SIP calls per virtual board has been reached. A
480 Temporarily Unavailable or 600 Busy Everywhere reason code can be used instead of the 486
Busy Here if the application explicitly configures the busy code.
To configure the SIP busy reason code, call gc_SetConfigData( ) with a GC_PARM_BLK that
contains the following parameter element:
IPSET_SIP_RESPONSE_CODE
IPPARM_BUSY_REASON
Possible values:
IPEC_SIPReasonStatus480TemporarilyUnavailable
IPEC_SIPReasonStatus486BusyHere (default)
IPEC_SIPReasonStatus600BusyEverywhere
The following code snippet illustrates how to configure the SIP busy code:
#include "gclib.h"
.
.
/* configure SIP Busy Reason Code to 480 Temporarily Available */
GC_PARM_BLKP pParmBlock = NULL;
gc_util_set_insert_parm_val(&pParmBlock,
IPSET_SIP_RESPONSE_CODE,
IPPARM_BUSY_REASON,
sizeof(unsigned short),
IPEC_SIPReasonStatus480TemporarilyUnavailable);
gc_SetConfigData(GCTGT_CCLIB_NETIF, board, pParmBlock,
0, GCUPDATE_IMMEDIATE, &t, EV_ASYNC);
gc_util_delete_parm_blk(pParmBlock);
4.4.2.2 Setting H.323 Busy Code
ITU Recommendation Q.850 defines cause codes that are used for H.323. Among the applicable
busy cause definitions are:
Cause 34: No circuit/channel available
Indicates there is no appropriate circuit/channel currently available to handle the call.
Cause 47: Resource unavailable/unspecified
Indicates the resource is unavailable when no other cause values in the resource class applies.
To configure the H.323 busy reason code, call gc_SetConfigData( ) with a GC_PARM_BLK that
contains the following parameter element:
IPSET_H323_RESPONSE_CODE
IPPARM_BUSY_CAUSE
Typical values:
IPEC_Q931Cause34NoCircuitChannelAvailable
IPEC_Q931Cause44RequestedCircuitChannelNotAvailable
IPEC_Q931Cause47ResourceUnavailableUnspecified