<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Thinking about it, maybe we can create a solution, if some of us work together:<div><br></div><div>My strength are in virtualization, linux, development, databases, integration, etc.</div><div>What I do not now much about is how SIP (and everything else for that matter in the Voice world) works under the hood, and how it's implemented in FS.</div><div><br></div><div>I know that the state information for a call has to be stored and retrieved somewhere and somehow, only I do not know that part. What I know is that it hast to be do-able to store all the stream information (ip's, port's, current state's, etc.) in a very fast database (e.g. my idea would be memcached) so another FS could just take this information and take over the call, maybe you loose a second of voice, maybe you loose the recorded call file or a part of it, but that should be it. (SipFoundry has a boxed opensource PBX, which, of course is not flexible like FreeSWITCH or Asterisk, but has Call Live Migration and Call Live Failover integrated!).</div><div><br></div><div>What I want is for my company to be able to sell a 99.99 uptime PBX (we do mostly call-center related stuff), which can scale well, and can grow with the company without lot's of hassles, my Dream would be:</div><div><br></div><div>To begin with:&nbsp;</div><div><br></div><div>One Hardware Node with the essential hardware (digium cards for example).</div><div>On this node are OpenVZ virtualized containers:</div><div>[VirtCnt1: FS which only talks to the Hardware and forwards everything] = Could be replaced with hardware media gateway, etc.</div><div>[VirtCnt2: FS which handles the PBX] \___ Loadbalanced, with odbc or xml, Failover, Livetakeover</div><div>[VirtCnt3: FS which handles the PBX] /</div><div>[VirtCnt4: Database for state information] (maybe something as resource-friendly as memcached? ressource heavvy database?)</div><div><br></div><div>With this we can achieve all this:</div><div><br></div><div>Problem with VirtCnt2 (e.g. crash, lock, ...)</div><div>* VirtCnt3 can take over.&nbsp;</div><div>-&gt; You are free without stress to investigate the problem, you can debug and analyze whyle the machine is still running</div><div>-&gt; you can also create a machine-state-dump of the virtual container, dump the container as well, copy the data to your lab and restore the machine up the state which it was running with the problem, so you can liveinvestigate it in the lab (some prerequirements given, but easy doable)</div><div>-&gt; just think about the possibility of better bugreports because someone can take the time to read out all the data with GDB to investigate the proper cause of a machine Lock!</div><div><br></div><div>You want to upgrade to a new FreeSWITCH version?</div><div>* Take VirtCnt2 out of the LoadBalancing Scheme,</div><div>* Stop it, Clone it,&nbsp;</div><div>* Upgrade FreeSWITCH in the cloned Container</div><div>* Start the cloned container</div><div>* if there's something wrong, stop it and restart the original VirtCnt2</div><div>-&gt; No problem at all, you can Test on the Live Hardware, with part of the Live users (maybe a low-volume queue) to be sure everything works out fine before you activate the full loadbalance</div><div><br></div><div>Server on it's own can't handle the load</div><div>* Buy new machine</div><div>* Setup Hardware Node</div><div>* Livemigrate VirtCnt3 (no downtime)&nbsp;</div><div><br></div><div>Now the first Server with the VrtCnt1 and VirtCnt2 as well has to much load</div><div>* Buy new machine</div><div>* Setup Hardware Node</div><div>* Livemigrate VirtCnt2 (no downtime)</div><div>-&gt; Now you have a 3 server solution (1 mediaprox, 2 loadbalanced / failover PBXes) out of the first box you bought, without headaches, because the system was built for it from the beginning!</div><div><br></div><div>The Database drains to much?</div><div>* Buy new machine</div><div>* Setup Hardware Node</div><div>* Livemigrate database VirtCnt4 (no downtime)</div><div><br></div><div>You want to upgrade Hardware/Kernel in Hardware node 1?</div><div>* Livemigrate VirtCnt2 to a hotstandby machine, or to the other PBX machine, upgrade the hardware, Re-Livemigrate the containers. (no downtime)</div><div>* OR just break the loadbalancing, wait until all current calls are teared down correctly, upgrade machine, reenable the loadbalancer</div><div><br></div><div>You want an exact copy of the first server for Hardware HA?</div><div>* Buy new machine</div><div>* Setup Hardware node</div><div>* Buy hardware PRI switchover box</div><div>* Clone VirtCnt1 - VirtCnt4 to the new machine</div><div>* Make basic failover configuration&nbsp;</div><div><br></div><div><br></div><div>-&gt; the sky's the limit, as the saying goes ...</div><div><br></div><div><br></div><div>So, I can do all the openvz stuff and the integration with database / memcached / heartbeat / whatever is needed here, someone there to be willing to work with me on this on the FreeSWITCH side? or at least provide me with the necessary information about what's needed / how to talk / what states from FreeSWITCH?</div><div><br></div><div>I know this seems very ambitious but if this could be made in a rather relativly easy to setup package, with good documentation, it would be a boost for FreeSWITCH, i am sure, because after all this is what everyone is grown accustomed to from good old phone companys and the good old pbx's: carrier grade uptimes ...</div><div><br></div><div>Thanks for everyone reading up until here,</div><div>all the best,</div><div><br></div><div>Ray</div><div><br></div><div><br></div><div><br></div><div><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>--&nbsp;<br>Raimund Sacherer</div><div>-<br>RunSolutions<br>&nbsp;&nbsp;&nbsp;&nbsp;Open Source It Consulting<br>-<br><br>Parc Bit - Centro Empresarial Son Espanyol<br>Edificio Estel - Local 3D<br>07121 - &nbsp;Palma de Mallorca<br>Baleares</div></div></div></span></div></span></div></span></span>
</div>
<br><div><div>On Aug 29, 2009, at 3:17 PM, Raimund Sacherer wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Oh yeah, that would be so helpfull for my situation, as my client *demands* now a solution where he can press a big red button and all fails over to another box. Hi es totally scared because of the Lockups in Asterisk which under specific situations including AMI, Automated Call Setup, and murphy led to a lockup of the entire machine, no console was working anymore, only cold-reset could do it.<div><br></div><div>So, IF there is the possibility for life-takeover, / failover etc. I would love to here how has been done.</div><div><br></div><div>I am very experienced with openvz and use for about two years now only openvz virtualization servers for anything because of live-migration etc. But as I am new in this company we could not adopt this until now.</div><div><br></div><div>So Please Ken, if you can, describe what need's to be done to get a failover / takeover working (an outline would be enough)</div><div><br></div><div>Thanks in Advance<br><div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>--&nbsp;<br>Raimund Sacherer</div><div>-<br>RunSolutions<br>&nbsp;&nbsp;&nbsp;&nbsp;Open Source It Consulting<br>-<br><br>Parc Bit - Centro Empresarial Son Espanyol<br>Edificio Estel - Local 3D<br>07121 - &nbsp;Palma de Mallorca<br>Baleares</div></div></div></span></div></span></div></span></span>
</div>
<br><div><div>On Aug 29, 2009, at 11:58 AM, Steve Kurzeja wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Sat, Aug 29, 2009 at 2:34 PM, Diego Viola <span dir="ltr">&lt;<a href="mailto:diego.viola@gmail.com">diego.viola@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Yes, FreeSWITCH is a system that you can trust 100%. I have switched my Asterisk servers to FreeSWITCH and have peace now.<br><br>If I were you I would get rid of Asterisk and use FreeSWITCH, FS will handle all what you want very well.<br>

<br>And I agree with David, fail-over is kinda irrelevant since the FS doesn't crash like Asterisk does.<br><font color="#888888"><br><br></font></blockquote><div>&nbsp;</div><div>You still have hardware failures and fail-over is also useful for hit-less maintenance on boxes.<br>



<br>


I'd be interested to know how Brian West was approaching his live migration work. <br>

<br>

Steve</div></div>
_______________________________________________<br>FreeSWITCH-users mailing list<br><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br>http://www.freeswitch.org<br></blockquote></div><br></div></div></div>_______________________________________________<br>FreeSWITCH-users mailing list<br><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>http://lists.freeswitch.org/mailman/listinfo/freeswitch-users<br>UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br>http://www.freeswitch.org<br></blockquote></div><br></div></body></html>