[VoiceOps] Load balancing
John Todd
jtodd at loligo.com
Sat Nov 7 13:20:50 EST 2009
On Nov 7, 2009, at 12:36 AM, Simon Woodhead wrote:
> RTP failover is a different story and different vendors do it
> different ways. JT, I don't agree with you (for once!) that there is a
> massive amount of data to sync; all a slave system needs to know is
> the RTP ports on which it can expect to receive traffic and bridge
> details. The commercial solutions we've looked at work on mac address
> assumption (not IP address) and a slave can be a slave for many
> masters as it is not actually handling full RTP for the master. It
> isn't in FreeSwitch but I wouldn't expect it to be the challenge it is
> perceived as being if someone has the motivation to tackle it. I agree
> though, the VM based FT solutions are packet-by-packet mirrors so
> there would be a lot to sync but who would run media on a VM anyway?!
>
> All the best,
> Simon
Simon -
Perhaps if all you're talking about is a load balancing system for
RTP which doesn't terminate or transcode, then possibly RTP failover
is "easier". And I can see how that could be done - it's fairly
complex, but not implausible. So I suppose I'm wrong in saying it's
that difficult in reference to the original question, which was (I
believe) for a really simple load balancing solution for RTP. Maybe
even "mediaproxy" (or mediaproxy 2.0) could get an extension that
supported this type of synchronization; it seems to be the lightest-
weight solution out there currently.
In my world (the B2BUA/application server world) the state of media
needs to be kept, since things like RTP sequence numbers,
jitterbuffer, RTCP stats, RFC2833 sequence status, and all of the
"ugly details" need to be recorded do a truly fault-tolerant
replication. This doesn't even touch the other things like
application state, database calls for upper-layer call handling, CDR
synchronization, and other stuff higher up the model.
Lots of people run media on a VM. Twilio, for example, bases its
business on that architecture. Almost every voice app that runs on
cloud computing infrastructure will be terminating RTP on a VM - it
doesn't make sense just to relay media _through_ a VM when it's far
more efficient to do point-to-point RTP. So that kind of narrows down
the audience using VMs as people who are probably using them to
terminate/originate RTP. You're thinking "service provider/ITSP" and
I'm talking about "application provider." Application providers or
even transcoders require a lot more state-keeping to minimize the
transition disruption between two physical systems in the event of a
failure - it's difficult. The problem is that there are constantly
blurring layers unless you're doing strictly transport.
JT
More information about the VoiceOps
mailing list