Load balancing with signalling and voice separation


Is it in anyway possible to register on one asterisk and send only the voice
to another one?

I am asking this because it would be nice to have a primary
asterisk that would take care of the signaling and load balance the
voice to others. When the asterisk that has the voice dies, the end point
does not have to register, call drops, but he is still ready for next call
that would use another asterisk for the voice.

I know Nortel does that with their CS1000E; registrations are sent
to a signalling server which can host several thousands registrations
and voice is sent to different gateways, and it’s all on SIP.

The ideal setup for me would me some kind of Dundi setup, for
different asterisk “signalling” servers, that would send the voice to some asterisk “gateways”, this using a realtime setup.

I however noticed that Dundi is not compatible with realtime (at least in 2007 it wasn’t), but anyway it would be nice to know if we could achieve
some sort of setup like this as I guess that’s the way to put some
load on!

Is reinvite the way to go?

Any comments or suggestions are very well welcomed.

Cheers to all,

I believe there may be better open source solutions for this purpose, but with Asterisk, it is possible to return a redirect, rather than routing the call, and it is possible to allow re-invites, so that the signalling path remains in Asterisk, but the speech patch bypasses it.

Thanks for the answer David.

You are right, there are better open source products out there, but I am not sure if they can do both IAX2 and SIP, that’s my problem as well…

Is it then enough to reinvite=yes?
I guess with this method, on a traditional setup, the chosen asterisk is
based on your dialplan; if you dial _9X, it will jump to server A but if you dial _8X, it will jump to server B.

But, I think it would work anyway including some special treatment in the “proxy” dialplan, kind of round robin, thus distributing the calls evenly to servers A and B.

Server A and B would then need the same diaplan to reach all final destinations (_8X and _9X). Am I missing something or it looks like it would work that way?

I guess Dundi would also be mandatory here to let all asterisks know that a user is registered or not.