Open Source Voip
Happy 2nd week of June to everyone.
We want to remind everyone that on June 19th we will be releasing the ClueCon 2013 schedule on the FreeSWITCH community conference call, so please be there. As an added bonus the whole FreeSWITCH dev team will be on hand and hanging out with the community.
On occasion we like to acknowledge community members who've stepped up and made a difference in a way that benefits the FreeSWITCH project as a whole as well as those who use it. Our friend Call Leeming has been doing a great job of doing triage on the FreeSWITCH bug tracker. In fact, just today he reported on checking five Jira tickets. We appreciate these efforts and we encourage everyone to take a few moments to peruse the open tickets and look for items where they can assist, even if it's merely testing the validity of a bug report. Thank you to everyone who helps out.
After having open community discussions these past few weeks we will have a formal presentation this week by yours truly. In response to numerous requests we have decided to do a demonstration of the CudaTel Communication Server. I will be giving a tour of the CudaTel user interface and we will be glad to answer questions. I think you will be impressed with the hard work that the core FreeSWITCH team has put into building the CudaTel.
We look forward to talking to you on Wednesday.
Whew, the first part of this year has really gone quickly. We want to take some time out to reflect on the stuff we’ve discussed over the last few weeks and to talk about where the Expert Q&A is going from here.Recap
The first Q&A session we did was on Virtualization. This is a huge topic, but we focused on Virtual Machine Timing because that has such a big impact on communications applications. Lots of great stuff in this Q&A featuring our friends from Voxeo and PSSC Labs.
The second Q&A session we did was on Faxing. Again, another huge topic but we decided to go after Faxing because it impacts almost all of our clients. What was really interesting to me about this was the idea that the delimiter in faxing is silence, as opposed to most IP protocols where signaling comes from packets. It’s very clever and I encourage you to dive into this presentation, it’s Jam Packed!
The third Q&A session we did was on Provisioning. We think the industry can do better when it comes to provisioning. There isn’t one provisioner that handles all handsets, but there should be, and that’s what we’re working on at 2600hz. This Q&A presentation explains why this is such a hard thing to do and how our team is solving this problem. This presentation features Andrew Nagy of Provisioner.net fame!
The third Q&A session we did was on Database. Could we have picked a more massive topic? Maybe, but we decided to focus critically on Layer 1 Failures and Network Partitions, which are some of the biggest issues operationally for distributed systems. Featuring Sam Bisbee from Cloudant, we dive headfirst into a TON of content on Databases. This one is not to be missed, it’s a great deck and a ton of awesome commentary. (The image at the top of this email is about Zombie, Flapping Datacenters, which have to be removed from the cluster).
First up we’ve got two more Awesome Q&A sessions scheduled. The one Next Friday, the 14th of June is on Session Border Controllers! If you can’t tell the difference between an SBC and a Firewall, this is the presentation for you.
Two weeks after that we’re covering DTMF! Ever wonder where those tones on your phone came from? We’re going to give you the answers.
If you want to resell 2600hz, we have two great trainings coming up. The first one is this Friday, the 7th of June and the second one is two weeks later on Friday, the 21st of June.
Last but not least, our sales team just got a new shiny 800 #. Ring them at:
Thanks, and we look forward to bringing you tons of new content. Be on the lookout for an announcement of our API Trainings which should be starting later this month or early next!
How Squirrels break Datacenters and other Database Conjectures
This Q&A presentation was influenced by Kyle Kingsbury’s work on Jepsen, an exploration of modern databases. If you haven’t seen his work and you like this stuff, you should go check it out. It’s awesome.
We just did our Epic Database Expert Q&A featuring Sam Bisbee of Cloudant and Darren Schreiber of 2600hz. We covered a range of topics but focused on these three kinds of failures:
- Network Partitions
- Layer 1 Disasters
- Flapping Internet (Special Class of Network Partitions)
All public networks are unreliable; such is the reality of modern distributed database management (and let’s face it, because of AWS we’re all managing distributed databases, whether we like it or not). Sometimes, when these unreliable networks break down, a partition can form. These partitions, depending on your database configuration, can wreak havoc across a wide gamut of scenarios.
Arguably, most of what a database admin does is prepare for network partitions and how to resolve them.
-Joshua Goldbard, 2600hz
Yes, modern databases run fairly well when they’re not in a failure state, but, frankly, the only thing that matters is the failure state. During a partition, it’s important to understand your database behavior, which can vary wildly. At 2600hz, we leverage BigCouch which is a Master-Master replication strategy with Dynamo Quorum(PPT LINK). What that means in plain English is that every node is a master node and it uses consistent hashing to redistribute the load in the event of a partition.
The best advice we can give here is to know the failure modes and behavior of your database and understand the partition realities of the software.
-Darren Schreiber, 2600hz
Layer 1 Disasters
Hurricanes, Earthquakes or Squirrels? Squirrels eating glass. Squirrels caught in HVAC units. Squirrels tampering with Power lines. All of these are examples of Layer 1 Disasters, but we only think about the really massive outages, not the unexpected ones that effect critical infrastructure.
Darren, the 2600hz CEO, has a lot of experience managing Datacenters. Here’s a quick story from back-in-the-day about managing racks in a DC:
Once upon a time a Datacenter vendor decided to give my company a couple of months notice that they were going to 10x our rates. They assumed we couldn’t migrate out of that Datacenter easily, and they were right. Because we were cheap, we did everything ourselves, which meant loading the racks into a pickup truck by hand that we drove in the rain to another Datacenter. Not my definition of Fun.
-Darren Schreiber, 2600hz
Contrast that with our experience during Sandy, when we were using BigCouch:
On the day before the storm, we just turned off the Datacenter. That was it.
We can evade storms, earthquakes and Squirrels because of Cloudant.
-Darren Schreiber, 2600hz
If a Datacenter gets into a Layer 1 issue, we just kill it and move on. When the disaster is mitigated we bring the service back up, but losing an entire DC (or even multiiple DCs) is not an issue because of our database choice.
Protip: If you can’t predict disasters, have a plan to avoid them.
It is up or is it down? Flapping internet is a special case of the Network Partition. Basically, a flapping connection is one that goes down, then comes up, then goes down; this is actually worse than a server going hard down because of the reconciliation process that happens when the networks reconnect. We’ve got one answer for this and one only: Zombie Servers get Double Tapped.
Basically, if a DataCenter is flapping, it’s better to just disconnect that datacenter manually until it can be confirmed as restored. There’s no easy way to say this, Flapping is one of those scenarios that requires manual intervention. If the DC is flapping you have to take it out or you may never get back online.
Protip: If it flaps, Double Tap.
Darren chose to use the last few minutes to pontificate about how ridiculous life was before BigCouch. There was a point very early on where we simply could not get BigCouch to work and we thought we might have to fold the company. Thanks to incredible support from the Cloudant team, we got everything working and the rest is history.
It’s night and day. We just don’t spend any time on the database anymore… We just don’t have problems with the Software.
-Darren Schreiber, 2600hz
Sam chose to talk about right reliability, specifically in the way in which other systems buffer writes and respond to concerns about right availability.
There are a lot of other databases out there that will reply “Write confirmed” when you buffer the write, NOT when it actually commits to disk. The practical effect of this is that if the disk dies before the write moves out of the buffer, you’re missing writes, which is death to a database.
Durable databases write to disk and confirm, they don’t just buffer. Databases that buffer can be very dangerous depending on the workload.
-Sam Bisbee, Cloudant
We had a blast doing this presentation with Cloudant and we can’t wait for the next Q&A Session on Border Controllers in two weeks. Click here to join us!
Two weeks after that, we’re going to discuss DTMF and how all of that nonsense works in VoIP. Register for free here:
Lastly, if you’d like to talk to our friends at Cloudant, check them out at Cloudant.com or in IRC on Freenode in channel #Cloudant.
Thanks so much for checking out our Q&A. If this all sounds like it’s too much work, you should call our Sales team at 8554642600 or firstname.lastname@example.org. We power some of the biggest infrastructures on the planet and we’d love to talk about how we can help your business eliminate the pains of operating communications infrastructure :).
Database Expert Q&A from 2600hz and Cloudant
When Darren isn’t busy working on stuff in the guts of the world’s biggest Telecom Infrastructures, he’s helping to write books about FreeSWITCH with the epic FreeSWITCH team. Their latest work is available now!
You can buy the book here: http://www.packtpub.com/freeswitch-1-2/book
Learn more about FreeSWITCH by checking out their site: http://freeswitch.org
Thanks for letting us be a part of such an awesome open-source project!!
Happy Tuesday to you all! It is a short week for us here in the U.S. as yesterday was a national holiday.
The first order of business: I am happy to let you know that Packt Publishing has informed us that the new FreeSWITCH 1.2 book is available as of May 24th! Congrats to the FreeSWITCH team for getting yet another book ublished. This is the third one we've done with Packt. Also, many thanks to all those who spent time answering questions and helping us with the technical reviewing process.
With the new book completed we focus our attention on other things, not the least of which is ClueCon 2013. Starting this week, those who've submitted talk proposals will be receiving the official acceptance of their presentations, including the day and time for the presentation. If you have not already submitted a talk proposal please do so right away as we have a limited number of available speaking slots.
Our weekly conference calls have been lively with discussions on various topics suggested by those calling in. On last week's call we had a particularly nice discussion about mod_skinny. A relatively new community member, Nathan Neulinger, has really done a nice job of picking up the torch for mod_skinny. If you have a need to use Cisco phones with FreeSWITCH using SCCP then definitely listen to last week's discussion.
This week we have Martin from the VoIPMonitor.org project. We look forward to learning more about VoIPMonitor and how it can help us with keeping tabs on our VoIP servers.
Have a great week!