/* Insert Body Size */
gc_util_insert_parm_val(&pParmBlockB,
IPSET_MIME,
IPPARM_MIME_PART_BODY_SIZE,
sizeof(unsigned long),
strlen(pBody));
/* Insert MIME part Body Pointer */
gc_util_insert_parm_val(&pParmBlockB,
IPSET_MIME,
IPPARM_MIME_PART_BODY,
sizeof(unsigned long),
(unsigned long)pBody);
/* Insert other header fields */
gc_util_insert_parm_ref_ex(&pParmBlockB,
IPSET_MIME,
IPPARM_MIME_PART_HEADER,
(unsigned long)(strlen(pPartHeader1) + ),
pPartHeader1);
/* Insert other header fields */
gc_util_insert_parm_ref_ex(&pParmBlockB,
IPSET_MIME,
IPPARM_MIME_PART_HEADER,
(unsigned long)(strlen(pPartHeader2) + 1),
pPartHeader2);
/* Insert parm block B pointer to parm block A */
gc_util_insert_parm_val(&pParmBlockA,
IPSET_MIME,
IPPARM_MIME_PART,
sizeof(unsigned long),
(unsigned long)pParmBlockB;
/* Set Call Information */
gc_SetUserInfo(GCTGT_GCLIB_CHAN, ldev, pParmBlockA, GC_SINGLECALL);
gc_util_delete_parm_blk(pParmBlockB);
gc_util_delete_parm_blk(pParmBlockA);
.
.
.
/* Make a call */
gc_MakeCall(ldev, &crn, NULL, &gcmkbl, MakeCallTimeout, EV_ASYNC);
4.10.5 MIME Error Conditions
When using the SIP MIME feature, any of the following conditions causes the Global Call function
to return an error with the last error set to IPERR_BAD_PARAM:
• A Global Call function attempts to set MIME information when the SIP MIME feature was not
enabled by setting IP_SIP_MIME_ENABLE in the IP_VIRTBOARD structure at initialization
time.
• The application attempts to set MIME information with the MIME body part size larger than
the MIME memory buffer size that was configured during initialization.
• The total size of MIME parts is greater than 1500 bytes when using UDP.