dangerous demo, metaswitch tadsummit 2015, paul drew
TRANSCRIPT
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 1
PROJECT CLEARWATER
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 2
Project Clearwater – Architecture
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 3
Sprout – SIP Routing
Much of the I-CSCF, S-CSCF and BGCF processing happens within Sprout
Written in C/C++ for performance Leverages existing, widely used open-source SIP stack
Uses memcached for storing registration state in memory In memory cache Provides redundancy State available to all Sprout nodes Fast Proven (Youtube, Wikipedia, Wordpress, LiveJournal
…)
Failure of Sprout node leaves all current registrations and calls in place Sprout nodes are transaction stateful, not dialog stateful
Have experimented with memcached alternatives E.g. Infinispan for elastic scalability Ended up sticking with memcached and building elastic
scalability on top
Sprout(CSCF + TAS + BGCF)
Couchbase
Sprout(CSCF + TAS + BGCF)
Couchbase
Sprout(SIP Router)
memcached
Sprout
SIP Routing
Reg state storage
memcached
SIP Routing
Reg state storage
memcached
SIP Routing
Registration State Store
memcached
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 4
Bono – Edge Processing
Provides basic P-CSCF with: NAT traversal WebRTC-SIP gateway (Not full P-CSCF or SBC replacement)
Shares codebase with Sprout C/C++ for performance Leverages open source SIP stack
When operating in IMS core only mode Bono not required
When operating in P-CSCF/NAT handling mode, calls/registrations anchored to specific Bono node
UEUE
Bono(P-CSCF, WebRTC,
Load balancing)
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 5
Homestead – HSS Interface/Subscriber Store
Operates in two modes: Part of I/S-CSCF, interfacing with external HSS Standalone Subscriber Store
Acts as a RESTful HTTP server Reads subscriber data from HSS Stores long-lived S-CSCF data Optimized for read speed
Written in C++, with Python provisioning Uses Cassandra distributed database
Database distributed across all Homestead nodes, providing redundancy Linearly and elastically scalable Proven (YouTube, eBay, Twitter, Netflix)
Homestead failures do not affect transactions or dialogs
Homer(XDMS)
Cassandra
Homer(XDMS)
Cassandra
Homestead (Subscriber
storage)
Cassandra
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 6
Ralf – Charging Trigger Function (CTF)
Monitors calls for charging and generates Rf events Acts as a RESTful HTTP server
Receives call information from bono/sprout Stores in-progress call data in memcached Generates Rf ACRs
Written in C++ Uses Memcached (like sprout) Also uses Chronos (distributed timer store) Ralf failures do not affect transactions or dialogs
Homer(XDMS)
Cassandra
Homer(XDMS)
Cassandra
Ralf(Rf CTF)
Memcached
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 7
Scaling Demo
Metaswitch Networks | Proprietary and confidential | © 2014 |
ClearwaterAPI AS
IMS Core
ZabbixMonitoring
Sipp load generator
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 8
Scaling Demo
Deployed on Amazon EC-2 Using Canonical Juju as orchestrator Project Clearwater as IMS Core Sipp running SIP traffic to load system
Ramps up to 40K BHCA 30 second calls
Zabbix monitoring CPU load on Sprout Nodes Load measure is average number of processes queued Trigger set at >5
When trigger hit Zabbix instructs JuJu to create new Sprout node Sprout node instantiated and added to DNS to share load
Takes about 20 - 30 mins total – we will come back
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 9
TO FIND OUT MORE ABOUT CLEARWATER
Project Clearwater Website http://www.projectclearwater.org
Clearwater wiki http://clearwater.readthedocs.org/en/stable/
Clearwater Mailing List http://lists.projectclearwater.org/mailman/listinfo/
clearwater_lists.projectclearwater.org
Clearwater Core http://www.metaswitch.com/resources/clearwater-core-ims-in-the-cloud-
datasheet
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 10
CLEARWATERCloud Optimized IMS