PREV TOC HOME INDEX NEXT


2.16.1. ISDN Setup Messages

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. The user can include optional elements in the setup message by using the cclib element of the MAKECALL_BLK data structure in the gc_MakeCall( ) function.

The cclib field of GC_MAKECALL_BLK must be NULL. The gclib field of GC_MAKECALL_BLK must be set; for details, see Section4.3, GC_MAKECALL_BLK.

The call IEs needed in a setup message are determined by the type and complexity of the application and how calls are made. GlobalCall provides developers the ability to set these parameters using GC_MAKECALL_BLK and the gc_SetInfoElem( ) function. See the following section for a description of each of these choices.

Using the GC_MAKECALL_BLK Structure

The GC_MAKECALL_BLK structure (that is, the cclib element of the gc_MakeCall( ) function's makecallp parameter) is used to set up complicated calling situations or network service selections. 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 Section4.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 Section4.3, GC_MAKECALL_BLK.
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);
      }
      .
      .
      .
}

Table26 lists the parameter selections set by the gc_SetParm( ) function. All valid values are defined in the isdncmd.h header file. The default values appear in bold. If no default value is indicated, you need to set the parameter using the gc_SetParm( ) function or specify the parameter in the MAKECALL_BLK data structure. Unspecified parameters that do not have default values are not included in the setup message.

Table 26. Call Setup Parameters, gc_MakeCall( ) Function 
Parameter Level Description
BC_XFER_CAP chan Bearer channel information transfer capacity
Supported Values:
  • 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
Supported Value:
  • ISDN_ITM_CIRCUIT - circuit switch
BC_XFER_RATE chan Bearer channel information transfer rate
Supported Value:
  • BEAR_RATE_64KBPS - 64K bps transfer rate
USRINFO_LAYER1_ PROTOCOL chan Layer 1 protocol to use on bearer channel
Supported Values:
  • ISDN_UIL1_CCITTV110 - CCITT standardized rate adaptation V.110/X.30
  • ISDN_UIL1_G711ULAW - Recommendation G.711 µ-Law
  • ISDN_UIL1_G711ALAW - Recommendation G.711 a-Law
  • 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
USR_RATE chan User rate to use on bearer channel (layer 1 rate)
Supported Values:
  • 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
Supported Values:
  • 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
Supported Values:
  • 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
Supported Values:
  • Same as CALLED_NUM_TYPE parameter
CALLING_NUM_PLAN chan Calling party number plan
Supported Values:
  • Same as CALLED_NUM_PLAN parameter
CALLING_ PRESENTATION chan Calling presentation indicator
Supported Values:
  • PRESENTATION_ALLOWED - allows the display of the calling number at the remote end
CALLING_SCREENING chan Calling screening indicator field
Supported Values:
  • USER_PROVIDED - user provided, not screened (passes through)
GCPR_MINDIGITS trunk Sets minimum number of DDI digits to collect prior to terminating gc_WaitCall( ). GCPR_MINDIGITS may be set using the gc_SetParm( ) function. This parameter value cannot be retrieved using the gc_GetParm( ) function.
Supported Values:
  • any positive value that indicates the number of digits expected before GCEV_OFFERED is received
RECEIVE_INFO_BUF chan Multiple IE buffer. Sets the size, that is, the number of messages that can be stored in the information queue. The maximum size of the queue is MAX_RECEIVE_INFO_BUF. NOTE: The gc_SetParm( ) function can be called only once in the application to set the RECEIVE_INFO_BUF buffer size. For gc_SetParm( ), the function returns <0 on failure, 0 on success. For gc_GetParm( ), the buffer number is returned.
Supported Values:
  • Any number in the range of 1 to MAX_RECEIVE_INFO_BUF (currently defined as 160)


PREV TOC HOME INDEX NEXT

Click here to contact Dialogic Customer Engineering

Copyright 2001, Dialogic Corporation
All rights reserved
This page generated October, 2001