An application can send protocol-specific information with almost any function call. This information can include billing rate indications, user-to-user (UUI) information, or anything supported by the protocol. An application can also send protocol-specific line or call messages without invoking a call control function.
Most NCC API functions include a void* pointer that the application can use to reference a protocol-specific parameter structure. In cases where default parameters exist for a function, the application can pass NULL to use the default settings. To learn more about using this pointer with your protocol, see the protocol-specific documentation.
The following functions include the void* pointer:
nccAutomaticTransfer
Two protocol-specific parameter structures can be passed with this function: one contains call placement parameters for the second call; the other contains call transfer parameters.
The NCC API provides two functions that serve as escape mechanisms for sending call and line messages:
|
Use this function... |
To send a... |
From this line state... |
|---|---|---|
|
nccSendCallMessage |
Call message |
Active or idle |
|
nccSendLineMessage |
Line message |
Any line state except uninitialized |
Not all protocols support sending of call messages or line messages using these escape mechanisms. The application can call nccQueryCapability to determine if the protocol supports one and/or the other. The NCC_CAP_SEND_CALL_MESSAGE bit in the capabilitymask indicates if the application can use nccSendCallMessage. NCC_CAP_SEND_LINE_MESSAGE indicates if the application can use nccSendLineMessage.
The application cannot use these mechanisms to specify a call or line message that causes a call or line state change as a result of successful message delivery.