Skip to main content

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.h supplied 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

NameDescription
ipconfPointer to the SK400VOP configuration structure. The structure includes registry information and application-provided signaling, network and media callbacks.
protoBitmap 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_NOTENOUGHMEM
  • IPP_ERR_BAD_PROTO
  • IPP_ERR_BAD_CONFIG
  • IPP_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_OK
  • OS_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

NameDescription
mediaTypeMedia type, for example MT_AUDIO or MT_VIDEO.
payloadTypeRTP payload type.
clockRateRTP clock rate associated with the payload type.
numChanNumber of channels associated with the payload type.
encodingNameRTP 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

NameDescription
refreshTimeRegistration 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

NameDescription
protoBitmap identifying the signaling protocol to use.
contextPointer that receives the call context used to correlate subsequent asynchronous events with this call.
extDestination 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_NOTENOUGHMEM
  • IPP_ERR_BAD_CONFIG
  • IPP_ERR_NO_SESSION
  • IPP_ERR_BAD_CALLEE_ADDRESS
  • IPP_ERR_NO_RTP_SESSION

Use ippStartCall() rather than directly synthesizing a UI2SIG_EV_NEW event for normal outgoing-call setup.