High availability for BroadWorks SIPREC recording
High availability and automatic failover for SIPREC interface is based on two technologies:
- DNS SRV for automatic failover (requires Broadworks R22+)
- MiaRec call replication
How it works
BroadWorks platform supports DNS SRV records for SIPREC interface. This allows building of the following configurations:
- Multiple recording servers and split SIPREC traffic between them (load balancing)
- Multiple recording servers with automatic failover from a primary server to a secondary one.
- A combination of above two variants.
MiaRec supports automatic call replication between two or more recording servers. Audio file and call metadata is automatically uploaded to replication target server(s) upon call completion or by schedule (for example, at night).
Example of DNS SVR records
# _service._proto.name. TTL class SRV priority weight port target.
_sip._tcp.example.com. 86400 IN SRV 10 40 5060 miarec1.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 30 5060 miarec2.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 30 5060 miarec3.example.com.
_sip._tcp.example.com. 86400 IN SRV 20 0 5060 miarec4.example.com.
The first three records share a priority of 10, so the weight field’s value will be used by BroadWorks to determine which recording server to contact. The sum of all three values is 100, so “miarec1” will be used 40% of the time. The remaining two hosts “miarec2” and “miarec3” will be used for 30% of requests each. If “miarec1” is unavailable, these two remaining servers will share the load equally, since they will each be selected 50% of the time.
If all three servers with a priority of 10 are unavailable, the records with the next lowest priority value will be chosen, which is “miarec4”. This might be a machine in another physical location, presumably not vulnerable to anything that would cause the first three servers to become unavailable.
Limitations:
- The load balancing provided by SRV records is inherently limited, since the information is essentially static. Current load of servers is not taken into account.
- In case of failover from one server to another, the currently active recordings on the failed server are interrupted. A new recording server will handle only new SIPREC requests.
Check also: MiaRec automatic replication