# Starting ISDN TCP instances

When all ISDN protocol stack instances have been created, the application starts an ISDN TCP instance for each B channel context. Complete the following steps to start a TCP instance:

Step | Action
1 | The NaturalAccess Parameter Management service loads the ISDN Software TCP parameters and default values.
2 | The application modifies the values, if necessary.
3 | The application calls nccStartProtocol to start the TCP instance.

## Loading parameters

When you install ISDN Software, parameter files are installed. The parameters in these files configure the TCP.

Some parameters determine the amplitude, frequency, length and pattern of the busy tone, ring tone, and reorder tone. Since the tones differ from country to country, these parameters are country-specific, and should not be modified. Other parameters determine the service to request when placing an outbound call, the mode the TCP runs in, the channel direction, and the signal sending mask. These parameters can be modified to suit your application.

For information about loading and changing parameters, see ISDN TCP parameters overview.

## Starting a TCP on a context

Once a context is opened and the TCP parameters are loaded, the application starts a TCP on that context using the loaded parameters. Once a TCP has started on a context, the application can use call control functions to place and answer calls on that context.

Note: To start a TCP from within an application, the TCP must have been downloaded to the board at system initialization time. The oamsys program downloads all TCPs specified in the oamsys.cfg file. For information about the configuration file, see the Dialogic® NaturalAccess™ ISDN Software Installation Manual and the Dialogic® NaturalAccess™ OAM System Developer’s Manual.

nccStartProtocol starts a TCP on a context. For ISDN Software call control, protname passed to nccStartProtocol is set to isd0. protstartparms is NULL, so the default TCP parameters are used, loaded as described in ISDN Software parameter files.

When nccStartProtocol is called, NCCEVN_STARTPROTOCOL_DONE is returned. If the TCP is started successfully, the event value field contains CTA_REASON_FINISHED. Otherwise, the value field contains another reason code.