5.12. Sending and Receiving ISUP Messages
The gc_SndMsg( ) function can be used to send any ISUP message (for example, facility) that does not alter the call state or circuit state. See Section 4.2.13, gc_SndMsg( ) for more information.
Incoming ISUP messages that trigger Global Call events can be retrieved using the gc_GetSigInfo( ) function. See Section 4.2.5, gc_GetSigInfo( ) for more information.
Global Call can also be used to configure a line device to receive ISUP messages processed by the underlying stack but not recognized by the SS7 call control library. To configure a line device to receive these ISUP messages, use the gc_SetParm( ) function as follows:
GC_PARM t_gcparm; t_gcparm.intvalue = true; gc_SetParm(ldev, GCPR_UNKNOWN_ISUP_MSGS, t_gcparm);When an ISUP message is received on the line device, a GCEV_EXTENSION event with an ext_id of S7_EXT_ISUP_EVENT is generated. The application can retrieve the message parameters using code similar to the following:
void getextevtdata(METAEVENT* a_me_p) { int ext_id = ((EXTENSIONEVTBLK*)(a_me_p->extevtdatap))->ext_id; if (S7_EXT_ISUP_EVENT == ext_id) { GC_PARM_BLKP t_parmblk_p = &(((EXTENSIONEVTBLK*)a_me_p->extevtdatap)->parmblk); GC_PARM_DATAP t_parm_p = gc_util_find_parm(t_parmblk_p, S7SET_ISUP_EVENT, S7PARM_ISUP_EVENT_PARM); if (t_parm_p) { printf(" parm size=%d. 0x...", t_parm_p->value_size); for (int i=0; i < t_parm_p->value_size; ++i) { printf(" %02x", t_parm_p->value_buf[i]); } } } }
Click here to contact Telecom Support Resources
Copyright 2003, Intel Corporation