HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
370 HP-UX C SIP Stack Programmer’s Guide
High Availability
HIGH AVAILABILITY The SIP Stack provides a save and restore mechanism that enables the
application to back up calls that have reached the CONNECTED state or
subscriptions in the ACTIVE state. Backing up calls and subscriptions lets
application developers implement redundancy capabilities in their systems,
allowing back-up systems to “take over” when the primary system goes down.
Given that media streams remain active, the backup object (call-leg or
subscription) will not be affected. By using the high availability mechanism, the
application is able to restore a call-leg or subscription transparently to the user.
When storing a connected call-leg or active subscription, all of the call-leg and
subscription parameters are copied into a consecutive buffer. The application
can then save this buffer to a file or any other desired media. This buffer is used
when restoring the backup object.
The SIP Stack provides Call-leg Layer and Subscription Layer API functions to
support the high availability mechanism.
CALL-LEG LAYER The Call-leg Layer API functions which support the high availability
mechanism are as follows:
RvSipCallLegGetConnectedCallStorageSize()—returns the
size of buffer needed for storing all the parameters of a
connected call.
RvSipCallLegStoreConnectedCall—copies all call-leg
parameters from a given call-leg to a given buffer. If the call-
leg holds a list of subscription, only active subscriptions will be
stored. This buffer should be supplied when restoring the call-
leg.
RvSipCallLegRestoreConnectedCall—restores all call-leg
parameters from a given buffer. The call-leg will assume the
CONNECTED state.
RvSipCallLegRestoreOldVersionConnectedCall—to restore a
call that was stored by Stack version 3.0 to a Stack of a newer
version, you have to compile the new Stack with the
RV_SIP_HIGH_AVAL_3_0 compilation flag, and use the
RvSipCallLegRestoreOldVersionConnectedCall() function.
SUBSCRIPTION LAYER The Subscription Layer API functions which support the high availability
mechanism are as follows:
RvSipSubsGetActiveSubsStorageSize—returns the size of
buffer needed for storing all the parameters of an active
subscription.