isdncta (ISDN daemon)

Starts and stops the ISDN protocol stack. Demonstrates:

Once the ISDN protocol stack is started using this program, you can run any other NaturalAccess call control program with ISDN Software.

Featured functions

isdnStartProtocol, isdnStopProtocol

Requirements

Usage

isdncta [options]

where options is one or more of the following:

Option

Description

Default

-a nai

Network access identifier of trunk to use.

0

-g group_#

NFAS group number if multiple CCID is configured.

 

-b board_#

Board number (terminal equipment interface).

Do not use -B if this option is specified.

0

-B board_#

Board number (network terminator interface).

Do not use -b if this option is specified.

0

-I hex_bit

(Optional) Setting for in_calls_behaviour, in hexadecimal. Use to make bit settings required for overlap receiving and/or channel ID setting:

CC_TRANSPARENT_OVERLAP_RCV = 0x0080

CC_SET_CHAN_ID = 0x2000

0x0

-o operator

Network operator variant. Allowed values:

3 = France Telecom VN6
8 = Northern Telecom DMS 100
9 = INS-1500 NTT
11 = EuroISDN
15 = Australian Telecom 1
16 = QSIG
17 = Hong Kong Telephone
20 = US National ISDN 2
23 = AT&T 5ESS10
24 = AT&T 4ESS
25 = Korea
50 = Taiwan
51 = DPNSS

Use EuroISDN (11) and Australian Telecom (15) for the following countries: Austria, Denmark, Finland, Greece, Iceland, Ireland, Italy, Liechtenstein, Luxembourg, Netherlands, Norway, Portugal, Russia, Spain, and Switzerland.

23 (AT&T 5ESS10)

-N hex_bit

(Optional) Setting for ns_behaviour, in hexadecimal. Determines the responses of the NS layer. Use to make bit settings required for allowing sending and receiving of ISDN-specific messages:

NS_ACCEPT_UNKNOWN_FAC_IE =0x0004

NS_IE_RELAY_BEHAVIOUR =0x0010

NS_SEND_USER_CONNECT_ACK =0x0100 (ETSI only)

NS_EXPLICIT_INTERFACE_ID =0x0200

NS_PRESERVE_EXT_BIT_IN_CHAN_ID =0x0400 (DMS only)

0x0

-A hex_bit

(Optional) Setting for acu_behaviour, in hexadecimal. Use to make bit setting required (by ETSI, Q.SIG, and NI2 variants) to enable the stack to forward to the application ISDN-specific messages containing unrecognized facility IEs. See Sending and receiving ISDN-specific messages:

ACU_SEND_UNKNOWN_FACILITY =0x0004

0x0

-O hex_bit

(Optional) Setting for out_calls_behaviour, in hexadecimal. Use to make bit settings required for overlap sending and/or A-law/mu law coding. See Sending and receiving ISDN-specific messages:

CC_USER_SENDING_COMPLETE =0x0002

CC_USE_MU_LAW=0x0010

CC_USE_A_LAW=0x0020

CC_E1_CONTINUOUS_CHANNELS=0x40

CC_E1_CONTINUOUS_CHANNELS_LOGICAL=0x400

CC_SET_CALL_ID_TO_CRV=0x80

CC_USE_PATH_REPLACEMENT=0x100

CC_USE_SINGLE_STEP_TRANSFER=0x800

0x0

-c country

Country. The behavior of a network operator can change depending on the country specified. The default country depends on the operator. Allowed values:

1 = USA
32 = Belgium
33 = France
44 = Great Britain
46 = Sweden
49 = Germany
61 = Australia
81 = Japan
82 = Korea
86 = China
92 = Singapore
52 = Hong Kong
866 = Taiwan
1000 = Europe

Note: Use Europe (1000) for the following countries: Austria, Denmark, Finland, Greece, Iceland, Ireland, Italy, Liechtenstein, Luxembourg, Netherlands, Norway, Portugal, Russia, Spain, and Switzerland.

1 (USA)

-s

Creates the default connections to support ISDN call control. Only necessary if switching is enabled in the board keyword file (such as, Clocking.HBus.ClockMode = MASTER_A, MASTER_B, or SLAVE).

