Well, our network has perhaps a dozen gateways. The configuration isn't too terrible, we've used the C macro-preprocessor to help. Here is one of our gateway configurations:
------start------ #include "sercommon.pre"
/* customize for this server */ #define DOMAIN named.com #define LISTENIP 198.212.169.13 #define NATIP 198.212.169.253 #define VMHOSTPORT vm.named.com:5060 #define DBURL "sql://named.com@db-myaugust.august.net:5432/myaugust"
/* this is the top section, common to all ser servers */ #include "sertop.pre" /* this is the custom proxy server */ #include "sergatewayob.pre" ------------stop-----------------
That's the entire thing. If you know C you can imagine how this expands out. This particular file is the same for all gateways. I can update one 'include' file and regenerate all of the ser.cfg files. The file that gets generated with this configuration is 125745 characters in size.
Included in the output is failure routes, voice mail routes, accounting, etc.. You can go a long way with a few #ifdefs.
As far as adding new gateways without restarting, can you use the enum facility? You can also determine the route of a call by executing an external process, I think it's called exec_dset, this will allow you to update an external routing database without restarting ser.
You can have another ser gateway in the loop which selects the active gateway. This way you could fire up another ser instance, switch your ser selector gateway to the new instance, then wait for 30 seconds or so for the transactions to die on the old ser...the only problem I would see here is if you have 'registrations', but if it is strictly a routing instance of ser this wouldn't be a problem.
I would be interested in participating in a routing database project, but I believe a good chunk of the work is already done. A simple module to select a route is all that is necessary.
---greg
On Jul 13, 2004, at 2:45 PM, Andres wrote:
Is there any existing facilities of using metrics based on Quality and Cost, and also allowing for route failover? Also, if we have new (for example) pstn gateways coming on to our network, how can we add these routes without restarting ser?
There isn't anything designed yet but a module that reads routes (and failure routes) from a DB would be a wonderful addition to SER. If we can all chip in a little maybe someone can code it. The current ser.cfg approach is completely impractical for a large network. Just imagine a network with 20 Gateways...100 Gateways...
-- Andres Network Admin http://www.telesip.net
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Greg Fausak www.AddaBrand.com (US) 469-546-1265