Dialogic 05-2239-009 User Manual

Page of 604
4.17.1
Nonstandard UII Message (H.245)
To send nonstandard UII messages, use the gc_Extension( ) function in asynchronous mode with 
an ext_id (extension ID) of IPEXTID_SENDMSG. The target_type should be 
GCTGT_GCLIB_CRN and the target_id should be the actual CRN. The GC_PARM_BLK must 
contain parameter elements that identify the message type, the nonstandard data, and the 
nonstandard data identifier. At the sending end, reception of a GCEV_EXTENSIONCMPLT event 
indicates that the message has been sent. 
The parameter element that identifies the message type is: 
IPSET_MSG_H245 
IPPARM_MSGTYPE
value = IP_MSGTYPE_H245_INDICATION 
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
When the Dialogic
®
 Global Call API library receives a nonstandard UII message, it generates a 
GCEV_EXTENSION event with the ext_id value IPEXTID_RECEIVEMSG. The extevtdatap 
field in the METAEVENT structure for the GCEV_EXTENSION event is a pointer to an 
EXTENSIONEVTBLK structure which in turn contains a GC_PARM_BLK that includes all of the 
data in the message. 
See 
.
.
.
/* H245 UII with ObjId and data */
rc = gc_util_insert_parm_val(&t_PrmBlkp, IPSET_MSG_H245, IPPARM_MSGTYPE,
                             sizeof(int), IP_MSGTYPE_H245_INDICATION);
rc = gc_util_insert_parm_ref_ex(&t_PrmBlkp, IPSET_NONSTANDARDDATA,
                                IPPARM_NONSTANDARDDATA_OBJID, ObjLen+1, ObjId);
rc = gc_util_insert_parm_ref_ex(&t_PrmBlkp, IPSET_NONSTANDARDDATA,
                                IPPARM_NONSTANDARDDATA_DATA, DataLen+1, data);