Hi list I've written a tool that works as a lightweight (standalone - no asterisk) balancer for IAX servers. It's in early development now, but seems to be stable enough and handles couple hundred simultaneous calls with not much latency (SIPp + asterisks tested). It's configurable by listing servers' IPs in iaxproxy-servers file loaded at startup and will keep track of load on each machine. It does balancing not per IAX connection, but per call - rewriting call numbers and keeping track of connection status. It's going to be optimized for speed - doesn't do any other modification or audiostream translation - only message passing. If someone's interested -- code + short doc is available at http://www.gradwell.com/tmp/iax_proxy.tar.gz Development will continue - any opinions / comments / contributions are appreciated. Stanis?aw Pitucha Gradwell Dot Com
----- "Tzafrir Cohen" <tzafrir.cohen at xorcom.com> wrote:> Interesting. One thing thoough: what's the license of your code?It's MIT - I forgot to add that. I'll stick the banners to files soon, with next update to the package. (along with some fixes, etc) Stanis?aw Pitucha Gradwell Dot Com
On Mon, 2007-07-30 at 07:01 -0500, asterisk-users-request at lists.digium.com wrote:> Date: Mon, 30 Jul 2007 12:19:13 +0100 (BST) > From: Stanis?aw Pitucha <stanis at zimbra-1.gradwell.net> > Subject: [asterisk-users] Lightweight IAX balancer > To: asterisk-users at lists.digium.com > Message-ID: > <15000941.18291185794353668.JavaMail.root at zimbra-1.gradwell.net> > Content-Type: text/plain; charset=utf-8 > > Hi list > > I've written a tool that works as a lightweight (standalone - no > asterisk) balancer for IAX servers. It's in early development now, but > seems to be stable enough and handles couple hundred simultaneous > calls with not much latency (SIPp + asterisks tested). > It's configurable by listing servers' IPs in iaxproxy-servers file > loaded at startup and will keep track of load on each machine. > It does balancing not per IAX connection, but per call - rewriting > call numbers and keeping track of connection status. It's going to be > optimized for speed - doesn't do any other modification or audiostream > translation - only message passing. > > If someone's interested -- code + short doc is available at > http://www.gradwell.com/tmp/iax_proxy.tar.gz > > Development will continue - any opinions / comments / contributions > are appreciated.That SW looks like a valuable service. What are the chances you could code it into a module for OpenSER, so OpenSER could deliver both SIP and IAX routing/proxying, without having to rewrite all common parts of OpenSER to deliver its services to SIP? Also, OpenSER/IAX would make calls with mixed IAX/SIP legs easier to manage. And there's probably lots of performance optimization - not to mention deployment optimization.> Stanis?aw Pitucha > Gradwell Dot Com-- (C) Matthew Rubenstein
Very low chances for that module if any. I haven't been using OpenSER much and I don't think I'll be using it soon - but who knows. Let's hope that implementation will be clean enough to turn it into a library easily if someone else wants to do it one day. So far another pack is available at previous link (http://www.gradwell.com/tmp/iax_proxy.tar.gz) with correct license banners (MIT). Plans for near future are: - stability - speed - POKE'ing and automatic dis/en-abling servers for balancing - for now you can reload list at runtime with SIGUSR1 without dropping calls - maybe some proper site for project... so I won't spam this maillist --- Stanis?aw Pitucha Gradwell Dot Com