0
Learning Erlang and developing a SIP 
 server/stack with 30k potential users


       Fredrik Thulin <sip:ft@it.su.se>
   ...
Stockholm university telephony in 
                1997 :
    Ericsson MD110
●



    5000 subscribers
●




             ...
SIP
    Session Initiation Protocol
●



    IETF proposed standard (RFC3261, 2, 3, 4 and 5)
●



    Does not care about ...
Personal Erlang experience
    No prior knowledge about functional 
●


    programming
    Hard time understanding some s...
Implementation
    Magnus Ahltorp, KTH made a couple of 
●


    implementations in Perl, Python, C, ...
    Erlang implem...
OTP supervisor model
                                                sipserver_sup




                               sips...
Plans
    Build distributed SIP servers
●


        for routing
    –

        for students (free VoIP/SIP­service, no PST...
Perimeter defense

                         Internet




              Servers running Yxa incomingproxy

    Rate limitin...
Project
    http://www.stacken.kth.se/projekt/yxa/
●
Upcoming SlideShare
Loading in...5
×

Learning Erlang And Developing A Sip Server Stack With 30k Potential Users

3,025

Published on

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,025
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
103
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Learning Erlang And Developing A Sip Server Stack With 30k Potential Users"

  1. 1. Learning Erlang and developing a SIP  server/stack with 30k potential users Fredrik Thulin <sip:ft@it.su.se> Enheten för IT och media Stockholms universitet EUC2004
  2. 2. Stockholm university telephony in  1997 : Ericsson MD110 ● 5000 subscribers ● 2000 : Ericsson MD110 – 4200 subscribers ● Cisco CallManager – 800 subscribers ● Early VoIP adopters, but still no open standard ●
  3. 3. SIP Session Initiation Protocol ● IETF proposed standard (RFC3261, 2, 3, 4 and 5) ● Does not care about audio/video/whatever ● Instant messaging and presence ● Parsing is hard, even though (?) it's plain text ● Transactions are complex ● Few open source implementations as to date ●
  4. 4. Personal Erlang experience No prior knowledge about functional  ● programming Hard time understanding some syntax (strings are  ● lists, [H | T] = “string”) Assign once ● Really like cheap processes and the IPC ●
  5. 5. Implementation Magnus Ahltorp, KTH made a couple of  ● implementations in Perl, Python, C, ... Erlang implementation was the most viable one ● First Yxa snapshot released 2003­10­07 ● OTP supervisor model ● 15000 lines of code, 5000 lines of comments ●
  6. 6. OTP supervisor model sipserver_sup sipsocket directory transaction_layer logger sipsocket_udp tcp_dispatcher tcp_listener
  7. 7. Plans Build distributed SIP servers ● for routing – for students (free VoIP/SIP­service, no PSTN) – for basic call service? Evaluating. – Distributed policy control (perimeter defense ­  ● rate limiting etc.) External event logging with call context ● RFC compliant stack, easy to write applications ●
  8. 8. Perimeter defense Internet Servers running Yxa incomingproxy Rate limiting number of ongoing calls per host, class  – C network, domain, SSL certificate etc.
  9. 9. Project http://www.stacken.kth.se/projekt/yxa/ ●
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×