PREV TOC HOME INDEX NEXT


2.17.1. ISDN Setup Messages

ISDN Setup messages vary in complexity depending on the calling scenarios and the network service selections. A minimum requirement for an ISDN setup message is three mandatory call information elements (IE): channel number (time slot number), destination number (digits), and bearer capability (characteristics of the channel). The first two elements tell the network which channel to use and the destination of the call. The third element tells the network the path for routing the call. More complex calling scenarios require the definition of additional information elements (IEs) in the SETUP message.

The GC_MAKECALL_BLK associated with the gc_MakeCall( ) function and the gc_SetInfoElem( ) function provide developers with the ability to set call IEs for both simple and complex calling scenarios.

Using the GC_MAKECALL_BLK Structure

The GC_MAKECALL_BLK structure contains two pointers to structures that can be used to define SETUP message information.

When using Springware boards, the following options are available:

Notes:
1. You can set IEs in gclib and set cclib to NULL or you can set IEs in cclib and set gclib to NULL.
2. When using DM3 boards, if both the cclib and gclib pointers are set, the gclib pointer is ignored.

Certain information required to fill in the GC_MAKECALL_BLK structure can only be provided by your ISDN service provider. When using the GC_MAKECALL_BLK structure, all entries must be initialized. See Section 5.3, GC_MAKECALL_BLK.

Note: Because ISDN services vary with switches and provisioning plans, a set of default standards cannot be set for the GC_MAKECALL_BLK structure. Therefore, it is up to the application to fill in the applicable MAKECALL_BLK values that apply to the particular provisioning. See Section 5.3, GC_MAKECALL_BLK.

Table 11 shows the parameters that can be included in the GC_MAKECALL_BLK associated with the gc_MakeCall( ) function.

Table 11. Call Setup Parameters When Using gc_MakeCall( ) 

Parameter

Level

Description

BC_XFER_CAP chan Bearer channel information transfer capacity. Possible values are: BEAR_CAP_SPEECH - speech BEAR_CAP_UNREST_DIG - unrestricted data BEAR_CAP_REST_DIG - restricted data
BC_XFER_MODE chan Bearer channel information transfer mode. Possible values are: ISDN_ITM_CIRCUIT - circuit switch
BC_XFER_RATE chan Bearer channel information transfer rate. Possible values are: BEAR_RATE_64KBPS - 64K bps transfer rate
USRINFO_LAYER1_ PROTOCOL chan Layer 1 protocol to use on bearer channel. Possible values are: ISDN_UIL1_CCITTV110 - CCITT standardized rate adaptation V.110/X.30 ISDN_UIL1_G711ULAW - Recommendation G.711 m-Law ISDN_UIL1_G711ALAW - Recommendation G.711 a-Law ISDN_UIL1_CCITTV120 - CCITT standardized rate adaptation V.120 ISDN_UIL1_CCITTX31 - CCITT standardized rate adaptation X.31 HDLC ISDN_UIL1_G721ADCPM - Recommendation G.721 32 kbits/s ADCPM and Recommendation I.460 ISDN_UIL1_G722G725 - Recommendation G.722 and G.725 - 7kHz audio ISDN_UIL1_H261 - Recommendation H.261 - 384 kbits/s video ISDN_UIL1_NONCCITT - Non-CCITT standardized rate adaptation ISDN_UIL1_CCITTV120 - CCITT standardized rate adaptation V.120 ISDN_UIL1_CCITTX31 - CCITT standardized rate adaptation X.31 HDLC ISDN_UIL1_CCITTV110 - CCITT standardized rate adaptation V.110/X.30 ISDN_UIL1_G711ULAW - Recommendation G.711 m-Law ISDN_UIL1_G711ALAW - Recommendation G.711 a-Law
USRINFO_LAYER1_ PROTOCOL (continued) chan ISDN_UIL1_G721ADCPM - Recommendation G.721 32 kbits/s ADCPM and Recommendation I.460 ISDN_UIL1_G722G725 - Recommendation G.722 and G.725 - 7kHz audio ISDN_UIL1_H261 - Recommendation H.261 - 384 kbits/s video ISDN_UIL1_NONCCITT - Non-CCITT
USR_RATE chan User rate to use on bearer channel (layer 1 rate). Possible values are: ISDN_UR_EINI460 - Determined by E bits in I.460 ISDN_UR_56000 - 56 kbits, V.6 ISDN_UR_64000 - 64 kbits, X.1 ISDN_UR_134 - 134.5 bits, X.1 ISDN_UR_12000 - 12 kbits, V.6
CALLED_NUM_TYPE chan Called party number type. Possible values are: EN_BLOC_NUMBER - number is sent en-block (in whole - not overlap sending) INTL_NUMBER - international number for international call. Check with service provider to see if your subscription allows international calls. NAT_NUMBER - national number for call within national numbering plan (accepted by most networks) LOC_NUMBER - subscriber number for a local call. Check with service provider to see if your subscription allows local calls. OVERLAP_NUMBER - overlap sending - number is not sent in whole (not available on all networks).
CALLED_NUM_PLAN chan Called party number plan. Possible values are: UNKNOWN_NUMB_PLAN - unknown plan ISDN_NUMB_PLAN - ISDN/telephony (E.164/E.163) (accepted by most networks) TELEPHONY_NUMB_PLAN - telephony numbering plan PRIVATE_NUMB_PLAN - private numbering plan
CALLING_NUM_TYPE chan Calling party number type. Possible values are: EN_BLOC_NUMBER - number is sent en-block (in whole - not overlap sending) INTL_NUMBER - international number for international call. Check with service provider to see if your subscription allows international calls. NAT_NUMBER - national number for call within national numbering plan (accepted by most networks) LOC_NUMBER - subscriber number for a local call. Check with service provider to see if your subscription allows local calls. OVERLAP_NUMBER - overlap sending - number is not sent in whole (not available on all networks).
CALLING_NUM_PLAN chan Calling party number plan. Possible values are: UNKNOWN_NUMB_PLAN - unknown plan ISDN_NUMB_PLAN - ISDN/telephony (E.164/E.163) (accepted by most networks) TELEPHONY_NUMB_PLAN - telephony numbering plan PRIVATE_NUMB_PLAN - private numbering plan
Not supported on DM3 boards. Use the gc_SetInfoElem( ) function instead.

