PREV TOC HOME INDEX NEXT


1.7.13. Send a Non-Call Related ISDN Message

The GCIS_EXID_SNDNONCALLMSG extension ID is supported when using Springware boards only. When using DM3 boards, the GCIS_EXID_SNDNONCALLMSG extension ID is not supported.

The GCIS_EXID_SNDNONCALLMSG extension ID is used to send a non-Call related ISDN message to the network over the D Channel. This extension ID specifies the ISDN CRN Type as either:

Unlike the GCIS_EXID_SNDMSG extension ID, this extension ID does not require a call reference number (CRN) to transmit the outgoing message.

The following table provides the parameter inputs for the gc_Extension( ) function.

Parameter

Input

target_type GCTGT_GCLIB_CHAN
target_id board device handle of the device
ext_id GCIS_EXID_SNDNONCALLMSG
parmblkp set_id - GCIS_SET_GENERIC

parm_id - GCIS_PARM_CRNTYPE


values -

    • GLOBAL CRN
    • NULL CRN

value_type - int


set_id - GCIS_SET_DLINK

parm_id - GCIS_PARM_DLINK_CES


values -

    • 0 for PRI
    • 1-8 for BRI when used as a network-side terminal.

value_type - char


parm_id - GCIS_PARM_DLINK_SAPI


values -

    • 0 for BRI and PRI
    • 16 for X.25 packets over D-channel

value_type - char


set_id - GCIS_SET_SNDMSG

parm_id - GCIS_PARM_SNDMSGTYPE


values -

All protocols:

    • SndMsg_Information
    • SndMsg_Congestion
    • SndMsg_UsrInformation
    • SndMsg_Facility
    • SndMsg_FacilityACK
    • SndMsg_FacilityREJ
    • SndMsg_Notify
    • SndMsg_ServiceAck
    • SndMsg_Status
    • SndMsg_StatusEnquiry
    • SndMsg_GlobalStatus

DPNSS only:

    • SndMsg_Divert
    • SndMsg_Intrude
    • SndMsg_NSI
    • SndMsg_Transfer
    • SndMsg_Transit

Custom BRI 5ESS only:

    • SndMsg_Drop
    • SndMsg_DropAck
    • SndMsg_DropRej
    • SndMsg_Redirect

value_type - int


set_id - GCIS_SET_IE

parm_id - GCIS_PARM_IEDATA


values - user provided

value_type - char array, length should not exceed MAXLEN_IEDATA

mode EV_SYNC

Note: Some IEs may require a Call Reference Value (CRV) to be part of the contents. The call reference in this case, must be the Call Reference Value assigned by the network, not the Call Reference Number (CRN) that is assigned by Global Call and retrieved using the gc_GetCRN( ) function. It is up to the application to correctly format and order the IEs. Refer to the ISDN Recommendation Q.931 or the switch specification of the application's ISDN protocol for the relevant CCITT format.

Example

int extSndNonCallMsg (LINEDEV handle)
{
         GC_PARM_BLKP parm_blkp = NULL, ret_blkp = NULL;
         unsigned long mode;
         int ret_val = 0;
         GC_INFO  t_Info;
         int indicator
         char sapi, ces, ie_data[255];
         int msg;
         unsigned char length; 
         gc_util_insert_parm_val( &parm_blkp, GCIS_SET_GENERIC,
              GCIS_PARM_CRNTYPE, sizeof( int ), GLOBAL_CRN); 
         sapi = 0;
         gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_DLINK,
             GCIS_PARM_DLINK_SAPI, sizeof( char ), &sapi); 
         ces = 1;
         gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_DLINK,
              GCIS_PARM_DLINK_CES, sizeof( char ), &ces);

         msg = SndMsg_Notify;
         gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_SNDMSG,
              GCIS_PARM_SNDMSGTYPE, sizeof( int ), &msg); 
//See previous section on Send a Non-Call State Related ISDN Message
         InitSndMsgBlk (ie_data, msg, &length);
         gc_util_insert_parm_ref( &parm_blkp, GCIS_SET_IE, 
              GCIS_PARM_IEDATA, length, ie_data); 
         mode = EV_SYNC; 
         ret_val = gc_Extension(GCTGT_GCLIB_CHAN, handle,
              GCIS_EXID_SNDNONCALLMSG,
         parm_blkp, &ret_blkp, mode);
         if ( ret_val )
         {
                ret_val = gc_ErrorInfo(&t_Info);
                if (ret_val == GC_SUCCESS) {
                         printf("gc_ErrorInfo() successfully called\n");
                         PrintGC_INFO(&t_Info);
                } else {
                         printf("gc_ErrorInfo() call failed\n");
                }
         }  
        	 	gc_util_delete_parm_blk( ret_blkp );
         gc_util_delete_parm_blk( parm_blkp );
         return ret_val;
} 

PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

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