Table of Contents Index NMS Glossary Previous Page Next Page Version


Chapter 2

NMS ISDN Programming Model


2.1 Introduction
2.2 Natural Access Environment
2.2.1 Natural Access Components
2.3 NMS ISDN Application Overview
2.3.1 Initializing the Boards
2.4 Receiving ISDN Events

2.1 IntroductionTop of Page

This chapter:

2.2 Natural Access EnvironmentTop of Page

An NMS ISDN for Natural Call Control application is built primarily on the Natural Access platform. This section provides background information about Natural Access and summarizes the main elements of the Natural Access environment. You must have Natural Access installed on your system to build applications using NMS ISDN.

For more detailed information about Natural Access, see the Natural Access Developer's Reference Manual.

2.2.1 Natural Access ComponentsTop of Page

Natural Access telephony functions are subdivided into groups of logically related functions, called services. Each service has a standard API.

A context organizes services and accompanying resources around a single processing context. A context usually represents an application instance controlling a single telephone call. A service may only be opened once on a context.

An event queue is the communication path from a service to an application. A service generates events indicating certain conditions or state changes. An application retrieves the events from the event queue.

2.3 NMS ISDN Application OverviewTop of Page

An NMS ISDN application typically performs the following tasks:
chap2a.gif

Figure 5. NMS ISDN Application Flowchart


The following is a summary of the tasks pictured in Figure 5:
In this phase...

The application...

Initialize Natural Access

· Makes switch connections to route D channel data to the HDLC controller, and to route B channel information to DSP resources (if necessary).

· Initializes Natural Access services, and creates one context for each B channel. The application also creates a dummy context for each D channel.

Initialize NMS ISDN Protocol Stack

· Invokes isdnStartProtocol to start up an ISDN protocol stack instance on each dummy context.

Initialize TCP

· Uses nccStartProtocol or adiStartProtocol to start a Trunk Control Program (TCP) on each B channel context, loading country specific parameters if necessary.

Establish Call

· Uses NCC or ADI service call control functions to place outgoing calls and/or receive incoming calls.

Perform Tasks

· Uses functions from Natural Access, Natural Media, or other APIs to play or record voice, generate or detect DTMF tones, send and receive faxes, and other tasks.

Disconnect Call

· Uses NCC or ADI service call control functions to disconnect and release the call. The application then establishes another call, or:

Stop Protocol Stack

· Invokes isdnStopProtocol to stop the ISDN protocol stack.

2.3.1 Initializing the BoardsTop of Page

Before you can run an NMS ISDN application, you must initialize and load DSP files, Trunk Control Programs (TCPs) and protocol stack runfiles to your board(s). The items to load to the boards are specified in a configuration file.

To load the components to your boards, run oamsys, the board initialization and monitoring utility. (For versions prior to Natural Access 4.0, use agmon.) This utility reads the configuration file and sets up your boards as described in the configuration file. To learn how to create configuration files, see the NMS ISDN Installation Manual. To learn how to use oamsys, see the NMS OAM System User's Manual.

2.4 Receiving ISDN EventsTop of Page

All messages and events from the NMS ISDN protocol stack are presented to the application through the standard Natural Access event handling mechanism, along with standard Natural Access events and any events specific to Natural Access extensions. They arrive in the form of the standard CTA_EVENT data structure. (For more information about Natural Access events, refer to the Natural Access Developer's Reference Manual.)
All events from...

Are prefixed with...

NMS ISDN

ISDNEVN_ (for example, ISDNEVN_SOMETHING_HAPPENED)

NCC service

NCCEVN_

ADI service

ADIEVN_

Natural Access

CTAEVN_

To receive these events, a Natural Access application can invoke ctaWaitEvent.

Some call-control-related Natural Access events are unsolicited: they can occur at any time, regardless of the application's current activities. Usually, unsolicited events indicate that something has happened on the trunk. These events are summarized in Section 4.4.2, Unsolicited Events.

Note that the eventmask parameter dictates whether certain informational call control events are generated. This parameter is found in a different structure depending upon which call control service you are using:
Service

Structure containing eventmask parameter

Documented in

NCC

NCC_START_PARMS

Natural Call Control Service Developer's Reference Manual

ADI

ADI_CALLCTL_PARMS

ADI Service Developer's Manual



Table of Contents Index NMS Glossary Previous Page Next Page Version


Want to send us feedback on our documentation? Email: Tech_Pubs@nmss.com
Copyright © 2001, Natural MicroSystems, Inc. All rights reserved.