SlideShare a Scribd company logo
NKSIP 
THE ERLANG SIP APPLICATION SERVER 
1
What is NkSIP? 
An open-source, scalable, easy to use 
and (soon) distributed 
Erlang SIP application server 
2
A bit of background 
Emergency Coordination Centers 
3
Our’s vision 
A communications product you can use as cloud-based, on-premises 
or any combination of local/remote sites and cloud 
providers. 
The only operator’s interface for voice/data/video is the browser. The 
web application connects to any local cluster if available, or directly 
to the cloud if none is up. 
Self-healing, peace of mind, dev-ops friendly. If a node goes down 
in any of the local clusters, there is no hurry in repairing it. Even if the 
full cluster goes down, operators connect automatically to another 
one or directly to the cloud. 
The specific client application should be developed easily, in a few 
months, without special distributed programming abilities. 
4
First approach 
Distributed Erlang/OTP core 
NoSQL Database (CouchDB -> Riak) 
HTML5 client, websockets, WebRTC 
Freeswitch 
5
Erlang / OTP 
Language, environment and best practices developed 
by Ericsson from late 80s 
Building critical, highly available systems 
The secret sauce of WhatsApp, RabbitMQ, Ejabberd, 
Riak, CouchDB… 
Incredible simple (BUT functional) 
Building distributed applications is NOT, even with 
Erlang 
6
Erlang / OTP 
Lightweight concurrency 
Asynchronous communication 
Process isolation 
Continuous evolution of the system 
Errors will happen: ”Let it crash” 
7
Erlang / OTP 
APPLICATION 
SUPERVISOR 
WORKER 
8
Erlang / OTP 
APPLICATION 
SUPERVISOR 
WORKER 
NODE1 NODE2 
9
First approach 
Distributed Erlang/OTP core 
NoSQL Database (CouchDB -> Riak) 
HTML5 client, websockets, WebRTC 
Freeswitch 
10
Freeswitch was not enough 
We need SIP 
OpenSIPS, Kamailio, Mobicents… 
… they don’t really fit. 
11
Another SIP product? 
Existing products are either too complex to integrate into a 
distributed application server (Kamailio, Mobicents) or too 
high-level to fully use all SIP’s potential (Freeswitch, Asterisk). 
SIP is a very complex protocol, but most of this complexity 
has no added-value and should be hidden from the 
developer. On the other hand, SIP concepts are actually easy. 
No product clearly maps SIP concepts to the application. 
Implementing new RFCs is currently a painful process. 
SIP routing is at the very heart of any multimedia solution. 
Wouldn’t it be nice to have full control of it? 
12
NkSIP’s vision 
An open source tool to develop any kind of SIP 
application (NkAPPs), specially focused on highly 
available, distributed and scalable SIP applications. 
Each NkAPP application decides what callback functions 
to implement. Very few for a simple, standard behavior. 
Many of them for fine-tuned or low level behaviors. 
NkSIP takes care of all the details: retransmissions, 
transactions, authentication, dialogs, sessions, etc. 
All SIP applications are similar from NkSIP’s point of 
view: UACs, UASs, proxy servers, B2BUAs, SBCs, load 
testers… why a different box for each one? 
13
NkSIP’s vision 
NkSIP does NOT try to emulate a PBX. No dial plans. No 
extensions. Only pure SIP. You need to now what INVITE and BYE 
means to use NkSIP, but don't need a deep understanding of the 
details. 
Implementing new RFCs should be easy and natural. NkSIP offers 
a rock solid core, written from scratch core to develop distributed, 
highly available and scalable systems. It has a hierarchical plug-in 
system to develop new functionality without having to modify the 
core or other base plugins. 
The Erlang ecosystem is the perfect fit for this kind of product. You 
can run any number of SIP applications on a NkSIP cluster, using 
Erlang but (soon) also using Javascript, Lua, Java, or any other 
language capable of receiving a JSON over a socket connection. 
14
Current features 
Full support for all defined SIP methods: PRACK, INFO, 
UPDATE, SUBSCRIBE, NOTIFY, REFER, PUBLISH and 
MESSAGE, as UAC, UAS and Proxy. 
Registrar and Event State Compositor (using the RAM built-in 
store or any other external database). 
Stateful proxy servers with serial and parallel forking. Stateless 
proxy servers, even using TCP/TLS. 
IPv6 support. NkSIP can connect IPv4-only with IPv6-only hosts. 
Support for NAPTR and SRV location, including priority and 
weights. 
Support for events, reliable provisional responses (100rel), 
session timers, path, service route, outbound and GRUU. 
15
Current features 
Automatic outbound registrations and timed pings. 
Dialog and SDP media start and stop detection. SDP 
processing utilities. 
UDP, TCP, TLS, SCTP and WEBSOCKETS transports, capable 
of handling thousands of simultaneous sessions. 
Robust and highly scalable, using all available processor cores. 
Currently is able to process 10.000 registrations/sec or 4.000 
call setups/sec (INVITE+ACK+BYE) on a 4-core i7 machine. 
A written from scratch, fully typed Erlang code easy to 
understand and extend. Unit tests cover nearly all of the 
functionality. Few external dependencies. 
Hot, on the fly core and application code upgrade. 
16
17
18
Plugin system 
Most complex functionality have been extracted 
into plugins: Registrar, PRACK, Outbound, etc. 
Rich set of callbacks available. 
The core remains simple. 
Each plugin adds API functions and callbacks for 
your application (and other, higher level plugins). 
Each NkAPP can implement a different set of 
plugins. Can even change them on the fly. 
Zero added latency, even with many plugins. 
19
Pending features 
Distribution based on the Dynamo 
model. 
Other languages for NkAPPs (Node.js, 
Lua, Python…) 
More RFCs and Event Packages 
IMS 
20
1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 
Node1 
21 
Ip1 Ip2 Ip3 Ip4 
Router / Gateway
Ip1 Ip2 Ip3 Ip4 
Node1 
Router / Gateway 
Node2 Node3 
22 
1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 
16 17 18 19 20
Ip1 Ip2 Ip3 Ip4 
Node1 
Router / Gateway 
Node2 Node3 
23 
1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 
node2> nksip_admin -join node1 
node3> nksip_admin -join node1
Ip1 Ip4 Ip2 Ip3 
1 4 7 10 13 
16 19 
Node1 
Router / Gateway 
2 5 8 11 14 
17 20 
Node2 
3 6 9 12 15 
18 
Node3 
24
Ip1 Ip4 Ip2 Ip3 
1 4 7 10 13 
16 19 
Node1 
Router / Gateway 
2 5 8 11 14 
17 20 
Node2 
3 6 9 12 15 
18 
Node3 
node2> nksip_admin -remove node1 
25
Ip1 Ip2 Ip3 Ip4 
1 7 13 4 10 16 19 
Node1 
Router / Gateway 
2 5 8 11 14 
17 20 
Node2 
3 6 9 12 15 
18 
Node3 
node1> poweroff 
26
NKCORE 
ERLANG DISTRIBUTED SDN/NFV APPLICATION SERVER 
27
Another application server? 
NkSIP offers a fresh approach to the development of 
applications, and it has very powerful tools, but is focused on SIP. 
However, NkSIP could behave as a generic high-capacity, low-latency 
message processing engine. 
Many concepts and technology solutions from NkSIP are 
applicable to many other protocols: REST, Diameter, MSRP, 
XMPP, DNS, DHCP, Mail, OpenFlow… 
There is no easy to use, fully distributed, heavy-load open source 
application server out there. 
This looks a lot like an SDN/NFV framework! 
28
NkCORE’s vision 
You start any number of control nodes, and install any number of user 
applications (NkAPPs) on the cluster. 
Incoming messages (in a broad sense: SIP, REST request…) are sent to a 
specific control node and triggers the call of specific application callbacks. 
Applications are written using Javascript, Lua, Java, etc. 
Many modules are available, offering tools and semi automatic processing of 
messages: SIP (NkSIP), Web (NkREST), DNS, DHCP, Diameter, 
OpenFlow,etc. Each one adds new callbacks and APIs available to the 
application. Some of them offer additional optional plugins (i.e. event 
support packages for SIP). 
Many common functionality is available: configuration, cluster management, 
distributed database, network transport management, storage, dns, logging, 
authentication, roles, etc. 
29
NkCORE’s vision 
You also start any number of worker nodes. They don’t need to have Erlang, only Docker. 
The NkAPP can program the scheduling of tasks (i.e, 10 instances of Freeswitch, 5 instances of 
a node.js application, etc.), and NkCORE selects the worker nodes and downloads and starts 
and monitors the Docker processes in selected ones. 
Control nodes route specific traffic to any of the workers nodes, and offers network 
functionalities to the application: firewall, load balancer, VPNs, VLANs… (using Openvswitch). 
NkCORE offers easy-to-use APIs for each type of task, and can act as a proxy or B2BUA, 
transparent or not. The application doesn’t even need to know that it is speaking to several 
different instances of the processes. 
We plan to support many common used packages: 
Media servers (Asterisk, Freeswitch…) and XMPP (Ejabberd…) 
NoSQL (Redis, Riak, CouchDB…) and SQL databases (MySQL, PostgreSQL) 
Distributed Storage (Ceph) 
Mail Servers 
… 
30
Control Nodes 
Router / Gateway 
Node.JS Node.JS 
Python 
Node.JS Node.JS 
Erlang Python 
Erlang Erlang 
Routing Routing Routing 
Node.JS Python 
Freeswitch Asterisk 
Node.JS Node.JS 
Python 
Worker Nodes 
Storage Storage 
Docker instances 
Erlang code 
Native code 
31 
NkAPPs 
NkCORE NkCORE NkCORE
32
Expected features 
The applications are in full control not only of the business 
logic, but also of the network, the storage and the related 
processes (data bases, media servers…) 
Hot code loading (NkCORE itself, modules and user 
applications). Hot relocation of external processes. 
NkCORE offers a everything-as-a-service model to the 
applications (Freeswitch, DNS, Riak, …), even in local. Hybrid 
or hierarchical cloud model. Multi-cluster management. 
Allows applications to become highly available and scalable 
very easily. 
33
Thank you 
Carlos González Florido 
https://github.com/kalta/nksip 
carlosj.gf@gmail.com 
@carlosjgf 
34