No connections are made. (Assumes switching is disabled.)

-T

t309 option for D channel backup configurations. See the Dialogic® NaturalAccess™ ISDN Software Installation Manual for information on D channel backup.

Disabled.

-h or -?

Display a help screen and terminate the program.

N/A

Functional overview

To enable other NaturalAccess programs to place or receive calls on an ISDN trunk, start the ISDN protocol stack by running isdncta. This program allows you to choose from several ISDN operator variants based on command line options.

When isdncta is launched, it performs the following actions:

Step

Action

1

Parses command line arguments and ensures that all arguments are valid and do not conflict.

2

Initializes NaturalAccess.

3

If the -s option is specified, isdncta makes connections needed to support ISDN call control. (If Clocking.HBus.ClockMode = MASTER_A, MASTER_B, or SLAVE in the configuration file, these connections are made automatically when the board boots.) For more information, see Making switch connections for ISDN Software.

4

If the -g option is specified, isdncta sets ENABLE_MULTIPLE_CCID parameters in the ISDN_PROTOCOL_PARMS_CHANNELIZED structure to enable Multiple CCID configuration, and passes the provided NFAS group number as an extra argument to isdnStartProtocol.

5

Starts the ISDN protocol stack on the board specified on the command line, either as Terminal Equipment (TE) or as Network Equipment (NT), with the specified network operator variant and country variant.

6

Waits for Q to be pressed. When the Q key is pressed, the daemon program stops the ISDN protocol stack and terminates.

Procedure

Complete the following steps to launch isdncta:

Step

Action

1

Set up the configuration file to describe the board and software. For more information, see the Dialogic® NaturalAccess™ ISDN Software Installation Manual.

2

Run oamsys to initialize the hardware and to make the configuration file changes effective.

3

To start the ISDN protocol stack, enter:

isdncta [options]

where options is one or more of the command line options as previously described.

4

Launch another demonstration program.

5

When you have finished, press Q to terminate isdncta.

Compilation

isdncta is supplied in executable form and as source code. If you need to recompile isdncta, do one of the following:

Under this OS...

Go to this directory...

Enter...

Windows

\nms\ctaccess\demos\isdncta

nmake

UNIX

/opt/nms/ctaccess/demos/isdncta

make

For more information, see the ISDN Software readme file.

isdncta structure and coding features

isdncta is based on the NaturalAccess asynchronous programming model. The NaturalAccess function names start with ncc, adi, or cta. For example, nccStartProtocol starts a TCP instance on a context. Other functions in isdncta are found in CTADEMO, a library distributed with NaturalAccess containing examples of how to use the API. CTADEMO functions have names starting with Demo. One example is DemoOpenPort, which opens the NaturalAccess application queue, and then calls another demonstration function to create a context and open services on the new queue. Most CTADEMO functions are wrappers that enclose the corresponding NCC function and wait for an event to terminate the function, signaling whether the function was successful. In this way, they transform an asynchronous wait for an event into a synchronous function.

main function

The main function of isdncta defines the list of NaturalAccess service managers that the application needs. It calls ParseArguments, which parses command line arguments, and assigns the corresponding values to variables. ParseArguments also checks that none of the user options are inconsistent with each other, and sends a warning if it finds a problem.

main registers an error handler with NaturalAccess, calls ctaInitialize to initialize NaturalAccess, and calls MyOpenPort, which uses the demonstration library function DemoOpenPort to open a context.

If the -s option was specified, main calls MyMakeConnection, which uses the NaturalAccess Switching API to make the connections necessary to support Natural Call Control. For more information, see Making switch connections for ISDN Software.

main calls IsdnStart to start the ISDN protocol stack. IsdnStart calls isdnStartProtocol on the open context with the operator and country variant specified on the command line. isdnStartProtocol is started with ISDN_PROTOCOL_CHANNELIZED specified, so it runs in Natural Call Control mode.

main calls WaitForKeyboardEvent. WaitForKeyboardEvent waits for the Q key to be pressed. When the key is pressed, main calls IsdnStop, which calls isdnStopProtocol to stop the ISDN protocol stack. Then the daemon program terminates.