scale that sip out - kamailio · goals »ability to add capacity quickly »scale out instead of up...
TRANSCRIPT
Scale that SIP Out
Erik Davidson Gary Kramlich
About Corvisa» Based in Milwaukee» Carrier-class network» Enterprise telephony software
› PBX› Inbound and Outbound Contact Center› Softphone› Smart phone apps
» Summit PaaS› Powered by FreeSWITCH› We handle config, maintenance, hosting, scaling› Tools for testing, debugging, simulating apps› Stop by our table for a demo!
Goals» Ability to add capacity quickly» Scale out instead of up» Multiple data centers» Redundancy within/between data centers» Global view of call state» Run our SIP stack the same as our other
applications
Mesoshttp://mesos.apache.org/
» Basis of our application infrastructure» Pools multiple servers into a single resource
pool» Docker containers can be schedule to run
using some of the pooled resources
Kamailiohttp://www.kamailio.org
» FAST!» Active developer community» Very configurable» Modular for adding features
Cassandrahttp://cassandra.apache.org
» Subscriber data» Registration data» Channel history
Node Types
Load Balancer» Edge layer of the topology» Uses a static IP for SBC to connect to» Lightweight, does limited processing» No access to Cassandra
Dispatcher» Workhorse node» Receives traffic from Load Balancer nodes» Sends traffic to other nodes based on SIP
method and other factors» Authenticates INVITEs» Logs SIP dialogs
Registrar» Authenticates REGISTER requests» Saves location information on successful
REGISTER
Media» Handles media streams» FreeSWITCH node
Outbound» Uses registration data to determine
destination for outgoing INVITEs» Exists so internal infrastructure doesn’t need
to know where subscribers are registered from
How does it all fit together?
Data Center
INVITE Flow
Service Discovery
Deploying Nodes» Manual time consuming process» Ties up many resources» Requires address management» Requires monitoring
What if we could make it easier...
What the heck just happened?!?!
Carna» Supervises Kamailio and Freeswitch» Publishes connection details to ZooKeeper» Updates the Kamailio Dispatcher database
with the details in ZooKeeper
Carna Wiring / Flow
Questions?