More Related Content

What's hot

Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPN
Cisco Canada
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
DataStax Academy
 
Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
Daniel-Constantin Mierla
 
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
Safely Protect PostgreSQL Passwords - Tell Others to SCRAMSafely Protect PostgreSQL Passwords - Tell Others to SCRAM
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
Jonathan Katz
 
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
Salesforce Engineering
 
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on KamailioAstricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Crocodile WebRTC SDK and Cloud Signalling Network
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
KwonSun Bae
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
Olle E Johansson
 
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Alessandro Polidori
 
Using Kamailio for Scalability and Security
Using Kamailio for Scalability and SecurityUsing Kamailio for Scalability and Security
Using Kamailio for Scalability and Security
Fred Posner
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
VirtualTech Japan Inc.
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
APNIC
 
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴OpenvSwitchの落とし穴
OpenvSwitchの落とし穴Takashi Naito
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
Daniel-Constantin Mierla
 
How to Intercept a Conversation Held on the Other Side of the Planet
How to Intercept a Conversation Held on the Other Side of the PlanetHow to Intercept a Conversation Held on the Other Side of the Planet
How to Intercept a Conversation Held on the Other Side of the PlanetPositive Hack Days
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介ksk_ha
 
Dockerのネットワークについて
DockerのネットワークについてDockerのネットワークについて
Dockerのネットワークについて
Nobuyuki Matsui
 
