[Asterisk-Dev] SIP failover using Asterisk and openais

Steven Dake sdake at mvista.com
Wed Sep 28 14:44:14 MST 2005


Fellow developers,

I maintain the open source project openais
http://developer.osdl.org/dev/openais which is an open source version of
the Service Availability Forum's AIS specification.

This implementation provides checkpointing and application failover.
I'd like to create an integration between the SIP channel module and
openais AMF/checkpointing and perhaps have it integrated into the
asterisk source base as a proof of concept of AIS.

The integration would allow multiple servers to maintain an
active/standby the state of all SIP sessions.  Then the active server
for which the IP phone is communicating with would continue to operate
and maintain its session in the event the active server failed.

Would someone be kind enough to point me to the data structures or
functions where the state of a SIP session is recorded.  Is it possible
just to record SIPs state, or does the rest of the asterisk server that
loads the sip module contain state about the SIP session?

In SIP, is an IP phone configured to talk to one specific IP address, or
is there a discovery process to determine the SIP server's ip address?

Finally in do_monitor, I notice there is a ast_sched_wait, followed by
an ast_io_wait.  ast_io_wait appears to dispatch any pending i/o events
as derived from poll.  I need to plug in here with an ast_io_add to add
my "healthchecking" for the SIP server.  My question is with
ast_sched_wait..  Will it timeout immediately if there is I/O waiting?
In other event systems, timers and events are usually integrated..  I'm
not sure how these two work in asterisk by looking at the code.

Thanks for the help

regards
-steve





More information about the asterisk-dev mailing list