[Serusers] Carrier-grade framework for SER

Andreas Granig andreas.granig at inode.info
Wed Jan 19 11:58:59 CET 2005


Hi guys,

I'd like to propose another possibility for a highly-available and 
scalable system design based on SER:

The problems I've encountered for scalable systems are:
- Distribution of the user location and alias location among the nodes
   (user location is based on registrations, alias location comes from
   web interfaces and is used for call forwarding).
- Reloading up to date location tables after breakdown and recovery of a
   node

So I'm just thinking loud about the following provisioning system:

- Write a client which fulfills the this demands:

   - Receive one or more locations from SER via a SER module or from a
     web application and distribute them to other
     known clients. Take care of retransmissions if a client isn't
     reachable or reports a temporary failure.

   - Receive one or more locations from other clients and write
     them into the SER FIFO. If writing into the FIFO fails, try to
     write directly into the database (location-table, alias-table etc.).
     Report a temporary failure if this also fails.

Maybe a centralized server should be used which receives the locations 
from the clients and distributes them to other clients, so that the 
nodes just know about the server and nothing about other nodes. This 
would make integration of new nodes easy.
On the other hand, it's another single point of failure, so a 
decentralized solution should be considered. But that would mean that 
you've to inform every node about the existence of a new node.

The protocol used between the nodes should be simple and fast. So I 
think SOAP drops out here. Maybe XMLRPC or ICE 
(http://www.zeroc.com/ice.html) could be used.

One might think now why not just use replication on SIP layer, but 
t_replicate only supports one peer and you've no possibility to get 
locations on a node while it's down. Replication of other location 
tables like the alias-table is also not possible.


I'd be willing to release these parts as GPL for creating an open 
framework for carrier-grade SER integration, so any feedback, 
improvements or flames are highly welcome.

Cheers,
Andy




More information about the sr-users mailing list