Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 129
Dialogic Corporation
IP-Specific Operations
parameter set ID. The first required parameter element specifies the Nonstandard Data itself, and
the second parameter element identifies the type of object identifier to use.
The maximum length of the Global Call parameter used for the Nonstandard Data information is
configured at start-up via the max_parm_data_size field in the IPCCLIB_START_DATA structure.
The default size is 255 (for backwards compatibility), but applications may configure it to be as
large as 4096 bytes. Applications must use the extended gc_util_..._ex( ) functions to insert or
extract any GC_PARM_BLK parameter elements whose data length is defined to be greater than
255.
Note: In practice, applications may not be able to utilize the full maximum length of the nonstandard data
parameter element as configured in max_parm_data_size. The H.323 stack limits the overall size of
messages to be max_parm_data_size + 512 bytes, and any messages that exceed this limit are
truncated without any notification to the application.
The parameter element for the Nonstandard Data data is:
IPSET_NONSTANDARDDATA
IPPARM_NONSTANDARDDATA_DATA
value = Nonstandard Data string, max length = max_parm_data_size (configurable at
library start-up)
The parameter element for the Nonstandard Data identifier is one (and only one) of the following:
IPSET_NONSTANDARDDATA
IPPARM_NONSTANDARDDATA_OBJID
value = array of unsigned integers, max length = MAX_NS_PARM_OBJID_LENGTH
IPSET_NONSTANDARDDATA
IPPARM_H221NONSTANDARD
value = IP_H221NONSTANDARD structure
See Section 9.2.18, “IPSET_NONSTANDARDDATA”, on page 526 for more information.
The following code example shown how to set nonstandard data elements:
IP_H221NONSTANDARD appH221NonStd;
appH221NonStd.country_code = 181;
appH221NonStd.extension = 31;
appH221NonStd.manufacturer_code = 11;
char* pData = "Data String";
char* pOid = "1 22 333 4444";
choiceOfNSData = 1;/* App decides which type of object identifier to use */
/* setting NS Data */
gc_util_insert_parm_ref_ex(&pParmBlock,
IPSET_NONSTANDARDDATA,
IPPARM_NONSTANDARDDATA_DATA,
(unsigned long)(strlen(pData)+1),
pData);