Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

KazooCon 2014 - Deploying Kazoo Globally


Published on

Dayton Turner, CEO of Voxter talks about how to deploy Kazoo globally.

Published in: Technology
  • Login to see the comments

KazooCon 2014 - Deploying Kazoo Globally

  1. 1. Deploying Kazoo Globally Dayton Turner, Founder + CEO, Voxter KazooCon 2014
  2. 2. Overview •Who are we, and how do we use Kazoo? •Challenges in managing a global Network •How Kazoo makes that easier, and how we work with it globally (zones and clusters!) •Contributions to Kazoo •Demos!
  3. 3. Who are we? What do we do? •Helping customers make better decisions since 2005 •Canadian, eh! •Using Kazoo for 3-ish years, after building a very similar stack, finding Kazoo, and realizing Kazoo was had stronger architectural design •Selling Hosted PBX to businesses, and helping integrators and other technology companies sell VoIP without as much derp-ery.
  4. 4. Custom GUI / 3rd Party Integrations • Integrate with the likes of: •Dyn, NSone, Freshbooks, Beanstream,, SugarCRM, etc. •Built a custom GUI for managing reseller-level accounts •Network-wide DID Manager, “Macro-based” account/extension additions •WebRTC Phone •We built a provisioner, too.
  5. 5. Where we exist • International POPs: •Vancouver, BC •San Jose, CA •Toronto, ON •Miami, FL •Dominica •London, UK •Tokyo, JP is next!
  6. 6. What we’ve learned along the way • Internationalization •General Architecture, Routing, Internationalization (language, time, tones, numbering), Business (Rating, pricing, etc) •Availability •Zones, Clusters, DNS, Backups, Replication •Operations • Monitoring, Alerting, Logging, Scaling, and managing globally (sup, API, GUIs)
  7. 7. Internationalization •E911, DID ownership can be challenging (and different everywhere) •Tone Zones, Time Zones, Language Settings, e.164 formatting is important and requires attention •Routing inside of an international Kazoo cluster may not behave as you expect – DNS is important! • International call rating, invoicing, pricing has its own challenges. Currency, “local calling areas”, taxes, oh my!
  8. 8. Availability •Zones: Use them! They need to be set up properly though. •Clusters: Make sure you can survive on the machines in only that data center •DNS: DNS SRV is your friend. Geo-aware DNS with custom SRV responses is your best friend. •Backups/Replication: Couch is revision based, but a delete is not a revision. Be careful, and have a static backup at the ready
  9. 9. Operations •Monitoring: Diamond, InfluxDB, Graphite-API, Grafana, SUP, Sensu, CrossBar, oh my! •Alerting: Sensu, Pagerduty, even HipChat! •Deployment: Puppet (FW, Auth, OS pkgs, roles) •Logging: rsyslog, logstash, elasticsearch, Kibana •Management Tools: Bash completion for sup!, patches to some whapps for remote phone reboot, community scripts on github
  10. 10. Contributions •Check •Bash completion for sup •SIP check_sync in ecallmgr •Patch to support caller ID prepends with dashes •Patch to have a callflow object to “set” CID • find_account_by_id, check_initial_call, check_initial_registration •BigCouch shard/node updater
  11. 11. Partner/Community Participation • We’re building: •AMI <-> Kazoo Translation Bridge • CNAM Lookup, ”On-net” (Offnet) Kazoo Query Tool Let’s get everyone involved! We’re not competing with each other, we’re competing with the ILECs
  12. 12. Quick Demo of Monitoring/Alerting
  13. 13. Thank you #kazoocon14! Dayton Turner, CEO, Voxter @voxter @daytonturner