Stack allocation parameters are configurable in the IPCCLIB_START_DATA structure used by the gc_Start( ) function. The parameters are configurable on a virtual board basis. Since the underlying call control library now supports both the H.323 and SIP protocols, parameters are included for each protocol. The parameters include:
Refer to the IP_VIRTBOARD data structure description in the Global Call IP Technology User's Guide for a complete description of the structure. The following code example shows how to specify stack allocation parameters for a NIC with one address. The bold text shows the most relevant lines of code:
#define BOARDS_NUM 1
/* initialize start parameters */
IPCCLIB_START_DATA cclibStartData;
memset(&cclibStartData,0,sizeof(IPCCLIB_START_DATA));
IP_VIRTBOARD virtBoards[BOARDS_NUM];
memset(virtBoards,0,sizeof(IP_VIRTBOARD)*BOARDS_NUM);
cclibStartData.version = 0x0100; // must be set to 0x0100
cclibStartData.delimiter = ',';
cclibStartData.num_boards = BOARDS_NUM;
cclibStartData.board_list = virtBoards;
virtBoards[0].total_max_calls = IP_CFG_MAX_AVAILABLE_CALLS;
virtBoards[0].h323_max_calls = IP_CFG_MAX_AVAILABLE_CALLS;
virtBoards[0].sip_max_calls = IP_CFG_MAX_AVAILABLE_CALLS;
virtBoards[0].localIP.ip_ver = IPVER4; // must be set to IPVER4
virtBoards[0].localIP.u_ipaddr.ipv4 = IP_CFG_DEFAULT;
virtBoards[0].h323_signaling_port = IP_CFG_DEFAULT;
virtBoards[0].sip_signaling_port = IP_CFG_DEFAULT;
virtBoards[0].reserved = NULL; // must be set to NULL
CCLIB_START_STRUCT cclibStartStruct[] = {
{"GC_IPM_LIB", NULL},
{"GC_H3R_LIB", &cclibStartData}
};
GC_START_STRUCT gcStartStruct;
gcStartStruct.cclib_list = cclibStartStruct;
gcStartStruct.num_cclibs = 2;
int rc = gc_Start(&gcStartStruct);
if(GC_SUCCESS != rc)
{
// handle the error
}
Click here to contact Telecom Support Resources
Copyright 2002, Intel Corporation