Dialogic Dialogic Global Call IP IP Phone User Manual


 
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 Section 9.2.13, “IPSET_MSG_H245”, on page 523 and Section 9.2.18,
“IPSET_NONSTANDARDDATA”, on page 526 for more information.
.
.
.
/* 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);