O'Reilly logo

Practical VoIP Using VOCAL by Luan Dang, Cullen Jennings, David Kelly

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Heartbeat Server

The Heartbeat server (HBS) is used by the system to keep track of which servers are up and which are down. Heartbeating refers to a server transmitting regular pulses to a multicast address as a signal to the other servers that it is up.

Transmit Thread

The Transmit thread is the multicast group. Any type of server that uses an HBS sends heartbeat pulses to the multicast group. If a server wants to determine the status of other servers on the network, it polls the Multicast thread regularly. The polling frequency is configurable and set to a default value of 250 milliseconds.

Receiving Heartbeats

The RX thread specifies which servers a particular server listens to for heartbeats. Some servers receive the TX thread without keeping track of which servers are up; other servers listen for heartbeats from specific servers.

Each server has a data container that it uses to match incoming heartbeats. The matching criteria include server type, IP address, and port. Every server receives every multicast heartbeat but throws away those that do not match the list in its data container. If heartbeats are not received for servers listed in the data container, it is assumed that those servers are down.

Housekeeping

Every 250 milliseconds, a heartbeat is received and marked. Housekeeping checks if any anticipated heartbeats fail to appear. The Housekeeping thread flags the counter for missed heartbeats and increments the counter by 1. If the counter matches the maximum missed heartbeat ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required