Service Function Chaining with SRv6
Service Function Chaining with SRv6Service Function Chaining with SRv6
Service Function Chaining with SRv6
Ahmed AbdelSalam
 
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Fred Posner
 

What's hot (20)

Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPN
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
 
Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
 
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
Safely Protect PostgreSQL Passwords - Tell Others to SCRAMSafely Protect PostgreSQL Passwords - Tell Others to SCRAM
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
 
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
 
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on KamailioAstricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
 
Using Kamailio for Scalability and Security
Using Kamailio for Scalability and SecurityUsing Kamailio for Scalability and Security
Using Kamailio for Scalability and Security
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
 
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴OpenvSwitchの落とし穴
OpenvSwitchの落とし穴
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
 
How to Intercept a Conversation Held on the Other Side of the Planet
How to Intercept a Conversation Held on the Other Side of the PlanetHow to Intercept a Conversation Held on the Other Side of the Planet
How to Intercept a Conversation Held on the Other Side of the Planet
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
 
Dockerのネットワークについて
DockerのネットワークについてDockerのネットワークについて
Dockerのネットワークについて
 
Service Function Chaining with SRv6
Service Function Chaining with SRv6Service Function Chaining with SRv6
Service Function Chaining with SRv6
 
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
 

Similar to NkSIP: The Erlang SIP application server

