PREV TOC HOME INDEX NEXT


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]);
                }
            }
        }
    } 


PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

Copyright 2003, Intel Corporation
All rights reserved
This page generated January, 2003