The gc_SetParm( ) function can also be used to specify call setup parameters. See Section 2.32, gc_SetParm( ) for more information.

Using the gc_SetInfoElem( ) Function

Not all optional IEs can be set using the GC_MAKECALL_BLK structure. When additional IEs are to be added to the setup message (or to other messages), then the gc_SetInfoElem( ) function is used in combination with the GC_MAKECALL_BLK structure.

The format used in the gc_SetInfoElem( ) function must conform to CCITT IE defined formats. The following example illustrates using the gc_SetInfoElem( ) function in this manner.

#include <windows.h>             /* For Windows applications only */
#include <stdio.h>
#include <errno.h>
#include <signal.h>
#include "srllib.h"
#include "dtilib.h"
#include "gcisdn.h" 
/* Global variables */ 
LINEDEV        lbuf;
CRN            crn_buf;
unsigned long mode = EV_ASYNC;        /* Mode = Asynchronous */ 
void InitIEBlk (IE_BLK  *ie_blk_ptr)
   {
      IE_BLK_PTR -> length  =    6;   /* 6 bytes of data */ 
      /* The first IE */
      ie_blk_ptr -> data [0]= 0x78;   /* IE type=78(TRANSIT NETWORK SELECTION) */
      ie_blk_ptr -> data [1]= 0x04;   /* the length of NOTIFY */
      ie_blk_ptr -> data [2]= 0xA1;   /* National network & carrier ID */ 
      /* The second IE  */
      ie_blk_ptr -> data [3]= 0x32;   /* IE type=28 (DISPLAY) */
      ie_blk_ptr -> data [4]= 0x38;   /* length of DISPLAY */
      ie_blk_ptr -> data [5]= 0x38;   /* caller name displayed */
   }; 
void main()
{
   int rc;
   char *devname = ":N_dtiB1T1:P_isdn";
   IE_BLK  ie_blk; 
/* open the device */ 
   if (( rc = gc_Open(&lbuf, devname, 0)) < 0) 
      {
         printf("%s: ERROR %d: Unable to open\n",devname,rc);
         exit(1);
      }
.
.
.
/* Application set up 'TRANSIT NETWORK SELECTION' by using
   gc_SetInfoElem() function call.  Initialize TNS IE first.
*/ 
   /* setting up the TNS IE */ 
   InitIEBlk(&ie_blk); 
   if ((rc = gc_SetInfoElem(lbuf, &ie_blk)) < 0) 
      {
         printf("%s: ERROR %d: Unable to set info element\n",devname,rc);
         exit (1);
      } 
   if (rc = gc_MakeCall(lbuf, &crn_buf, "1234567", NULL, 0, EV_ASYNC) == -1)
      {         printf("%s: ERROR %d: Unable to make call\n",devname,rc);
         exit (1);
      }
      .
      .
      .
} 

The gc_SetParm( ) function can also be used to set call setup parameters. See for more information.


PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

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