Practical virtual network functions with Snabb (8th SDN Workshop)
Practical virtual network functions with Snabb (8th SDN Workshop)Practical virtual network functions with Snabb (8th SDN Workshop)
Practical virtual network functions with Snabb (8th SDN Workshop)
Igalia
 
Software Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFVSoftware Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFV
Yoshihiro Nakajima
 
Snabb, a toolkit for building user-space network functions (ES.NOG 20)
Snabb, a toolkit for building user-space network functions (ES.NOG 20)Snabb, a toolkit for building user-space network functions (ES.NOG 20)
Snabb, a toolkit for building user-space network functions (ES.NOG 20)
Igalia
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFV
Ghodhbane Mohamed Amine
 
The Future of Networks is Open...Source
The Future of Networks is Open...SourceThe Future of Networks is Open...Source
The Future of Networks is Open...Source
Francois Duthilleul
 
Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled Cloud
Tesora
 
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini SummitRed hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
kimw001
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
Tim4PreStartup
 
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...Mullaiselvan Mohan
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
Cisco DevNet
 
The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...
OVHcloud
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
Kernel TLV
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
abhijit2511
 
2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers Forum2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers Forum
Shawn Wells
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_AppajiAppaji K
 
Srinivasan resume updated
Srinivasan resume updatedSrinivasan resume updated
Srinivasan resume updated
Srinivasan V N
 
SDN Basics
SDN BasicsSDN Basics
SDN Basics
Nimit Shishodia
 
LAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leaderLAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leader
Linaro
 
Overview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca ArbezzanoOverview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca Arbezzano
Gianluca Arbezzano
 

Similar to NkSIP: The Erlang SIP application server (20)

Practical virtual network functions with Snabb (8th SDN Workshop)
Practical virtual network functions with Snabb (8th SDN Workshop)Practical virtual network functions with Snabb (8th SDN Workshop)
Practical virtual network functions with Snabb (8th SDN Workshop)
 
Software Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFVSoftware Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFV
 
Snabb, a toolkit for building user-space network functions (ES.NOG 20)
Snabb, a toolkit for building user-space network functions (ES.NOG 20)Snabb, a toolkit for building user-space network functions (ES.NOG 20)
Snabb, a toolkit for building user-space network functions (ES.NOG 20)
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFV
 
The Future of Networks is Open...Source
The Future of Networks is Open...SourceThe Future of Networks is Open...Source
The Future of Networks is Open...Source
 
Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled Cloud
 
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini SummitRed hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
 
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
 
The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers Forum2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers Forum
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_Appaji
 
Srinivasan resume updated
Srinivasan resume updatedSrinivasan resume updated
Srinivasan resume updated
 
SDN Basics
SDN BasicsSDN Basics
SDN Basics
 
LAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leaderLAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leader
 
Overview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca ArbezzanoOverview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca Arbezzano
 

Recently uploaded

2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 

Recently uploaded (20)

2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 

