Learning Erlang And Developing A Sip Server Stack With 30k Potential Users
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

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

  • 5,051 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,051
On Slideshare
5,036
From Embeds
15
Number of Embeds
2

Actions

Shares
Downloads
100
Comments
0
Likes
1

Embeds 15

http://www.slideshare.net 14
http://www.techgig.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. 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. 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. OTP supervisor model sipserver_sup sipsocket directory transaction_layer logger sipsocket_udp tcp_dispatcher tcp_listener
  • 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. Perimeter defense Internet Servers running Yxa incomingproxy Rate limiting number of ongoing calls per host, class  – C network, domain, SSL certificate etc.
  • 9. Project http://www.stacken.kth.se/projekt/yxa/ ●