• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
FOSS Sthlm: Realtime Communication Update
 

FOSS Sthlm: Realtime Communication Update

on

  • 1,583 views

Introudction to Kamailio - the Open Source SIP Server - and WebRTC for the Free and Open Source Stockholm user's group Dec 5th 2012.

Introudction to Kamailio - the Open Source SIP Server - and WebRTC for the Free and Open Source Stockholm user's group Dec 5th 2012.

Statistics

Views

Total Views
1,583
Views on SlideShare
1,563
Embed Views
20

Actions

Likes
5
Downloads
0
Comments
3

4 Embeds 20

https://twitter.com 15
https://quobis.atlassian.net 3
http://edvina.net 1
http://www.docshut.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

13 of 3 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    FOSS Sthlm: Realtime Communication Update FOSS Sthlm: Realtime Communication Update Presentation Transcript

    • FOSS STHLM5 December 2012 REALTIMECOMMUNICATION UPDATE Olle E. Johansson * oej@edvina.net * Twitter oej Copyright Edvina AB, Sollentuna, Sweden 2012. All rights reserved.
    • From this...
    • to this
    • Talk Video Chat Application sharing3D holographic 7.1 conferences
    • COMMUNICATION BETWEEN TWO OR MORE PEOPLE
    • LET’S LEAVE PSTN TELEPHONY BEHIND• Peer 2 peer telephony with SIP and/or WebRTC!
    • WebRTC THE REALTIME WEB
    • WebRTC THE NEW KID ON THE BLOCK• Cooperation between the W3C and IETF• Bidirectional media between browsers• Audio, video, text• The platform for new services• SIP in the browser
    • WebRTC THE VISION• An open service where we can communicate freely with each other from any device and any network• First wave probably just between users of the same web service• Many of us wants open federation - it requires a shared address space and protocol
    • WebRTC NEW APPLICATIONS• WebRTC is so much more than personal communication• Games, video manipulation, virtual reality...• First wave: • Skype replacements • Video conferences
    • WebRTC DEPENDENCIES• The architecture is still discussed• Depends on ICE for NAT traversal, which means dependencies on TURN/STUN as well• SDP or not SDP, that’s the question?• Opus and G711 for audio• VP8 or H.264 for video *** WARS ***
    • WebRTC WEBRTC• Platform for new cool • We’ll still have NAT applications and firewall issues• Built into the web • Will it be standardized browser enough• Security-enabled from • Will we need SBCs to start handle the connections?+ -
    • KAMAILIO Cool stuff
    • A SIP PBX PBXYou Me Everyone talks with the PBX!
    • A SIP PROXY We find each other with the proxy. SIPYou Me Communication is peer2peer
    • FINDING YOU DNS SIPYou Me Communication is peer2peer sip:alice@example.com
    • THE PROXYSIP SIP SIP SIP SIP SIP Proxy Outbound proxy Location server/registrar Presence server Call routing (LCR) Application server
    • KAMAILIO Open Source SIP Proxy SIP Server Application serverPresence server A lot of activity!
    • THE KAMAILIO PROJECT• Project leader: Daniel Constatin Mierla (Asipto)• Management board with community members• Many developers, active community• Renamed to Kamailio in 2008• Merged with the original Sip Express Router for version 3 in 2008
    • KAMAILIO TECHNOLOGY• Written in ANSI C and optimized for speed• Modular design• Flexible configuration and routing language• Supports MySQL, PostgreSQL, LDAP, RADIUS, Sqlite , radius, UnixODBC• Standard (RFC3261) compliant• Web based administration interface: SIREMIS• Management port (TCP, UDP, XML)• Embedded HTTP server for Xcap (Presence)• Python, Perl, LUA development interfaces• NAT traversal capable• Portable, runs on POSIX compliant systems
    • KAMAILIO PHILOSOPHY• Over 100 modules - build anything!• Many modules overlap • Especially in carrier-business-related stuff, like least cost routing• As long as we have maintainers, we’re fine with that.
    • KAMAILIO EVOLUTION From http://sip-router.org/wiki/history/ser-9-years
    • KAMAILIO DEVELOPMENT MODEL• Development base code is named ”SIP-router”• Licensed under GPL. Contributions may be under BSD.• Currently about 20 developers• Anyone can freely contribute extensions and modules• Changes to existing modules are subject to approval Kamailo releases SER releases Tekelec products SIP-router.org
    • OVERVIEW OF KAMAILIOSER and OpenSER and Kamailio and... What’s in a name? KAMAILIO THE OPENSER SIP SERVER & THE SIP ROUTER PROJECT
    • REMEMBER• A SIP proxy is not a PBX• Anything you learned from Asterisk or similar PBXs does not apply• The SIP Proxy does not bother with CALLS, it bothers with SIP requests and replies - transactions• You need to understand SIP to configure Kamailio The PBX is an Old telco architecture
    • KAMAILIO FUNCTIONALITY SIP proxy • It is a SIP server originally designed as a SIP proxy Presence server • Can be configured as an • SIP Outbound Proxy SIP load • Location server/registrarSIP application and Presence server • server • Development API for SIP servlets and UserAgent functionality • LUA interface for advanced functionalitySIP Session Border Controller • Runs on many operating systems
    • ADDITIONAL FEATURES • IPv4-IPv6 gateway IPv4/IPv6 • UDP/TCP/SCTP translator UDP/TCP/SCTP • NAT traversal support TLS NAT • anti-DOS functions (pike, blacklists) Languages: • Gateway to SMS, XMPP (Jabber)Java, Python, Lua, Perl Databases: • Accounting Mysql PostgreSQL • Java SIP servlet programming interface UnixODBC • Interface to LUA and Perl (3.1) Berkeley DB Oracle • Database support MySQL, PostgreSQL, UnixODBC, Berkeley DB and Oracle • ...much more
    • A MODULAR ARCHITECTURE Core provides Transport managements Memory management SIP Server core Module interface Shared memory Locking ConfigurationModules Modules Modules Modules Modules provide Script functions Module parameters Special variables NATMySQL Radius TM Management functions Support
    • ADDITIONAL HELPERS Management interface (MI) functions Start/stopKAMCTL Shared variables Statistics Database installation helperKAMDBCTL RPC Interface and MI functions Statistics SERCMD Select/Config variables (Arrived from SER) Web application Statistics SIREMIS Database management Separate project
    • ARCHITECTURE Modules Module interface Proxy CoreTransport interfaceOperating system
    • KAMAILIO IS THE HEART OF YOUR SIP NETWORKAdmin PSTN RTP Feature 3rd IM/SMS(WEB) DB gw gw relay server party Internal network Kamailio Public network Users
    • MULTIPROCESS, NOT THREADS Other worker UDP listen processes TCP listen STCP listen TCP/TLS listen
    • MANAGEMENT MI RPC interface (deprecated)XMLrpc Json Pipe SERCMD KAMCTL
    • MEMORY HANDLING Unix memoryPKG - Kamailio memory manager manager Allocated at start.Shared memory Per process memory (core) 32 MB per Kamailio 4 MB per processTransactions SIP messageShared variables Script variables
    • ABOUT KEEPING STATE: Stateless forwarding • Kamailio keeps transaction, and responses user and location data in shared memory (RAM) at Transaction states runtime • Some of this can be cached toDialog - ”call” - states database, but in-memory is the default • This statelessness delivers scalability and resilience in the network
    • GENERAL ADVICE:• Try to keep proxy processing as simple as possible• Be very careful on where you add states• In larger networks, separate • Ingress/Egress proxys (Session Border Controllers) • Registrar/location server • Core proxy Compare with Feature proxy • IP routers!
    • SOLUTIONS WITH KAMAILIO
    • SMALL CARRIER SER Registrar/Location server Asterisk SER SER PSTN GatewaySession Border Asterisk Core proxy controller Voicemail Server Asterisk Feature/IVR Server
    • UNIVERSITY IP TRANSITION Asterisk Asterisk PBX Media gateway ISDN .com SER Old PBXSession Border Core proxy controller
    • FAILOVER Asterisk SER PBX SER Asterisk PBX backupCore proxy
    • MULTI-FEATURE SERVICE Audio Asterisk SER IVR, Queues, prompts Video SER Core proxy Chat Presence Telephony
    • WHAT ABOUT WEBRTC?
    • KAMAILIO 3.4 WITH SIP OVER WEBSOCKETS WSJavascript SIP app sip/tcp sip/websockets Media over SRTP MeWWWyou
    • KAMAILIO AND ASTERISK WITH SIP OVER WEBSOCKETS WS Javascript SIP AST SIP app sip/websockets RTP Media over SRTP MeWWWyou
    • JSSIP: OPEN SOURCE SIPSTACK IN JAVASCRIPT• Available for download at jssip.net• Written by the authors of the IETF draft on SIP over websockets• Reference implementation• MIT license
    • COMPONENTS NEEDED• SIP over WS servers: Kamailio, OverSIP, Asterisk• Audio media server RTP gateway: Asterisk• SIP/Javascript: SIPml5, JSSIP
    • THAT’S ALL FOLKS. oej@edvina.net