NkSIP: The Erlang SIP application server

  • 1. NKSIP THE ERLANG SIP APPLICATION SERVER 1
  • 2. What is NkSIP? An open-source, scalable, easy to use and (soon) distributed Erlang SIP application server 2
  • 3. A bit of background Emergency Coordination Centers 3
  • 4. Our’s vision A communications product you can use as cloud-based, on-premises or any combination of local/remote sites and cloud providers. The only operator’s interface for voice/data/video is the browser. The web application connects to any local cluster if available, or directly to the cloud if none is up. Self-healing, peace of mind, dev-ops friendly. If a node goes down in any of the local clusters, there is no hurry in repairing it. Even if the full cluster goes down, operators connect automatically to another one or directly to the cloud. The specific client application should be developed easily, in a few months, without special distributed programming abilities. 4
  • 5. First approach Distributed Erlang/OTP core NoSQL Database (CouchDB -> Riak) HTML5 client, websockets, WebRTC Freeswitch 5
  • 6. Erlang / OTP Language, environment and best practices developed by Ericsson from late 80s Building critical, highly available systems The secret sauce of WhatsApp, RabbitMQ, Ejabberd, Riak, CouchDB… Incredible simple (BUT functional) Building distributed applications is NOT, even with Erlang 6
  • 7. Erlang / OTP Lightweight concurrency Asynchronous communication Process isolation Continuous evolution of the system Errors will happen: ”Let it crash” 7
  • 8. Erlang / OTP APPLICATION SUPERVISOR WORKER 8
  • 9. Erlang / OTP APPLICATION SUPERVISOR WORKER NODE1 NODE2 9
  • 10. First approach Distributed Erlang/OTP core NoSQL Database (CouchDB -> Riak) HTML5 client, websockets, WebRTC Freeswitch 10
  • 11. Freeswitch was not enough We need SIP OpenSIPS, Kamailio, Mobicents… … they don’t really fit. 11
  • 12. Another SIP product? Existing products are either too complex to integrate into a distributed application server (Kamailio, Mobicents) or too high-level to fully use all SIP’s potential (Freeswitch, Asterisk). SIP is a very complex protocol, but most of this complexity has no added-value and should be hidden from the developer. On the other hand, SIP concepts are actually easy. No product clearly maps SIP concepts to the application. Implementing new RFCs is currently a painful process. SIP routing is at the very heart of any multimedia solution. Wouldn’t it be nice to have full control of it? 12
  • 13. NkSIP’s vision An open source tool to develop any kind of SIP application (NkAPPs), specially focused on highly available, distributed and scalable SIP applications. Each NkAPP application decides what callback functions to implement. Very few for a simple, standard behavior. Many of them for fine-tuned or low level behaviors. NkSIP takes care of all the details: retransmissions, transactions, authentication, dialogs, sessions, etc. All SIP applications are similar from NkSIP’s point of view: UACs, UASs, proxy servers, B2BUAs, SBCs, load testers… why a different box for each one? 13
  • 14. NkSIP’s vision NkSIP does NOT try to emulate a PBX. No dial plans. No extensions. Only pure SIP. You need to now what INVITE and BYE means to use NkSIP, but don't need a deep understanding of the details. Implementing new RFCs should be easy and natural. NkSIP offers a rock solid core, written from scratch core to develop distributed, highly available and scalable systems. It has a hierarchical plug-in system to develop new functionality without having to modify the core or other base plugins. The Erlang ecosystem is the perfect fit for this kind of product. You can run any number of SIP applications on a NkSIP cluster, using Erlang but (soon) also using Javascript, Lua, Java, or any other language capable of receiving a JSON over a socket connection. 14
  • 15. Current features Full support for all defined SIP methods: PRACK, INFO, UPDATE, SUBSCRIBE, NOTIFY, REFER, PUBLISH and MESSAGE, as UAC, UAS and Proxy. Registrar and Event State Compositor (using the RAM built-in store or any other external database). Stateful proxy servers with serial and parallel forking. Stateless proxy servers, even using TCP/TLS. IPv6 support. NkSIP can connect IPv4-only with IPv6-only hosts. Support for NAPTR and SRV location, including priority and weights. Support for events, reliable provisional responses (100rel), session timers, path, service route, outbound and GRUU. 15
  • 16. Current features Automatic outbound registrations and timed pings. Dialog and SDP media start and stop detection. SDP processing utilities. UDP, TCP, TLS, SCTP and WEBSOCKETS transports, capable of handling thousands of simultaneous sessions. Robust and highly scalable, using all available processor cores. Currently is able to process 10.000 registrations/sec or 4.000 call setups/sec (INVITE+ACK+BYE) on a 4-core i7 machine. A written from scratch, fully typed Erlang code easy to understand and extend. Unit tests cover nearly all of the functionality. Few external dependencies. Hot, on the fly core and application code upgrade. 16
  • 17. 17
  • 18. 18
  • 19. Plugin system Most complex functionality have been extracted into plugins: Registrar, PRACK, Outbound, etc. Rich set of callbacks available. The core remains simple. Each plugin adds API functions and callbacks for your application (and other, higher level plugins). Each NkAPP can implement a different set of plugins. Can even change them on the fly. Zero added latency, even with many plugins. 19
  • 20. Pending features Distribution based on the Dynamo model. Other languages for NkAPPs (Node.js, Lua, Python…) More RFCs and Event Packages IMS 20
  • 21. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Node1 21 Ip1 Ip2 Ip3 Ip4 Router / Gateway
  • 22. Ip1 Ip2 Ip3 Ip4 Node1 Router / Gateway Node2 Node3 22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  • 23. Ip1 Ip2 Ip3 Ip4 Node1 Router / Gateway Node2 Node3 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 node2> nksip_admin -join node1 node3> nksip_admin -join node1
  • 24. Ip1 Ip4 Ip2 Ip3 1 4 7 10 13 16 19 Node1 Router / Gateway 2 5 8 11 14 17 20 Node2 3 6 9 12 15 18 Node3 24
  • 25. Ip1 Ip4 Ip2 Ip3 1 4 7 10 13 16 19 Node1 Router / Gateway 2 5 8 11 14 17 20 Node2 3 6 9 12 15 18 Node3 node2> nksip_admin -remove node1 25
  • 26. Ip1 Ip2 Ip3 Ip4 1 7 13 4 10 16 19 Node1 Router / Gateway 2 5 8 11 14 17 20 Node2 3 6 9 12 15 18 Node3 node1> poweroff 26
  • 27. NKCORE ERLANG DISTRIBUTED SDN/NFV APPLICATION SERVER 27
  • 28. Another application server? NkSIP offers a fresh approach to the development of applications, and it has very powerful tools, but is focused on SIP. However, NkSIP could behave as a generic high-capacity, low-latency message processing engine. Many concepts and technology solutions from NkSIP are applicable to many other protocols: REST, Diameter, MSRP, XMPP, DNS, DHCP, Mail, OpenFlow… There is no easy to use, fully distributed, heavy-load open source application server out there. This looks a lot like an SDN/NFV framework! 28
  • 29. NkCORE’s vision You start any number of control nodes, and install any number of user applications (NkAPPs) on the cluster. Incoming messages (in a broad sense: SIP, REST request…) are sent to a specific control node and triggers the call of specific application callbacks. Applications are written using Javascript, Lua, Java, etc. Many modules are available, offering tools and semi automatic processing of messages: SIP (NkSIP), Web (NkREST), DNS, DHCP, Diameter, OpenFlow,etc. Each one adds new callbacks and APIs available to the application. Some of them offer additional optional plugins (i.e. event support packages for SIP). Many common functionality is available: configuration, cluster management, distributed database, network transport management, storage, dns, logging, authentication, roles, etc. 29
  • 30. NkCORE’s vision You also start any number of worker nodes. They don’t need to have Erlang, only Docker. The NkAPP can program the scheduling of tasks (i.e, 10 instances of Freeswitch, 5 instances of a node.js application, etc.), and NkCORE selects the worker nodes and downloads and starts and monitors the Docker processes in selected ones. Control nodes route specific traffic to any of the workers nodes, and offers network functionalities to the application: firewall, load balancer, VPNs, VLANs… (using Openvswitch). NkCORE offers easy-to-use APIs for each type of task, and can act as a proxy or B2BUA, transparent or not. The application doesn’t even need to know that it is speaking to several different instances of the processes. We plan to support many common used packages: Media servers (Asterisk, Freeswitch…) and XMPP (Ejabberd…) NoSQL (Redis, Riak, CouchDB…) and SQL databases (MySQL, PostgreSQL) Distributed Storage (Ceph) Mail Servers … 30
  • 31. Control Nodes Router / Gateway Node.JS Node.JS Python Node.JS Node.JS Erlang Python Erlang Erlang Routing Routing Routing Node.JS Python Freeswitch Asterisk Node.JS Node.JS Python Worker Nodes Storage Storage Docker instances Erlang code Native code 31 NkAPPs NkCORE NkCORE NkCORE
  • 32. 32
  • 33. Expected features The applications are in full control not only of the business logic, but also of the network, the storage and the related processes (data bases, media servers…) Hot code loading (NkCORE itself, modules and user applications). Hot relocation of external processes. NkCORE offers a everything-as-a-service model to the applications (Freeswitch, DNS, Riak, …), even in local. Hybrid or hierarchical cloud model. Multi-cluster management. Allows applications to become highly available and scalable very easily. 33
  • 34. Thank you Carlos González Florido https://github.com/kalta/nksip carlosj.gf@gmail.com @carlosjgf 34