Signaling API
This page documents the principal application-facing calls used to initialize and operate the SK400VOP signaling module.
Header is authoritative. The declarations in
ippapi.hsupplied with your SK400VOP build are the source of truth for exact types, constants and return-code definitions. This reference explains the intended use of those interfaces.
ippInitMessaging
Initializes the signaling module and applies the application-supplied configuration.
Include
#include "ippapi.h"
Prototype
UInt32 ippInitMessaging(pIPPConfig ipconf, UInt16 proto);
Parameters
| Name | Description |
|---|---|
ipconf | Pointer to the SK400VOP configuration structure. The structure includes registry information and application-provided signaling, network and media callbacks. |
proto | Bitmap identifying the signaling protocol or protocols to initialize. For SIP, use the SIP protocol flag defined by the supplied headers. |
Returns
The function returns ERR_OK on success. Documented error returns include:
OS_ERR_NOTENOUGHMEMIPP_ERR_BAD_PROTOIPP_ERR_BAD_CONFIGIPP_ERR_NETWORK_RESOURCE
Initialize the configuration structure and required callbacks before calling this function.
ippStartMessaging
Starts the signaling processing loop after initialization and, where applicable, registration setup.
Include
#include "ippapi.h"
Prototype
UInt32 ippStartMessaging(void);
Parameters
None.
Returns
ERR_OKOS_ERR_INVALIDTASKID
In the supplied integration model, the messaging loop is long-running. On an operating system it is normally run in a dedicated task or thread. In an OS-less integration it can be the final control-transfer step after initialization.
ippAddCodec
Adds a media codec to the local codec list. Codecs should be added in preference order.
Include
#include "ippapi.h"
Prototype
void ippAddCodec(
UInt8 mediaType,
UInt8 payloadType,
UInt32 clockRate,
UInt8 numChan,
char *encodingName
);
Parameters
| Name | Description |
|---|---|
mediaType | Media type, for example MT_AUDIO or MT_VIDEO. |
payloadType | RTP payload type. |
clockRate | RTP clock rate associated with the payload type. |
numChan | Number of channels associated with the payload type. |
encodingName | RTP encoding name associated with the payload type. |
Returns
None.
ippRegister
Starts the registration process for configured registries using the requested refresh interval.
Include
#include "ippapi.h"
Prototype
void ippRegister(UInt32 refreshTime);
Parameters
| Name | Description |
|---|---|
refreshTime | Registration refresh interval in seconds. Use 0 to de-register configured registrations. |
Returns
None.
The reference application treats registration as a blocking setup step and waits for configured registrations to complete before entering the signaling loop.
ippStartCall
Starts a new outgoing call.
Include
#include "ippapi.h"
Prototype
UInt32 ippStartCall(UInt16 proto, UInt32 *context, char *ext);
Parameters
| Name | Description |
|---|---|
proto | Bitmap identifying the signaling protocol to use. |
context | Pointer that receives the call context used to correlate subsequent asynchronous events with this call. |
ext | Destination number or URI expected by the stack. Do not include a sip: or sips: scheme unless the supplied version specifically requires it. |
Returns
The function returns ERR_OK on success. Documented error returns include:
OS_ERR_NOTENOUGHMEMIPP_ERR_BAD_CONFIGIPP_ERR_NO_SESSIONIPP_ERR_BAD_CALLEE_ADDRESSIPP_ERR_NO_RTP_SESSION
Use ippStartCall() rather than directly synthesizing a UI2SIG_EV_NEW event for normal outgoing-call setup.