Before starting a CAS protocol, the application must initialize NaturalAccess and obtain context handles. The TCP parameters are automatically loaded during initialization. For information about initializing NaturalAccess and obtaining context handles, refer to the Dialogic® NaturalAccess™ Software Developer’s Manual.
This topic provides the following information:
When a context is open and the TCP parameters are loaded, the application can start a protocol on that context according to the loaded parameters (see Configuring TCPs). Invoke nccStartProtocol to start a TCP. After a TCP is 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 during system initialization. The configuration utility downloads all TCPs specified in the board keyword file. For more information about the board keyword file, see Configuring the boards.
nccStartProtocol requires a TCP name as one of its arguments. CAS TCPs include:
Protocol |
TCP name |
---|---|
Analog loop start |
lps0 |
Australian P2 |
ap20 |
EL7 |
el70 |
European digital CAS |
euc0 |
Feature group D |
fgd0 |
Digital ground start |
gds0 |
MELCAS |
mel0 |
MF-Socotel |
mfs0 |
Multi-frequency compelled R2 |
mfc0 |
NEC PBX |
nec0 |
Off-premises station |
ops0 |
Operator workstation |
sta0 |
Pulsed E and M |
eam0 |
Signaling system 5 |
ss50 |
System R1.5 (inbound calls) |
r150 |
System R1.5 (outbound calls) |
r151 |
Wink start (digital and analog) |
wnkx (x=0,1) |
After the application calls nccStartProtocol, it receives NCCEVN_STARTPROTOCOL_DONE. If the TCP is started successfully, the event value field contains CTA_REASON_FINISHED. Otherwise, the value field contains a reason code that describes the error that occurred.
If your application terminates, all channels associated with the application are terminated, the TCP shuts down, and the bit pattern specified in the IdleCode statement in the board keyword file is signaled on the line.
On AG boards, DSP functions started by the TCP (for example, DTMF detection) cannot be active while calls are in the connected state. For this reason, when calling nccStartProtocol, the value of the NCC API parameter mediamask (in the NCC.X.ADI_START_PARMS structure) must be set to 0.
If mediamask is not set to 0, the TCP does not start and the application receives the NCCEVN_STARTPROTOCOL_DONE event with the reason NCC_REASON_OUT_OF_RESOURCES. The application must then set mediamask to zero before starting the protocol again.
For information about NCC.X.ADI_START parameters, refer to NCC call control parameters.
For information about managing DSP resources on CG boards, refer to the appropriate board installation manual.