+ All Categories
Home > Documents > Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh...

Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh...

Date post: 26-Dec-2015
Category:
Upload: janice-franklin
View: 217 times
Download: 3 times
Share this document with a friend
Popular Tags:
167
Reliable, Scalable and Reliable, Scalable and Interoperable Internet Interoperable Internet Telephony Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department, Columbia University, New York June 21, 2006
Transcript
Page 1: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

Reliable, Scalable and Reliable, Scalable and Interoperable Internet TelephonyInteroperable Internet Telephony

PhD thesis presentation

by Kundan SinghAdvisor: Henning Schulzrinne

Computer Science Department, Columbia University, New York

June 21, 2006

Page 2: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

2

My research My research background/timelinebackground/timeline

1997 1999 2000 2001 2002 2003 2004 2005 2006Undergrad

@India

[email protected]

[email protected]

Work@

Motorola

H.3

23 clien

t

gatew

ay

SIP-H

.323 tran

slatorSIP-R

TSP voice m

ailSIP con

ferencin

g

Libsip

++

(SIP lib

rary)

P2P V

oIP usin

g S

IP

SIP Failover/load

sharin

g

Enterp

rise VoIP in

frastructu

re

Interactive voice resp

onse

CIN

EM

A u

ser interface

Multim

edia collab

oration

Mob

ile NA

T

Reliability &

scalability

VoIP infrastructure

Con

ference evalu

ation

Page 3: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

3

Outline of the presentationOutline of the presentation Introduction

What is the problem? Why important? My contributions

Server redundancy Load sharing and failover in SIP telephony Comparison of thread models for SIP server

Peer-to-peer (P2P) SIP servers using external P2P network Additionally, P2P maintenance using SIP

Enterprise IP telephony Multi-platform collaboration using SIP Scalable centralized conferencing architecture Interworking between SIP/SDP and H.323

Conclusion

36 slides

Page 4: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

4

Telephone reliability & Telephone reliability & scalability scalability (PSTN: Public Switched Telephone Network)(PSTN: Public Switched Telephone Network)

“bearer” network telephone switch(SSP)

database (SCP)for freephone, calling card, …

signaling network(SS7)

signaling router(STP)

local telephone switch(class 5 switch)10,000 customers20,000 calls/hour

database (SCP)10 million customers2 million lookups/hour

signaling router (STP)1 million customers1.5 million calls/hour

regional telephone switch(class 4 switch)100,000 customers150,000 calls/hour

Switches strive for 99.999% availability.Lucent’s 5E-XC supports 4 million BHCA.

Page 5: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

5

DB

Internet telephonyInternet telephony(SIP: Session Initiation Protocol)(SIP: Session Initiation Protocol)

[email protected]@yahoo.com yahoo.com example.comREGISTER

INVITE

INVITE 192.1.2.4129.1.2.3

DNS

Can SIP server provide carrier grade reliability and scalability using commodity hardware

Page 6: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

6

What are the problems?What are the problems? Can SIP server provide carrier-grade

reliability and scalability using commodity hardware? What affects the server performance?

How can we build a server-less self-organizing peer-to-peer VoIP network? Can this be done in standards compliant

way? Can communication be extended to

multi-platform collaboration using existing protocols? How well multi-party conferencing scales? How to interoperate between SIP and H.323?

Page 7: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

7

My contributionsMy contributions Server redundancy

Implemented failover using database replication

Two-stage architecture for SIP load sharing Comparison of thread models for SIP server

Peer-to-peer (P2P) SIP servers using external P2P network Additionally, P2P maintenance using SIP

Enterprise IP telephony Multi-platform collaboration using SIP Scalable centralized conferencing

architecture Interworking between SIP/SDP and H.323

New architecture, New algorithm or approach, Implementation, Evaluation

Page 8: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

8

Outline of the presentationOutline of the presentation Introduction

What is the problem? Why important? My contributions

Server redundancy Load sharing and failover in SIP telephony Comparison of thread models for SIP server

Peer-to-peer (P2P) SIP servers using external P2P network Additionally, P2P maintenance using SIP

Enterprise IP telephony Multi-platform collaboration using SIP Scalable centralized conferencing architecture Interworking between SIP/SDP and H.323

Conclusion

Page 9: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

9

Server redundancyServer redundancyThe problem: failure or overloadThe problem: failure or overload

REGISTERINVITE

Page 10: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

10

High availabilityHigh availabilityImplementation and analysisImplementation and analysis

ImplementationUsing MySQL replication

System reliabilityindividual component

reliability Call setup latency

DNS TTL, time-to-repair, retry timeout

User unavailabilityMost registers are

refreshesRetry timeout, replication

interval, register refresh interval

Slave/master

Master/slave

P1 P2

DNS

Caller

D1 D2

TR

D2Callee

Tr

TR

Tc

Tc

Td

A

ATc

P1 P2D1

Page 11: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

11

ScalabilityScalabilityLoad sharing: redundant proxies and databasesLoad sharing: redundant proxies and databases

REGISTER Write to D1 & D2

INVITE Read from D1 or

D2 Database write/

synchronization traffic becomes bottleneck

D1

D2

P1

P2

P3

REGISTER

INVITE

Page 12: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

12

ScalabilityScalabilityLoad sharing: divide the user spaceLoad sharing: divide the user space

Proxy and database on the same host

Stateless proxy can become overloaded Use many

D1

D2

P1

P2

P3

D3

a-h

i-q

r-z

Page 13: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

13

ScalabilityScalabilityComparison of the two designsComparison of the two designs

D1

D2

P1

P2

P3

D1

D2

P1

P2

P3

D2

a-h

i-q

r-z

High Scalability

Low Reliability

Low Scalability

High Reliability

Page 14: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

14

Scalability (and reliability)Scalability (and reliability)Two stage architectureTwo stage architecture

Master

Slave

Master

Slave

sip:[email protected]:[email protected]

s1

s2

s3

a1

a2

b1

b2

a*@example.com

b*@example.com

example.com_sip._udp SRV 0 40 s1.example.com SRV 0 40 s2.example.com SRV 0 20 s3.example.com SRV 1 0 ex.backup.com

a.example.com_sip._udp SRV 0 0 a1.example.com SRV 1 0 a2.example.com

b.example.com_sip._udp SRV 0 0 b1.example.com SRV 1 0 b2.example.com

Capacity = f(#stateless, #groups)

ex

I stage II stage

Page 15: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

15

Load SharingLoad SharingPerformance result: calls/secondPerformance result: calls/second

Using 3+3 servers gives carrier-grade performance (10 million busy hour call attempts)

Registration test: supports 10 million subscribers

On commodity hardware: 3 GHz, Pentium 4, 1 GB memory

Test with UDP, stateless, no DNS and no mempool

9001050

18002100

2800

0

500

1000

1500

2000

2500

3000

calls/ sec

Page 16: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

16

Server performanceServer performanceWhat happens inside a server? What thread/event models What happens inside a server? What thread/event models possible?possible?

recvfrom

Match transaction

Modifyresponse

Match transaction

Update DB

Lookup DBBuildresponse

Modify Request

DNS

sendtoparse

Request

Response

Stateless proxy

Found

Stateless proxy

stateful

REGISTER

other

Redirect/reject

Proxy

(Blocking) I/OCritical section (lock)

Critical section (r/w lock)

1. Pure event-based (one thread)2. Thread-per-msg or transaction3. Pool-thread per msg (sipd)4. Two stage thread pool

accept recv File read send

Web server

SIP server

Page 17: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

17

Server performanceServer performanceResults of my measurementResults of my measurement

Event-based performs 30% better than existing thread-pool architecture on single-CPU

Two stage thread-pool architecture gives better performance on multi-CPU 60% more on 4xPentium

Both Pentium and Sparc took 2 MHz of CPU cycles per call/s on single-CPU

Page 18: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

18

Problem with serversProblem with servers

Server-based Cost: maintenance, configuration Central points of failures,

catastrophic failures Controlled infrastructure (e.g., DNS)

Peer-to-peer Robust: no central dependency Self organizing, no configuration Inherent scalability

C

C

C

C

C

S

P

P

P

P

P

Page 19: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

19

We built: P2P-SIPWe built: P2P-SIP Unlike proprietary Skype architecture

Robust and efficient lookup using DHT Interoperability

DHT algorithm uses SIP communication Hybrid architecture

Lookup in SIP+P2P Inter-domain P2P-SIP

Unlike file-sharing applications Data storage, caching, delay, reliability Data model and service model

Disadvantages Lookup delay and security

Page 20: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

20

How to combine SIP + P2P?How to combine SIP + P2P? SIP-using-P2P

Replace SIP location service by a P2P protocol

P2P-over-SIP Additionally,

implement P2P using SIP messaging

P2P network

Alice128.59.19.194

INSERT

INVITE sip:[email protected]

P2P-SIPoverlay Alice

128.59.19.194

REGISTERINVITE aliceFIND

SIP-using-P2P P2P SIP proxies

P2P-over-SIP

Maintenance P2P P2P SIP

Lookup P2P SIP SIP

Page 21: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

21

SIP-using-P2PSIP-using-P2PLogical OperationsLogical Operations

Contact management put (user id, signed contact)

Key storage User certificates and private configurations

Presence put (subscribee id, signed encrypted subscriber id) Composition needs service model

Offline message put (recipient, signed encrypted message)

NAT and firewall traversal STUN and TURN server discovery needs service

model

XML-based data format

Page 22: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

22

SIP-using-P2PSIP-using-P2PImplementation in SIPc with the help of Xiaotao WuImplementation in SIPc with the help of Xiaotao Wu

OpenDHT Using Data

model Identity

protection Certificate-

based SIP id == email

P2P forCalls, IM, presence, offline message and name lookup

Page 23: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

23

P2P-over-SIPP2P-over-SIPArchitecture and implementationArchitecture and implementation

DHT (Chord) algorithm using SIP messages with query and update semantics of REGISTER

Has SIP registrar, proxy, user agent Other: discovery, NAT traversal, failover Adaptor: allows existing SIP devices to

become P2P

Page 24: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

24

P2P-over-SIPP2P-over-SIPAnalysis: scalabilityAnalysis: scalability

Computed message load as function of Refresh rate (keep-alive, finger table, user

registration), call arrival rate, churn (join, leave, failure), scale (number of peer nodes and users)

Number of nodes = f(individual node capacity) Measured performance: 800 register/s. Assuming a conservative 10 reqister/s

capacity, and aggressive refresh and call rate of 1/min, it gives more than 16 million peers (super nodes) in the network.

Page 25: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

25

P2P-over-SIPP2P-over-SIPAnalysis: availability and call setup latencyAnalysis: availability and call setup latency

To increase user availability: Fast failure detection: increase keep-alive

rate Reduce unavailability: frequent registration

refresh Replicate: user and node registrations

Call setup latency: Same as DHT lookup latency: O(log(N))

Calls to known locations (“buddies”) is direct Chord: 10000 nodes => 6 hops

At most a few seconds User availability and retransmission timers

Page 26: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

26

SIP-using-P2PSIP-using-P2P vs vs P2P-over-SIPP2P-over-SIP Not SIP-specific, hence

no implementation overhead for non-VoIP but P2P applications

Low transport and transaction overhead

No P2P security burden on SIP

No dependency on single DHT implementation

Reuse SIP naming, routing, security, NAT/firewall traversal

Easily reuse existing SIP components without change

voicemail, conference Single DHT

implementation Readily supports

service model

Page 27: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

27

Server-based vs peer-to-Server-based vs peer-to-peerpeer

Reliability, failover latency

DNS-based. Depends on client retry timeout, DB replication latency, registration refresh interval

DHT self organization and periodic registration refresh. Depends on client timeout, registration refresh interval.

Scalability, number of users

Depends on number of servers in the two stages.

Depends on refresh rate, join/leave rate, uptime

Call setup latency

One or two steps. O(log(N)) steps.

Security TLS, digest authentication, S/MIME

Additionally needs a reputation system, working around spy nodes

Maintenance, configuration

Administrator: DNS, database, middle-box

Automatic: one time bootstrap node addresses

PSTN interoperability

Gateways, TRIP, ENUM Interact with server-based infrastructure or co-locate peer node with the gateway

Page 28: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

28

Outline of the presentationOutline of the presentation Introduction

What is the problem? Why important? My contributions

Server redundancy Load sharing and failover in SIP telephony Comparison of thread models for SIP server

Peer-to-peer (P2P) SIP servers using external P2P network Additionally, P2P maintenance using SIP

Enterprise IP telephony Multi-platform collaboration using SIP Scalable centralized conferencing architecture Interworking between SIP/SDP and H.323

Conclusion

Page 29: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

29

InternalTelephoneExtn: 7040

SIP/PSTN Gateway

Department PBX

Web based configuration

Web server

Telephoneswitch

SQLdatabase

sipd:Proxy, redirect, Registrar server

NetMeeting

H.323

rtspd: media server

sipum: Unified messaging

Quicktime

RTSP clients

RTSP

713x

CINEMA servers

sipconf: Conference server

siph323: SIP-H.323 translator

Local/long distance1-212-5551212

PSTN

Internet telephony Internet telephony infrastructureinfrastructureCINEMA: Columbia InterNet Extensible Multimedia CINEMA: Columbia InterNet Extensible Multimedia ArchitectureArchitecture

SIP

VXML

vxml

cgi

My work

Built many components in a complete system for enterprise IP telephony and multimedia collaboration

Page 30: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

30

My other workMy other work Communication to collaboration

Comprehensive, multi-platform collaboration using SIP Unified messaging: The gaps among different media

(audio, video, text), devices (PC, phone) and means of communications (Email, SIP, IM) disappear for messaging

Novel SIP/RTSP based voicemail and answering machine SIP interface to VoiceXML browser

Centralized conferencing Audio mixing, video forwarding, IM, shared web browsing,

screen sharing, web-based configuration and control, floor control

Performance evaluation; cascaded server architecture SIP-H.323 translation

Page 31: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

31

Conference serverConference serverPerformance evaluation of audio mixerPerformance evaluation of audio mixer

On commodity PC About 480 participants in a single

conference with one active speaker About 80 four-party conferences, with

one speaker each Both Pentium and Sparc took 6

MHz per participant

Page 32: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

32

Conference serverConference serverCascaded architectureCascaded architecture

N.(N-1) participants

Higher delay

N2/4 participants Lower delay

I measured the CPU usage for two cascaded servers: supports about 1000 participants

SIP REFER message is used to create cascading

Page 33: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

33

Outline of the presentationOutline of the presentation Introduction

What is the problem? Why important? My contributions

Server redundancy Load sharing and failover in SIP telephony Comparison of thread models for SIP server

Peer-to-peer (P2P) SIP servers using external P2P network Additionally, P2P maintenance using SIP

Enterprise IP telephony Multi-platform collaboration using SIP Scalable centralized conferencing architecture Interworking between SIP/SDP and H.323

Conclusion

Page 34: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

34

Revisiting the problemsRevisiting the problems Can SIP server provide carrier-grade

reliability and scalability using commodity hardware? What affects the server performance?

How can we build a server-less self-organizing peer-to-peer VoIP network? Can this be done in standards compliant

way? Can communication be extended to

multi-platform collaboration using existing protocols? How well multi-party conferencing scales? How to interoperate between SIP and H.323?

Developed a two stage scalable and reliable SIP server architecture: linear scaling. Use event-based.

Developed P2P-SIP architecture: SIP-using-P2P and P2P-over-SIP

Multi-platform collaboration using existing protocols and tools, unified messaging, centralized conferencing (cascaded), SIP-H.323 interworking.

Page 35: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

35

ConclusionsConclusions Impact:

Commercialized by SIPquest (now FirstHand) and sold to many customers.

CINEMA was deployed in our department for a brief period of time. Used in various other projects at IRT: NG911, firewall controller,

presence scalability, TCP/TLS measurements,… P2P-SIP is a “hot” topic in industry and IETF now – client desktop,

hardware phone as well as server vendors are pursuing this. SIP-H.323 requirements eventually became an RFC Plan to open source SIPc for large scale deployment experience of

P2P-SIP Started working on a P2P-based self organizing servers for 3GPP at

Bell Labs “So what” (Implications):

Replacing PSTN – better features, quality and performance at lower cost and maintenance; zero cost VoIP using P2P-SIP

Distributed, multi-provider, component architecture for telephony and collaboration

Page 36: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

36

My publicationsMy publicationsConferenceConference, , workshopworkshop, , technical reporttechnical report, , magazine/journalmagazine/journal

1. K. Singh and H. Schulzrinne, “Using an external DHT as a SIP location service", Columbia University Technical Report CUCS-007-06, NY, Feb’06.

2. K. Singh and H. Schulzrinne, “Peer-to-peer Internet telephony using SIP", NOSSDAV, Skamania, Washington, Jun 2005.. K. Singh and H. Schulzrinne, "Peer-to-peer Internet Telephony using SIP", New York Metro Area Networking Workshop, CUNY, NY, Sep 2004.K. Singh and H. Schulzrinne, "Peer-to-peer Internet Telephony using SIP", Columbia University Technical Report CUCS-044-04, NY, Oct 2004.

3. K. Singh and H. Schulzrinne, “Failover, load sharing and server architecture in SIP telephony”, Elsevier Computer Communication Journal. To appear. Aug 2006.

“K. Singh and H. Schulzrinne, “Failover and load sharing in SIP telephony", SPECTS (Symposium on performance evaluation of computer and telecommunication systems). Philadelphia, PA, Jul 2005.

K. Singh and H. Schulzrinne, "Failover and Load Sharing in SIP Telephony", Columbia University Technical Report CUCS-011-04, NY, May 2004. 4. H. Schulzrinne, K. Singh and X. Wu, "Programmable Conference Server", Columbia University Technical Report CUCS-040-04, NY, Oct 2004. 5. K. Singh, Xiaotao Wu, J. Lennox and H. Schulzrinne, "Comprehensive Multi-platform Collaboration", MMCN 2004 - SPIE Conference on

Multimedia Computing and Networking, Santa Clara, CA, Jan 2004. K. Singh, Xiaotao Wu, J. Lennox and H. Schulzrinne, "Comprehensive Multi-platform Collaboration", Columbia University Technical Report CUCS-027-03,

NY, Nov 2003. 6. M. Buddhikot, A. Hari, K. Singh and S. Miller, "MobileNAT: A new Technique for Mobility across Heterogeneous Address Spaces", ACM

MONET journal, March 2005. M. Buddhikot, A. Hari, K. Singh and S. Miller, "MobileNAT: A new Technique for Mobility across Heterogeneous Address Spaces", WMASH 2003 - ACM

International Workshop on Wireless Mobile Applications and Services on WLAN Hotspots, San Diego, CA, Sep 2003. 7. K. Singh, A. Nambi and H. Schulzrinne, "Integrating VoiceXML with SIP services", ICC 2003 - Global Services and Infrastructure for Next

Generation Networks, Anchorage, Alaska, May 2003. K. Singh, A. Nambi and H. Schulzrinne, "Integrating VoiceXML with SIP services", Second New York Metro Area Networking Workshop, Columbia

University, NY, Sep 2002. 8. K. Singh, W. Jiang, J. Lennox, S. Narayanan and H. Schulzrinne, "CINEMA: Columbia InterNet Extensible Multimedia Architecture", Columbia

University Technical Report CUCS-011-02, NY, May 2002. W. Jiang, J. Lennox, H. Schulzrinne and K. Singh, "Towards Junking the PBX: Deploying IP Telephony", NOSSDAV 2001. W. Jiang, J. Lennox, S. Narayanan, H. Schulzrinne, K. Singh and X. Wu, "Integrating Internet Telephony Services", IEEE Internet Computing (magazine),

May/June 2002 (Vol. 6, No. 3). 9. K. Singh, Gautam Nair and H. Schulzrinne, "Centralized Conferencing using SIP", 2nd IP-Telephony Workshop (IPTel'2001), April 2001. 10. K. Singh and H. Schulzrinne, "Unified Messaging using SIP and RTSP", IP Telecom Services Workshop 2000, Atlanta, Georgia, U.S.A, Sept 2000.

K. Singh and H. Schulzrinne, "Unified Messaging using SIP and RTSP", Columbia University Technical Report CUCS-020-00, NY, Oct 2000. 11. K. Singh, H.Schulzrinne, "Interworking Between SIP/SDP and H.323", 1st IP-Telephony Workshop (IPTel'2000), April 2000.

K. Singh and H. Schulzrinne, "Interworking Between SIP/SDP and H.323", Columbia University Technical Report CUCS-015-00, NY, May 2000.

Page 37: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

Backup slidesBackup slides

Page 38: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

38

Potential questionsPotential questionsServer redundancyServer redundancy

How much is the database traffic for replication? Does replication work for other databases?

Page 39: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

39

Potential questionsPotential questionsEvent and thread modelEvent and thread model

Why is process pool better than others? Why did Pentium and Sparc give same performance? Why not

for multi-processor? Why is multi-CPU not Nx of single CPU performance? What are

concurrency issues? (memory bandwidth?) Not clear what is the contribution here?

Application of two-stage load sharing architecture

Page 40: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

40

Potential questionsPotential questionspeer-to-peer Internet telephonypeer-to-peer Internet telephony

Any related work and your contribution in IETF? Why use SIP? Who will pay since it threatens the provider model?

May evolve similar to Internet – web/email – fixed cost. How does difference between SIP and file sharing affect the

architecture? Needs low guaranteed delay – no blind search; data may change

frequently – affects replication Performance of combination of P2P and server – p2p falls back

to server? How does OpenDHT give fairness? How can you interoperate with PSTN? Can you use unstructured P2P network? (yes, with fallback to

central) What is your scientific contribution?

Showing that it can work in a open standard compliant way.

Page 41: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

41

Potential questionsPotential questionsEnterprise IP telephonyEnterprise IP telephony

Any related work and your contribution? Demonstrating and pushing the standard based collaboration

during the initial stages of SIP Who uses H.323? Why care about SIP-H.323 systems? Why did you use ‘Interoperability’ in the thesis title?

To differentiate between my work and others: Skype, Cisco Skinny/call manager, Nortel’s original server, etc., and interoperation between different protocols SIP and H.323

Page 42: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

Server redundancyServer redundancy

Page 43: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

43

SIP network architectureSIP network architectureScalability requirement depends on roleScalability requirement depends on role

GW

GW

MG

MG

MG

IP network

PSTN

SIP/PSTNSIP/MGC

SIP/MGC

Carrier network

ISP

ISP

Cybercafe

IP

PSTNGW

PBX

IP phones

PSTN phones T1 PRI/BRI

A mobile service provider in 3GPP with millions of subscribers

Page 44: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

44

Reliability of DNS, network, Reliability of DNS, network, webweb [Wenyu’03]: VoIP network 98% (.5+1.5) [Pang’04]: local DNS:98%;auth DNS:99%

Minor correlation to load MTBF: order of days, weeks or longer (1%:

10days) MTTR: order of hours (60%:5hr; 90%:15)

[Sohar’00]: overall 99.57% availability Main: 99.6%, Backbone: 99.8%, Cisco switches:

99.98%, PC server: 99.7%, DB server: 99.96%, Solaris OS: 99.99%

Hosted web portals: Usually give 99.5% in SLA; but achieve 99.9%

except for scheduled downtime

Page 45: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

45

Availability and “nines”Availability and “nines”Availabilit

yDowntime

Per month

Per year

98% 14 hrs 7.3 days

99% 7hr 3days, 15hrs

99.5% 3.5hr 1day, 19hr

99.9% 44m 8h, 46min

99.95% 22m 4h, 23min

99.99% 4.4m 52m, 36s

99.999% 26s 5m, 15s

99.9999%

2.7s 32s

PC, VoIP callsIP-PBX software (guess)

PSTN, network

US Power, Solaris OS

Switches

Page 46: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

46

Related work: web server Related work: web server reliabilityreliability Dispatcher or stateful NAT

Not data dominated so becomes bottleneck IP address takeover (linux-ha) or MAC takeover

Requires servers on same subnet; reachability Can’t use for scalability for stateful proxy

IP anycast Probably closer/faster server

Client-based Cisco phones: primary and backup proxy; implementation

dependent; what is servers IP change. DNS

Dynamic: load; caching problem; not every impl respects TTL NAPTR, SRV

Rserpool: to maintain server pool and name server pool Requires new protocol support; local network;

Database redundancy TCP connection migration/process migration

Page 47: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

47

Related work: SIP server Related work: SIP server reliabilityreliability

Cisco: proprietary protocol; same subnet Dynamicsoft (bought by cisco): backend

database replication Ubiquity: load balancer Vovida: some kind of SIP replication;

sync problem after recovery Iptel: IP anycast with state replication

Requires transaction state sharing among servers because replication is not visible to the client

Page 48: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

48

High availabilityHigh availabilityFailover implementation in our test-bed - CINEMAFailover implementation in our test-bed - CINEMA

Slave/master

Webscripts

D2

P2

Master/slave

Webscripts

D1

P1

phone.cs.columbia.edu sip2.cs.columbia.edu

REGISTER

proxy1 = phone.csbackup = sip2.cs

_sip._udp SRV 0 0 5060 phone.cs.columbia.edu SRV 1 0 5060 sip2.cs.columbia.edu

replication

MySQL: No locking protocol between master and slave. Race if insert into D1 and remove from D2

INVITE to P2 either onICMP error or after 10

s

sipd has in-memory cache: REGISTER refresh much before expiry; web gets delayed data; not an issue for cisco phones

Page 49: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

49

High availabilityHigh availabilityAnalysisAnalysis

System reliability(1-(1-R)2)

Call setup latencyTR (1-R) P[tM<TD]

where TD is DNS TTL,

tM is time-to-repair, and

P[tM<TD] = 1 – e-TD/TM

User unavailabilityNone (refresh; double register)For first time registration,

probability that the server goes down before replication is:

1 – e-(Td/+Tc)/TF

where TF is mean-time-to-failure

Redundant serversTradeoff: reliability vs capacity

Slave/master

Master/slave

DNS

P1 P2Caller

Callee

D1 D2

TR

Tr

TR

Tc

Tc

Td

A

ATc

P1 P2D1 D2

Page 50: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

50

Bulk arrivalBulk arrival

What if all servers come up immediately after power recovery? Carrier (gradually) vs enterprise (all at once) Wait timer in SIP configuration based server

capacity Don’t query the server for config on reboot

Not a problem if server gracefully drops requests without degrading the performance

Clients retry – and succeed over an hour

Page 51: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

51

What does scalability depend What does scalability depend on?on?Depends on traffic typeDepends on traffic type

Registration (uniform) Authentication, mobile users

Call routing (Poisson) stateful vs stateless proxy, redirect, programmable

scripts Beyond telephony (Don’t know)

Instant message, presence (including sensors), device control

Stateful calls (Poisson arrival, exponential call duration)

Firewall, conference, voicemail Transport type

UDP/TCP/TLS (cost of security)

Page 52: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

52

Related work: web server Related work: web server scalabilityscalability Existing work

Connection dispatcher (NAT) Same IP address Content/session-based redirection DNS-based load sharing

HTTP vs SIP UDP+TCP, signaling not bandwidth intensive, no

caching of response, read/write ratio is comparable for DB

SIP scalability bottleneck Signaling, real-time media data, gateway 302 redirect to less loaded server, REFER session

to another location, signal upstream to reduce

Page 53: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

53

SIP vs HTTP serverSIP vs HTTP server Signaling (vs data) bound

No File I/O (exception: scripts, logging) No caching; DB read and write frequency are

comparable Transactions

Stateful wait for response Depends on external entities

DNS, SQL database Transport

UDP in addition to TCP/TLS; may not need TCP state Goals

Carrier class scaling using commodity hardware Try not to customize/recompile OS or implement (parts

of) server in kernel (khttpd, AFPA)

Page 54: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

54

What is SIPstone?What is SIPstone?SIP server performance metricsSIP server performance metrics

Steady state rate for successful registration, forwarding and

unsuccessful call attempts measured using 15 min test runs.

Measure: #requests/s with given delay constraint.

Performance=f(#user,#DNS,UDP/TCP,g(request),L) where g=type and arrival pdf (#request/s), L=logging?

For register, outbound proxy, redirect, proxy480, proxy200.

Parameters Measurement interval, transaction response time,

RPS (registers/s), CPS (calls/s), transaction failure probability<5%,

Delay budget: R1 < 500 ms, R2 < 2000 ms Shortcomings:

does not consider forking, scripting, Via header, packet size, different call rates, SSL. Is there linear combination of results?

Whitebox measurements: turnaround time Extend to SIMPLEstone

Loader Handler

REGISTER

Server

INVITE

INVITE

180 Ringing180 Ringing

100 Trying

200 OK

200 OK200 OK

200 OK 200 OK

ACKACK

BYE BYE

SQLdatabase

R2

R1

Page 55: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

55

Comparison of two designsComparison of two designs

=((tr/D)+1)TN=(A/D) + B

=((tr+1)/D)TN=(A/D) + (B/D)

D1

D2

P1

P2

P3

D1

D2

P1

P2

P3

D2

a-h

i-q

r-z

Total time per DB

D = number of database serversN = number of writes (REGISTER)r = #reads/#writes = (INV+REG)/REGT = write latencyt = read latency/write latencyP = number of proxy serversRp = reliability of the proxy serverRd = reliability of the database server

=(1-(1-Rp)P).(1-(1-Rd)D) =R0.(RP)D.(Rd)DSystem reliability

High Scalability

Low Reliability

Low Scalability

High Reliability

Page 56: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

56

Two stage architectureTwo stage architecture

When is stateless proxy stage needed What are the optimal values for S,B,P

for required scalability (1-10 million BHCA) and reliability (99.999%) using commodity hardware

Master

Slave

Master

Slave

s1

s2

s3

a1

a2

b1

b2

S=3

B=2

P=1+1

ex

= R + P

REGISTER+INVITE, etc

r, p s

/B

Rs Ms

Rp Mp

Page 57: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

57

Performance evaluationPerformance evaluationScalability result (UDP, stateless, no DNS, no mempool)Scalability result (UDP, stateless, no DNS, no mempool)

I(s) II(p) calls/s

3 3 2800

2 3 2100

2 2 1800

1 2 1050

0 1 900

On commodity hardware:3 GHz, Pentium 4, 1 GB memory

Stateful proxy gave similar graphs with 650 CPS for single server.

Line segments due to non-uniform distribution in II stage; I have verified uniform distribution also.

Regitration test also gave similar graphs with about 2400 RPS (no auth). This means 10 million subscribers using S3P3.

This means 10 million BHCA (busy hour call attempts) using S3P3.

Page 58: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

58

User diversity on incoming User diversity on incoming callscallsIs uniform hashing an issue?Is uniform hashing an issue?

Didn’t find any existing evaluation Adaptive load balancing for identifier-based

distribution. issue – transfer registrations to new DB

Related results: File popularity is Zipf; user is more uniform (poisson) Dynamic load balancing in web is useful if service

time range is more than two orders. (but all servers have same pages)

Intuitive: With 100,000 subscribers per server, you need to be

very unlucky that one of those is equivalent to thousands of subscribers

Page 59: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

59

User diversity on incoming User diversity on incoming callscallsIs uniform hashing an issue?Is uniform hashing an issue?

My argument (not sure): Assume user popularity for calls is Poisson with mean L.

(independent calls for users) X is a random variable indicating number of calls a user receives

If there are two servers, and assuming the user population gets uniformly distributed, each server gets roughly half the user population for each call rank. So user popularity again is Poisson with mean L.

Thus mean (and variance) remains the same However if user popularity is Zipf, then it is different;

variance can be high Alternative:

If you plot number of calls vs users in decreasing order. Assume this is exponential. (analogy: calls/time to calls/users)

Having two servers basically shrinks the x-axis to half. So each server has exponential graph with mean L/2

Page 60: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

60

Reliability of two-stageReliability of two-stage

If S=P=B=3, each server is 99% available

Total: (1-(1-R)S).(1-(1-R)B)P = 99.9996%

P doesn’t have to be 1+1 for each group, but can be N+1 for N groups.

One backup keeps all records in memory, but gets only updates in contact rather than each refresh. Doesn’t have to survive reboots. Clones itself to another DB when failure occurs.

Page 61: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

61

What is the best What is the best architecture?architecture?

Event-based Reactive system

Process pool Each pool process

receives and processes to the end (SER)

Thread pool1. Receive and hand-over to pool

thread (sipd)2. Each pool thread receives and

processes to the end3. Staged event-driven: each stage

has a thread pool

recvfrom oraccept/recv

Match transaction

Modifyresponse

Match transaction

Update DB

Lookup DBBuildresponse

Modify Request

DNS

sendto,send orsendmsg

parse

Request

Response

Stateless proxy

Found

Stateless proxy

stateful

REGISTER

other

Redirect/reject

Proxy

Page 62: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

62

Stateless proxyStateless proxyUDP, no DNS, six messages per callUDP, no DNS, six messages per call

recvfrom oraccept/recv

Match transaction

Modifyresponse

Match transaction

Update DB

Lookup DBBuildresponse

Modify Request

DNS

sendto,send orsendmsg

parse

Request

Response

Stateless proxy

Found

Stateless proxy

stateful

REGISTER

other

Redirect/reject

Proxy

Page 63: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

63

Stateful proxyStateful proxyUDP, no DNS, eight messages per callUDP, no DNS, eight messages per call

Event-based single thread: socket listener + scheduler/timer

Thread-per-message pool_schedule => pthread_create

Thread-pool1 (sipd) Thread-pool2

N event-based threads Each handles specific subset of requests (hash(call-id))

Receive & hand over to the correct thread poll in multiple threads => bad on multi-CPU

Process pool Not finished yet

Page 64: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

64

Server performanceServer performanceResults of my measurements; effect of multi-processorResults of my measurements; effect of multi-processor

Calls/s for stateless proxy, UDP, no DNS, 6 msg/callArchitecture/Hardware

1 PentiumIV 3GHz, 1GB, Linux2.4.20(1xP)

4 pentium, 450MHz, 512 MB, Linux2.4.20(4xP)

1 ultraSparc-IIi, 300 MHz, 64MB, Solaris(1xS)

2 ultraSparc-II, 300 MHz, 256MB, Solaris(2xS)

Event-based 1550 400 150 600

Thread per msg 1300 500 100 500

Pool-thread per msg

1400 850 110 600

Thread-pool 1500 1300 152 750

Process-pool 1600 1350 160 1000Calls/s for stateful proxy, UDP, no DNS, 8 msg/call

Architecture/Hardware

1 PentiumIV 3GHz, 1GB, Linux2.4.20(1xP)

4 pentium, 450MHz, 512 MB, Linux2.4.20(4xP)

1 ultraSparc-IIi, 360MHz, 256 MB, Solaris5.9 (1xS)

2 ultraSparc-II, 300 MHz, 256 MB, Solaris5.8 (2xS)

Event-based 1150 300 160 400

Thread per msg 600 175 90 300

Thread-pool 850 340 120 300

2 stage thread-pool

1100 550 155 500

Better performance as this includes mempool changes Software architecture

further improves performance: S3P3 can support 16 million BHCA

Both Pentium and Sparc took approx 2 MHz CPU cycles per call/s on single-processor

Page 65: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

65

(a) Stateless proxy

0

1

2

3

4

1xP/Linux 4xP/Linux 1xS/Solaris 2xS/Solaris

event basedthread per msgpool-thread per msgthread poolprocess pool

(b) Stateful proxy

0

1

2

3

4

1xP/Linux 4xP/Linux 1xS/Solaris 2xS/Solaris

event based

thread per msg

thread pool (sipd)

(2 stage) thread pool

Not much concurrency in stateful mode: needs more investigation

Page 66: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

66

What is the best What is the best architecture?architecture? Stateless

CPU is bottleneck Memory is constant Process pool is the

best Event-based not

good for multi-CPU Thread/msg and

thread-pool similar Thread-pool2 close

to process-poll

Stateful Memory can

become bottle-neck

Thread-pool2 is good

But not N x CPU Not good if P

CPU Process pool may

be better (?)

Page 67: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

67

In memory database in sipdIn memory database in sipd Call routing

involves ( 1) contact lookups

10 ms per query (approx)

Cache (FastSQL) Loading entire

database is easy Periodic refresh

Potentially useful for DNS lookups

SQLdatabase

Cache

PeriodicRefresh

< 1 ms

[2002:Narayanan] Single CPU Sun Ultra10 Turnaround time vs RPS

Web config

Page 68: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

68

Thread-per request doesn’t Thread-per request doesn’t scalescale

One thread per message Doesn’t scale

Too many threads over a short timescale

Stateless: 2-4 threads per transaction

Stateful: 30s holding time

Thread pool + queue Thread overhead less; more useful processing Pre-fork processes for SIP-CGI

Overload management Graceful failure, drop requests over responses

Not enough if holding time is high Each request holds (blocks) a thread

R1R2

R3

R4

IncomingRequestsR1-4

Load

Thro

ugh

put

IncomingRequestsR1-4

Fixed number of threads

Thread pool with overload control

Thread per request

Page 69: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

69

Avoid blocking calls in sipdAvoid blocking calls in sipd DNS

10-25 ms (29 queries) Cache

110 to 900 CPS Internal vs external

non-blocking Logger

Lazy logger as a separate thread Date formatter

Strftime() 10% REG processing Update date variable every second

random32() Cache gethostid()- 37s

Logger:while (1) { lock; writeall; unlock; sleep;}

Page 70: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

70

Resource management in Resource management in sipdsipd Socket management

Problems: OS limit (1024), “liveness” detection, retransmission One socket per transaction does not scale

Global socket if downstream server is alive, soft state – works for UDP

Hard for TCP/TLS – apply connection reuse Socket buffer size

64KB to 128KB; Tradeoff: memory per socket vs number of sockets Memory management

Problems: too many malloc/free, leaks Memory pool

Transaction specific memory, free once; also, less memcpy About 30% performance gain

Stateful: 650 to 800 CPS; Stateless: 900 to 1200 CPS

Stateless processing time (s)

INV 180 200 ACK BYE 200 REG 200

W/o mempool 155 67 67 95 139 62 237 70W/ mempool 111 49 48 64 106 41 202 48Improvement (%) 28 27 28 33 24 34 15 31

Page 71: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

71

Optimized processing in SEROptimized processing in SER Reduce copying and string operations

Data lumps, counted strings (+5-10%) Reduce URI comparison to local

User part as a keyword, use r2 parameters Parser

Lazy parsing (2-6x), incremental parsing 32-bit header parser (2-3.5x)

Use padding to align Fast for general case (canonicalized)

Case compare Hash-table, sixth bit

Database Cache is divided into domains for locking

[2003:Jan Janak] SIP proxy server effectiveness, Master’s thesis, Czech Technical University

Page 72: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

72

Bottlenecks and other Bottlenecks and other scalability concerns scalability concerns addressed in SERaddressed in SER Protocol bottlenecks

Parsing Order of headers Host names vs IP address Line folding Scattered headers (Via, Route)

Authentication Reuse credentials in subsequent requests

TCP Message length unknown until Content-Length

Other scalability concerns Configuration:

broken digest client, wrong password, wrong expires Overuse of features

Use stateless instead of stateful if possible Record route only when needed Avoid outbound proxy if possible

Page 73: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

73

Comparison of sipd and SERComparison of sipd and SER

sipd Thread pool Events (reactive

system) Memory pool PentiumIV 3GHz,

1GB, 1200 CPS, 2400 RPS (no auth)

SER Process pool Custom memory

management PentiumIII 850

MHz, 512 MB => 2000 CPS, 1800 RPS

Page 74: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

74

Results of our measurementResults of our measurement Stateless proxy

S=1050, P=900 CPS S3P3 => 10 million BHCA (busy hour call attempts)

Stateful proxy S=800, P=650 CPS

Registration (no auth) S=2500, P=2400 RPS S3P3 => 10 million subscribers (1 hour refresh)

Memory pool and thread-pool2/event-based further increase the capacity (approx 1.8x)

Page 75: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

75

3GPP’s IMS3GPP’s IMS3GPP (release 5)’s IP Multimedia core network Subsystem 3GPP (release 5)’s IP Multimedia core network Subsystem uses SIPuses SIP

Proxy-CSCF (call session control function) First contact in visited network. 911 lookup. Dialplan.

Interrogating-CSCF First contact in operator’s network. Locate S-CSCF for register

Serving-CSCF User policy and privileges, session control service Registrar

Connection to PSTN MGCF and MGW

Page 76: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

Peer-to-peer Internet Peer-to-peer Internet telephonytelephony

Page 77: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

77

Comparison:Comparison:Server-based, structured and unstructured P2PServer-based, structured and unstructured P2P

Architecture Server-based (two-stage)

Structure P2P (Chord/log(N))

Unstructured P2P(blind search)

Reliability (or user record availability)

(1-(1-R)P) Upper bound No guarantee

Performance (delay)

Low Log(N) No guarantee; Implementation dependent

Scalability (number of users)

Linear with number of servers

Exponential with per node capacity

If constant degree, then no limit

Page 78: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

78

P2P vs server-basedP2P vs server-basedserver-based P2P

scaling server count scales with user count, but limited by supernode count

efficiency most efficient DHT maintenance = O((log N)2), lookup = O(logN)

security trust server provider; binary

trust most supernodes; probabilistic

reliability server redundancy; catastrophic failure possible

unreliable supernodes; catastrophic failure unlikely

Page 79: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

79

Structured vs. unstructured Structured vs. unstructured P2P-SIPP2P-SIP Unstructured P2P alone is not good

No guarantee (upper bound) in lookup Fall back to server; has central dependency Caching is not much useful as contacts change

often; caching good for non-mutable data (e.g., certificates) because replication and caching of mutable data don’t go together well.

Skype works: Few super nodes are too burdened Node:supernode ~ 400:1 Probably some kind of structure (user name

prefix) among super nodes, and falls back to central server

Page 80: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

80

NAT traversal and P2P-SIPNAT traversal and P2P-SIP

Joining a DHT from behind a NAT: open issue NATed nodes acts as users of DHT

Media traversal STUN (not symmetric: 18%?), TURN,

ICE Hole punching – works with 60%

symmetric

Page 81: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

81

SecuritySecurityopen issues (threats, solutions, issues)open issues (threats, solutions, issues)

More threats than server-based Privacy, confidentiality Malicious node

Don’t forward all calls, log call history (spy),… “free riding”, motivation to become super-node

Existing solutions Focus on file-sharing (non-real time) Centralized components (boot-strap, CA) Assume co-operating peers

works for server farm in DHT Collusion Hide security algorithm (e.g., yahoo, skype)

Chord Recommendations, design principles, …

Page 82: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

82

SecuritySecurityRandom thoughtsRandom thoughts

Un-trusted peers: Misrouting: easy to detect No-routing: hard (redundancy, reputation,

“call itself”) Problems:

Malicious program, copyright violation, stolen identity, privacy, free riding, sybil, programmable scripts, aliases

Separate DHT from application Managed DHT: more trusted

Page 83: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

83

Why P2P-SIP? What is our P2P-Why P2P-SIP? What is our P2P-SIP?SIP?

Server-based Maintenance and configuration cost: dedicated

administrator Central point of failures: catastrophic failures Depends on controlled infrastructure (e.g., DNS)

Peer-to-peer Self adjusting, robust against catastrophic failures, highly

scalable, and no configurations Call setup and user search latency is higher: O(log(N)) Security: how to handle malicious peers? Identity

protection? Our P2P-SIP

Hybrid architecture: works with both P2P and server-based Built-in P2P network: acts as a service node for proxy,

registrar, presence, offline storage, and media relay External P2P network: managed and trusted peer nodes Identity protection: Email identifier == SIP identifier

Page 84: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

84

Deployment scenariosDeployment scenarios

P

P

P

P

P

P2P proxies

P

P

P

P

P

P2P clients

Plug and play; May use adaptors;Untrusted peers;Super-nodes

Zero-conf server farm; Trusted servers and user identities

Interoperate among these!

Page 85: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

85

SIP-using-P2PSIP-using-P2PUsing an External P2P network (distributed hash table - Using an External P2P network (distributed hash table - DHT)DHT)

Data model Treat DHT as

database

Service model Join DHT to provide

service

DHT

[1]

[2]

[3]

[1] put(k,192.1.2.3), k is H(bob)[2] get(k) gives 192.1.2.3[3] INVITE sip:bob to 192.1.2.3

bob192.1.2.3

alice

DHT[1]

[2]

[3]bob

alice

[4]

[5]

[5]

[1] join(128.3.4.5)[2] lookup(H(bob)) gives 128.3.4.5[3] REGISTER sip:bob to 128.3.4.5[4] lookup(H(bob)) gives 128.3.4.5[5] INVITE sip:bob to 128.3.4.5

Servicenode

(128.3.4.5)

Page 86: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

86

SIP-using-P2PSIP-using-P2PImplementation in SIPc with the help of Xiaotao WuImplementation in SIPc with the help of Xiaotao Wu

OpenDHT Trusted nodes Robust Fast enough (<1s)

Identity protection Certificate-based SIP id == email

P2P forCalls, IM, presence, offline message, STUN server discovery and name search

P2P clients better than proxies:

Less DHT calls OpenDHT quota per

client limits put by proxies

Page 87: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

87

P2P-over-SIPP2P-over-SIPNode architecture: registrar, proxy, user agentNode architecture: registrar, proxy, user agent

DHT communication using SIP REGISTER Known node: sip:[email protected] Unknown node: sip:[email protected] User: sip:[email protected]

User interface (buddy list, etc.)

SIPICE RTP/RTCP

Codecs

Audio devicesDHT (Chord)

On startup

Discover

User location

Multicast REGISTERPeer found/Detect NAT

REGISTER

REGISTER, INVITE,MESSAGE

Signup,Find buddies

JoinFind

Leave

On resetSignout,transfer

IM,call

SIP-over-P2PP2P-using-SIP

Page 88: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

88

P2P-over-SIPP2P-over-SIPImplementationImplementation

sippeer: C++, Linux, Chord Node join and form

the DHT Node failure is

detected and DHT updated

Registrations transferred on node shutdown

Co-located sipc can use sippeer service

1

11

9

30

26

31

15

29

25

19

31

26

Page 89: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

89

Chord backgroundChord background

Identifier circle Keys assigned to successor Evenly distributed keys and nodes Finger table: logN

ith finger points to first node that succeeds n by at least 2i-1

Stabilization for join/leave

1

8

14

21

32

38

58

47

10

2430

54

38

42

Key node

8+1 = 9 14

8+2 = 10

14

8+4 = 12

14

8+8 = 16

21

8+16=24

32

8+32=40

42

Page 90: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

90

Design alternativesDesign alternatives

65a1fc

d13da3

d4213f

d462bad467c4

d471f1

d46a1c

Route(d46a1c)

18

14

21

3238

58

47

10

24 30

54

38

42

Use DHT in server farm

Use DHT for all clients; But some are resource limited

Use DHT among super-nodes

servers

clients

1

10

2430

54

38

Page 91: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

91

SIP messagesSIP messages DHT (Chord) maintenance

Query the node at distance 2k with node id 11REGISTER

To: <sip:[email protected]>

From: <sip:[email protected]>

SIP/2.0 200 OK

To: <sip:[email protected]>

Contact: <sip:[email protected]>; predecessor=sip:[email protected]

Update my neighbor about meREGISTER

To: <sip:[email protected]>

Contact: <sip:[email protected]>; predecessor=sip:[email protected]

1

10

15

22

Find(11) gives 15

7

Page 92: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

92

SIP messagesSIP messages

User registrationREGISTER

To: sip:[email protected]

Contact: sip:[email protected]:8094

Call setup and instant messagingINVITE sip:[email protected]

To: sip:[email protected]

From: sip:[email protected]

Page 93: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

93

Adaptor for existing phonesAdaptor for existing phones

Use P2P-SIP node as an outbound proxy

ICE for NAT/firewall traversal STUN/TURN

server in the node

Page 94: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

94

Hybrid architectureHybrid architecture Cross register,

or Locate during

call setup DNS, or P2P-SIP

hierarchy

Page 95: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

95

P2P-over-SIPP2P-over-SIPAnalysis: scalabilityAnalysis: scalability

Number of messages depends on Number of peer nodes (N) Keep-alive (rs) and finger table refresh rate (rf) Call arrival distribution (c) Node join, leave, failure rates () Number of users (k.N) User registration refresh rate (t)M={rs+ rf(log(N))2} + c.log(N) + (k/t)log(N) + (log(N))2/N

Number of nodes = f(node-capacity)Nmax min[2M/(r+c),2M/r] for large N Measured M = 800 reg/s and assuming aggressive

refresh and call rate of 1/min, it gives 2219 nodes >> 2160.

Even for a conservative 10 req/s capacity, it gives more than 16 million nodes (super nodes) in the network.

Page 96: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

96

P2P-over-SIPP2P-over-SIPAnalysis: availability and call setup latencyAnalysis: availability and call setup latency

To increase user availability: Increase keep-alive rate (fast failure

detection) Increase user registration refresh rate

(reduce unavailability) Replicate user and node registrations

Call setup latency: Same as DHT lookup latency: O(log(N))

Calls to known locations (“buddies”) is direct DHT optimization further reduces latency

Chord: 10000 nodes => 6 hops At most a few seconds User availability and retransmission timers

Page 97: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

97

Skype Skype From the KaZaA communityFrom the KaZaA community

Host cache of some super nodes Bootstrap IP addresses Auto-detect NAT/firewall settings

Similar to STUN and TURN Protocol among super nodes – ?? Allows searching a user (e.g., kun*) History of known buddies All communication is encrypted Promote to super node

Based on availability, capacity Conferencing Problems:

Proprietary, single service, centralized login

P

P

P

P

PP

PP

P

P P P

Page 98: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

98

Related workRelated work P2P networks

Unstructured (Kazaa, Gnutella,…) Structured (DHT: Chord, CAN,…)

Skype and related systems Flooding based chat, groove, Magi Skype-in/out uses SIP

P2P-SIP telephony Proprietary: NimX, Peerio, File sharing: SIPShare Now in IETF: W&M, Avaya, Panasonic, …

Page 99: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

99

Why we chose Chord?Why we chose Chord?Just as a simple example DHTJust as a simple example DHT

Chord can be replaced by another As long as it can map to SIP

High node join/leave rates Provable probabilistic guarantees Easy to implement X proximity based routing X security, malicious nodes

Page 100: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

100

Why we chose Chord?Why we chose Chord?Reliability of Chord under churnReliability of Chord under churn

If 50% nodes fail, only 3% lookups fail If successor list length is O(logN) and

node failure probability is 50% in a stable network, then still works in O(logN) lookup hops.

Becomes strongly stable after O(N2) rounds of strong stabilization

If failures happen atmost N/2 in LogN steps, then becomes stable in O(N3)

Page 101: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

101

Chord stabilization vs Chord stabilization vs availabilityavailability

Increasing message rate to 1.25 msg/sec/node allows < 0.4% failed lookupshttp://www.eecs.harvard.edu/~jonathan/sigops02/sigops02.html

Page 102: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

102

JXTA vs Chord in P2P-SIPJXTA vs Chord in P2P-SIP

JXTA Protocol for communication (peers,

groups, pipes, etc.) Stems from unstructured P2P

P2P-SIP Instead of SIP, JXTA can also be used

Separate search (JXTA) from signaling (SIP)

Page 103: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

103

Node startupNode startup SIP

REGISTER with SIP registrar DHT

Discover peers: multicast REGISTER

Join DHT using node-key=Hash(ip) REGISTER with DHT using user-

key=Hash([email protected]) Dialing out

Call, instant message, etc. INVITE sip:[email protected]

MESSAGE sip:[email protected] Last seen, SIP NAPTR/SRV, DHT

[email protected]

REGISTER

DB

sipd

Detect peers

columbia.edu

14

32

5812

42

REGISTER alice=42

REGISTER bob=12

Page 104: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

104

Node leavesNode leaves

Graceful leave Un-REGISTER Transfer registrations

Failure Attached nodes detect

and re-REGISTER New REGISTER goes to

new super-nodes Super-nodes adjust DHT

accordingly

DHT

REGISTER key=42

OPTIONS

42

42

REGISTER

Page 105: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

105

Advanced servicesAdvanced services

Offline messages INVITE or MESSAGE fails =>

Responsible node stores voicemail, instant message.

Conferencing Mixer, full mesh, multicast

Inter-domain Local DHT; connected by DNS or

global DHT

Page 106: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

Enterprise IP telephonyEnterprise IP telephony

Page 107: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

107

Goal of my workGoal of my work Beyond voice: video, text, IM, presence, screen sharing, shared

web browsing, … Beyond SIP phone: regular telephone, email, web, … Beyond synchronous communication: offline mails, discussion

forum, file sharing, …

ProgramCall

routing

SIP SAP RSVP RTCP

RTP

MediaG.711MPEG

RTSP

Signaling Quality of service Media transport

InternetTelephony

InternetRadio/TV Messaging

and Presence

Interactivevoice response

Unified messagingVideo

conferencing

Physical layer

Link layer

Network (IPv4, IPv6)

Transport (TCP, UDP)

Application layer

VoiceXML

DTMF MixingSpeech/

textSDP

ProgramCall

routing

SIP SAP RSVP RTCP

RTP

MediaG.711MPEG

RTSP

Signaling Quality of service Media transport

InternetTelephony

InternetRadio/TV Messaging

and Presence

Interactivevoice response

Unified messagingVideo

conferencing

Physical layer

Link layer

Network (IPv4, IPv6)

Transport (TCP, UDP)

Application layer

Physical layer

Link layer

Network (IPv4, IPv6)

Transport (TCP, UDP)

Application layer

VoiceXML

DTMF MixingSpeech/

textSDP

Page 108: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

108

Related workRelated workIP telephony and multimedia IP telephony and multimedia communicationcommunication

Unlike low cost VoIP: Vonage, AT&T We provide enterprise infrastructure

There are enterprise IPtel: Cisco, Nortel But redundancy architecture, interoperability,

distributed components model differ Collaboration: CSCW, SIGGROUP, Breeze

Unlike web-centric, or application specific We provide standard-based multimedia

collaboration platform Multimedia conferencing: Mbone, H.323

Ours is SIP-based infrastructure, reuse existing tools and protocols such as RTSP, media server

Page 109: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

109

Related workRelated workComprehensive multi-platform Comprehensive multi-platform collaborationcollaboration

Goal: Alternate between synchronous and asynchronous communication, and access from different devices and clients.

Synchronous (tightly coupled) Video conference, IM, screen

sharing, floor control, … Asynchronous (loosely

coupled) File sharing, message board, … Messaging and notifications

Personalized view Per-user calendar, access

control, address book

We try to incorporate… Long lived groups

Design teams, committees, college classes

Asymmetric events Lecture and lecture

series Short-lived spontaneous

interaction Current practice

Email, teleconference Vendor specific tools,

platform dependence Application specific

E.g., collaborative software development

Page 110: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

110

Multi-party collaborationMulti-party collaborationWhat is done, and what is left.What is done, and what is left.

Sipconf: conference server Audio, video, IM, screen, shared

browsing, floor control No XCON yet: use web interface Small to medium size conferences

Cascaded conference mixer #participants, audio delay

Failover State sharing between servers

Page 111: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

111

Communication to Communication to collaborationcollaboration Comprehensive

Personalized view Calendar, address book, groups and access control

Synchronous (tightly-coupled) collaboration Conferencing: audio, video, IM, white-board, screen sharing,

shared web browsing Asynchronous (loosely-coupled) collaboration

Unified messaging, shared files, discussion forum, notification Multi-platform (device)

Telephone: touch tone input and audio (IVR) PC: multimedia client, email, IM Reuse existing protocols and tools

Unified messaging The gaps among different media (audio, video, text),

devices (PC, phone) and means of communications (Email, SIP, IM) disappear for messaging

Page 112: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

112

What’s next?What’s next?from multimedia communications to from multimedia communications to collaborationcollaboration

Synchronous communications Conferencing, IM

Asynchronous communications Voicemails, message board, file sharing

Ubiquitous computing i-button, ID-card

Service creation User friendly, end-point/network

[email protected]://www.cs.columbia.edu/~kns10/http://www.cs.columbia.edu/IRT/cinema

Page 113: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

113

VoicemailVoicemail

Goals Universal access Scalability Provider

independent Why SIP and

RTSP? Reuse existing

infrastructure and tools

(1) INVITE

INVITE

INVITEOK

CANCEL

(3) OK

(2) SETUP

(4) RTP

(5) BYE

email

rtspd

sipum

Page 114: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

114

Web interfaceWeb interface Retrieval

Web interface rtsp://server/alice

/inbox/1677.au, sip:alice-1677-

retrieve@server press 1 to listen…

Configuration Folders Options Email

Page 115: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

115

Conferencing models Conferencing models (non-(non-multicast)multicast)

A

B C

D

B

A+C+D

A

B C

AB+C+D

A+B+D

C

D

D

A+B+C

A

B C

D

Topology star full-mesh ad-hoc

Advantages Heterogeneoussimple clients

No central point offailure

DisadvantagesExternal server with high bandwidth link

Complex endpointsComplex signaling

Typically only three party conferences

Page 116: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

116

ConferenceConference

Page 117: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

117

ConferenceConference

G.711, GSM, DVI, Speex, G.722 mixing (decode-mix-encode) Video replication; IM; text; VNC screen sharing; floor control; IVR for joining Optimization possible for same codecs

D

D

D

E

E

E

A

B

C

G711

DVI

GSM

Linear

Linear

Linear

G711

DVI

G711

Playout delay Periodictimer

M=A+B+C

Mixed linear

M - A=B+C

M - B

M - C

Receive Send

Page 118: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

118

Performance evaluationPerformance evaluation

CPU usage = (.P + ).C = (Me+a.B’+b) and = (Md+c.B’+d)B’ = B + 320/TFor C conferences, each with P participants. a,b,c,d are constants; b,d are

comparatively insignificant For G.711 codec Me and Md are insignificant (5.5 and 1.7 s),

thus CPU = C.(a.P+c).(B+320/T) For GSM, G.722, (or G.723.1), Me and Md are dominant (70 and 30/50

s), thus CPU = C.(Me.P+Md)

Increase in parameter value

CPU Bandwidth Delay

Packetization interval (T) Reduces Reduces Increases

Codec bitrate (B) Increases Increases N/A

Codec complexity (M) Increases N/A N/A

Network jitter (J) N/A N/A Increases

Page 119: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

119

Performance evaluationPerformance evaluation

About 480 participants in a single conference with one speaker

About 80 four-party conferences

Memory used 20 kB per call or participant

Delay less than 20 ms: increases from first to last participant in a conference

Packetization interval of 40 ms gives better performance: 720, but increases delay too

Both Pentium and Sparc took about 6 MHz/participant

Page 120: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

120

CINEMACINEMAMy contribution in design and My contribution in design and implementationimplementation

sipdsip323 sipconf sipumsipvxmlrtspd

CINEMA Libraries

libNT

Win32 stub

libcine

Utilities parsingIPv6

libsip

Basic SIP library

libsipapi

SIP UA library

libconf

RTP audio mixer

libdict

Hash table

libdb++

mySQL interface

RTSP mediaserver

SIP proxy server

SIP/H.323gateway

SIP/RTP conferencing

SIP/RTSP unified messaging

SIP/VoiceXMLbrowser

Xerces-COpenH323

MySQLPWLibResparse

librtsp

RTSPclient

rtplib++

RTP library

libsnmp

SIP MIB

FliteXerces-C

CINEMA Applications

libcanon

canonicalize

libmedia

Recording, files

… and web-based GUI C/C++: 60K out of 187 KLOCTcl: 30 KLOC

Page 121: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

121

ContributionContributionSip-h323: signaling translatorSip-h323: signaling translator

Background: ITU-T’s H.323 Binary ASN.1 PER, collection of protocols (H.245, H.225.0, Q.931,

RAS, H.450.x) H.323 gatekeeper similar but not same as SIP server

Problems in interworking Multi-stage dialing in H.323v1

Fast start in v2 is optional User registration

Both SIP and H.323 users should be reachable Session description is more complex

End system should select the codecs Security and QoS: end-to-end or not?

Solution List different scenarios No modification in SIP or H.323 Direct RTP traffic if possible Implementation

Page 122: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

122

ContributionContributionSipum: Unified messaging using SIP and Sipum: Unified messaging using SIP and RTSPRTSP

Problem Existing systems have voicemail with PBX or phone, or

send voice attachments in email Downloading the whole message is not desirable

Solution Using existing standards (RTSP, SIP) and tools (web, media

player) Distributed components for different architectures (PBX,

phone, service provider) Many ways to retrieve your message (RTSP, SIP, phone,

web) Message deletion issues Call reclaiming Implementation

Page 123: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

123

ContributionContributionSipconf: Centralized conferencing using Sipconf: Centralized conferencing using SIP/RTPSIP/RTP

Problem Multicast is not available and ad hoc conference is useful

for small number of users Heterogeneous clients (some have video also; or different

audio codecs) Solution

Audio mixer, video forwarder IM, VNC screen sharing, shared web browsing Playout delay adjustments Web based configuration, floor control G.711 A/Mu, G.721, DVI, ADPCM, G.722, … Modular: libconf, libmedia, rtplib++ Implementation and performance evaluation

Page 124: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

124

ContributionContributionSipvxml: SIP-based VoiceXML browserSipvxml: SIP-based VoiceXML browser

Background VoiceXML for touch tone-based service programming Backend scripts (CGI) or servlets

Problem Then existing solutions were PSTN based

Solution First SIP-VoiceXML implementation SIP interface (works with PSTN via a gateway) Example cgi scripts

Calling card service Joining a conference (Ajay) Accessing voice mail (Ajay) Email by phone (Pimrampai) Auto attendant (Sean)

Page 125: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

125

ContributionContributionlibsip++: SIP user agent library in C++libsip++: SIP user agent library in C++

All the applications (sipum, sipconf, siph323, sipvxml) use a common underlying library

Similar API for H.323 defined using wrapper around openH323

Unlike JAIN-SIP or SIP servlet, libsip++ is more high level with facility to access low level features

Dialog, call, endpoint, registration are defined as objects (JAIN-SIP 1.1 added dialog as object)

Uses underlying transaction and parsing library shared with sipd

Test user agent (sipua) is used as tools, e.g., for sipconf testing

Documentation is at http://www.cs.columbia.edu/~kns10/software/siplib

Page 126: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

126

ContributionContributionGUI: web-based user interfaceGUI: web-based user interface

Configuration, user profile, etc., stored in SQL DB Front end as web-based GUI

CGI scripts in Tcl About 100 pages for various configuration

User friendly (beginner vs advanced, context help) Asynchronous collaboration

Voicemail, file sharing, IM archive, groups, address book, calendar

Undergone three iterations See current version at

http://phone.cs.columbia.edu/cinema/

Page 127: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

127

Interworking between SIP and Interworking between SIP and H.323H.323

IP and lower layers

TCP UDPTPKT

Q.931 H.245 RAS RTCPRTP

Codecs

Terminal Control/Devices

Transport Layer

SIP SDPRTP

CodecsRTCP

Terminal Control/Devices

Both use RTP for media thus allows scalable translator

SDP is simple. H.245 is very exhaustive and can represent inter-codec dependencies.

H.323 has multi-stage call setup. SIP has single stage. H.323 single step fast connect is optional

Basic calls are possible to translate. Complete interworking is not possible without modifying (conference, security).

Page 128: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

128

SIP vs H.323SIP vs H.323

Text based request response

SDP (media types and media transport address)

Server roles: registrar, proxy, redirect

Binary ASN.1 PER encoding

Sub-protocols: H.245, H.225 (Q.931, RAS, RTP/RTCP), H.450.x...

H.323 Gatekeeper

Both use RTP/RTCP over UDP/IP

Page 129: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

129

Interworking ProblemsInterworking ProblemsCall setup translationCall setup translation

Q.931 SETUP

Q.931 CONNECT

INVITE

200 OK

ACK

Terminal Capabilities

Terminal Capabilities

Open Logical Channel

Open Logical Channel

H.323 SIP

Destination address ([email protected])

Media capabilities (audio/video)

Media transport address (RTP/RTCP receive)

• Multi-stage dialing• H.323v2 Fast-start is optional

Page 130: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

130

Interworking ProblemsInterworking ProblemsUser RegistrationUser Registration

H.323 SIP

• Location independent user identifier ?• Use information from both networks

H.323 terminal

H.323 Gatekeeper SIP registrar

SIP user agent

?

Alias: HenryE164: 7040

sip:[email protected]:[email protected]

Page 131: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

131

Interworking ProblemsInterworking ProblemsMedia DescriptionMedia Description

H.323/H.245 (declare your exact modes)

• Translation in both directions• Algorithm selection by end-systems

Supports inter-media constraints { [G.711 Mu law, G.711 A law][H.261 video]} { [G.723.1] [no video] }

SIP/SDP (dynamically choose from listed modes)

List of alternative set of algorithms. audio G.711 Mu law, G.723.1, G.728 video H.261

Page 132: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

132

Interworking ProblemsInterworking ProblemsCommon subset of media capabilitiesCommon subset of media capabilities

{[a1,a2,a3], [v1,v2]}{[a1,a4,a5],[v1]} {[a1,a4,a2],[v1,v2,v3]}{[a1,a2,a5],[v1,v3]}

D1 D1’: {[a1,a2,a3],[v1,v2]}{[a1,a4,a2],[v1,v2,v3]}

D1 D2 D1’ D2’

D2 D1’: {[a1,a4,a5],[v1]} {[a1,a4,a2],[v1,v2,v3]}

D1 D2’: {[a1,a2,a3],[v1,v2]}{[a1,a2,a5],[v1, v3]}

D2 D2’: {[a1,a4,a5],[v1]} {[a1,a2,a5],[v1,v2,v3]}

S1 S2 S1’ S2’ S1^S1’, S2^S2’: {[a1,a2],[v1,v2]}S1^S2’, S2^S1’: {[ ],[ ]}

{[a1,a4],[v1]}

{[ ],[ ]}

{[a1,a2],[v1]}

{[ ],[ ]}

{[a1,a5],[v1]}

{[ ],[ ]}

Result: {[a1,a2],[v1,v2]} {[a1,a4],[v1]} {[a1,a5],[v1]}

Page 133: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

133

Interworking ProblemsInterworking ProblemsCall ServicesCall Services

H.323 Conferencing: centralized signaling control, MC (Multi-point Controller)

Supplementary services, like call transfer: H.450.x

SIP Conferencing: centralized bridged + decentralized distributed

REFER, 3pcc

Page 134: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

134

Interworking ProblemsInterworking ProblemsSecurity and QoSSecurity and QoS

H.323 uses H.235, whereas SIP uses Basic, Digest, TLS, S/MIME

Media Traffic end-to-end; QoS ?

Page 135: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

135

What we want ?What we want ?

Transparent translation Minimum modification in SIP or H.323 Use features from both SIP and H.323 Direct RTP/RTCP traffic; end-to-end

Page 136: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

136

User registrationUser registrationRegistration info Registration info toto foreign network foreign network

H.323 terminal128.59.19.200

H.323 Gatekeeper + SGWpc1.office.com

[email protected]:128.59.19.200

SIP registrar server

SIP user agent

[email protected]:pc1

INVITE [email protected]

3xx MovedContact:pc1

[email protected]

home.com

use SIP REGISTER and/or H.323 RRQ/RCF

Page 137: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

137

User registrationUser registrationRegistration info Registration info fromfrom foreign network foreign network

use SIP OPTIONS and/or H.323 LRQ/LCF

H.323 terminal128.59.19.200

H.323 Gatekeeperpc1.office.com

[email protected]:128.59.19.200

SIP registrar server + SGW

SIP user agent

LRQ/LCF

INVITE [email protected]

200 OK

[email protected]

home.com

Page 138: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

138

User registrationUser registrationDifferent ArchitecturesDifferent Architectures

• SGW co-located with H.323 gatekeeper

• SGW co-located with SIP registrar/proxy server

• Independent SGW

Page 139: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

139

Call SetupCall Setupwith H.323v2 Fast Startwith H.323v2 Fast Start

(Almost) One-to-one mapping between SIP and H.323 messages.

INVITE

200 OK.

ACK

Setup/FastStart

Connect/FastStart

H323 SIP

RTP/RTCP

Reverse direction is similar

Page 140: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

140

Call SetupCall Setupwithout Fast Startwithout Fast Start

Q.931 SETUP

Q.931 CONNECT

INVITE

200 OK

ACK

Terminal Capabilities

Terminal Capabilities

Open Logical Channel

Open Logical Channel

H.323 SIP

Destination address ([email protected])

Media capabilities (audio/video)

Media transport address (RTP/RTCP receive)

Accept the call from H.323, forward to SIP after OLC ? Not desirable.

Page 141: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

141

Call SetupCall Setupwithout Fast Start, SIP to H.323without Fast Start, SIP to H.323

INVITE

200 OK.

ACK

Setup/Q931

Connect/Q931

Capabilities/H245

Open Logical Channel/ H245

Open Logical Channel / H245

Capabilities/H245.

SignalingGateway

RTP/RTCP

H323 SIP

Acknowledgement

Acknowledgement

Media Transport Address

Page 142: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

142

Call SetupCall Setupwithout Fast Start, H.323 to SIPwithout Fast Start, H.323 to SIP

RTP/RTCP

H323 SIP

INVITE

200 OK

ACK

Setup/Q931

Connect/Q931

Capability Exchange

Open Logical Channel

SignalingGateway

Open Logical Channel

Re-INVITE/SIP+SDP

Acknowledgement

Acknowledgement

Media Transport Address

Page 143: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

143

Media CapabilityMedia Capability

• Modify SIP/SDP : multiple capability sets, or...

• Let the SGW choose a sub-set of capabilities for SIP side

• Re-INVITE or change in H.323 mode or logical channels, whenever it changes

Page 144: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

144

AliceBob

INVITE [email protected] can support -law and G.729Send me audio at 202.16.49.27:6780

OK; I can support -lawSend me audio at 128.59.19.194:8000

202.16.49.27 128.59.19.194

To port 6780

To port 8000RTP

RTP

Session descriptionSession description

Y

Page 145: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

145

Presence/event notificationPresence/event notification

PA

registrar

Presence server

office.com

SUBSCRIBE

NOTIFY

[email protected]

[email protected]

PUA

PUA

PUA + PA

Y

Page 146: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

146

Columbia Columbia IM and presenceIM and presence

Y

Page 147: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

147

Network call controlNetwork call control

SIP-CGI CPL SIP servlets

Priority.pl

SIP_FROMSIP_TOstdin

CGI-PROXY-REQUESTstdout

SIP proxy

Urgent

Low-priority

Voicemail

Phone

Y

if (defined $ENV{SIP_FROM} &&

$ENV{SIP_FROM} =~ /sip:[email protected]/)

{

foreach $reg (get_regs())

{

print "CGI-PROXY-REQUEST $reg SIP/2.0\n";

print "Priority: urgent\n\n";

}

}

Page 148: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

148

Call transferCall transfer

REFER Blind/

consultation/ attended

active call

REFER CReferred-By: B

INVITE CReferred-By: B

BYE A

A B

C

active call

O

Page 149: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

149

B2BUA and third-party call B2BUA and third-party call controlcontrol

Back-to-back UA Incoming call

triggers outgoing call

Services Calling card Anonymizer

INVITE

AB

CSIP

SIP

OK (SDP1)

ACKINVITE (SDP1)

OK (SDP2)

ACKINVITE (SDP2)

OK

ACK

O

Page 150: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

150

VoicemailVoicemail

Problems in PSTN

Design alternatives

Issues

[email protected]

Redirect after 10s

vmail.pl

SIP_FROMSIP_TOstdin

CGI-PROXY-REQUESTstdout

If no response accept after 15s

Endpoint redirects

Voicemail acts like a phoneProxy controls

Y

Page 151: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

151

VoiceXMLVoiceXML

Telephone

PSTNPSTN

Voice gateway

Web server

• Service logic (CGI, servlet, JSP)

• Voice and telephony functions• VoiceXML browser

Internet userVXMLVXML HTMLHTML

Internet

Internet

IVR platform• Voice and telephony functions (ASR, TTS, DTMF)• Service logic (application specific)

sipvxmlGateway

Y

Page 152: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

152

VoiceXML contd.VoiceXML contd.

<form action=“url”> Enter your Id: <input name=‘id’> <input type=‘submit’> </form>

<form> <field name=‘id’> <prompt> Your ID, please. </prompt> </field> <block> <submit next=“url”/> </block></form>

Telephony, speech synthesis or audio output, user input and grammar, program flow, variable and properties, error handling, …

Y

Page 153: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

153

Columbia Columbia sipvxmlsipvxml

Unified messaging access

Email by phone Event notification

and scheduling Audio volume control

for conference Advanced

conference control

Telephone SIP/PSTNgateway

PSTNPSTN

sipvxmlsipvxml SIP phone

Web server

Internet

Internet

Email.tcl

Media serverrtspd

TTS, ASR, DTMF, XML, HTTP, RTSP

Y

Page 154: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

154

Email + phoneEmail + phone

Login Email formatting Listen, reply,

delete, compose, forward

Navigation -next, previous, jump

Email formatting

SIP based Text-to-speech

VoiceXMLbrowser

Emailservlet

JSP

DB

procmailEmail

Email to IM

IM

Call

Internet

Internet

TTS

important mails

SIP

SIP

Internet

Internet

SIP

HTTP

Email by phone

Email to phone

Y

Inbox

Inbox

Page 155: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

155

IM + voice callIM + voice call

Who can initiate? authentication,

billing, … Feedback

to voice user to IM user initial IM greeting

Talk-spurt detection Speech recognition

IM

Call

TTSASR

SIPMESSAGE

SIPINVITERTP

Y

Page 156: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

156

NotificationNotification Calendar Events Conference

s

Web server

Calendar.cgi “at 6:00pm”

Schedule from a browser

SIP call2129397063

IMkundan@

EmailKns10@…

O

Page 157: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

157

Phone announcement serverPhone announcement server

Input Range:93970?? List: A, B, C

Example Announcement Emergency

Issues Voicemail Failure

detection

PASTTS

Destinations

SIP

Text or audio

. . .

Y

Page 158: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

158

RTSP + TTS + ASRRTSP + TTS + ASR

Media server

TTSASR

SETUP rtsp://server/tts.cgi?text=How+are+you.

PLAY

RTP

SETUP rtsp://server/asr.cgi

RECORD

RTP

SET_PARAMETERText=I am fine, thank you.

O

Page 159: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

159

Centralized conferencingCentralized conferencing Conference as URL

[email protected] On the fly conferences

my.adhoc@server Basic task: join/leave

Dial in, Refer dial in Dial out, Refer dial out

REFERINVITE

REFER

INVITEINVITE

server

O

Page 160: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

160

Conference + VoiceXMLConference + VoiceXML

sipvxmlsipvxml

CallerCaller

sipconfsipconf

1. INVITE sipvxml2. Call accepted3. Enter your four digit PIN4. Entered 4-6-8-3

5. Authenticate user, 4683=>Alice6. Enter the conference identifier7. Entered 2-3-#

8. Permission to join, 23=>meet9. REFER [email protected] the old call

11.INVITE meet@conference

Call transfer vs bridged mode

Y

Page 161: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

161

New conference applicationsNew conference applications

sipvxmlsipvxml

CallerCaller

1. INVITE sipvxml2. Menu 1. Vol Check 2. Mic Check3. User enters 2

4. User speaks out a voice sample5. Voice sample is analyzed

7. User adjusts the vol level.

The ease & flexibility of sipvxml enables us to build custom telephonic applications to suit our needs.

e.g., Volume Check Application

sipconfsipconf 8. User now joins conference.

6. SipVXML: Vol level too high/low/…

Y

Page 162: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

162

ConferencingConferencing

Automatic volume adjustments

Automatic load balancing

Delay adjustments Conference

recording Local or RTSP

Y

sipcsipcSIP323SIP323

SIP/PSTNSIP/PSTNRecording in a media server

Page 163: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

163

PSTN interworkingPSTN interworking

Translating audio (PCMU/PCMA) Translating signaling (PRI/T1,ISUP)

Overlap signaling Advanced features in SIP are lost in PSTN

Translating identifiers (phone number) Determining transition points

Telephonenetwork

SIP/PSTN gateway

SIP server IP endpointTelephonesubscriber

+1 212 9397063 sip:[email protected]

Page 164: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

164

PSTN to IPPSTN to IP

Gateway knows the SIP server <sip:[email protected];user=phone>

ENUM DNS +1 212 9397042 => 2.4.0.7.9.3.9.2.1.2.1.e164.arpa => sip:[email protected]

Suitable for relatively “static” contacts

Page 165: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

165

IP to PSTNIP to PSTN Static mapping

1-212-939xxxx => @itgw1.cs.columbia.edu ITGW information is dynamic:

Overlapping networks Multiple providers Load balancing

TRIP Route advertisement Can be implemented in outbound proxy Suitable for current hierarchical network+1 @service.mci.com at 4¢/min+1212 @nyc.gw.com at 1¢/min+1212939 @itgw1.columbia.edu free

Page 166: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

166

30 second version30 second version I developed reliability and scalability techniques

for Internet telephony and showed that it is at par with the existing telephone system reliability and scalability at a much lower cost.

I developed interoperable architecture to build self organizing network of Internet telephones, without depending on managed infrastructure or servers.

I developed tools and components for a multi-platform multimedia collaboration system using existing standards and showed that it can scale to large number of simultaneous participants.

Page 167: Reliable, Scalable and Interoperable Internet Telephony PhD thesis presentation by Kundan Singh Advisor: Henning Schulzrinne Computer Science Department,

167

Scientific contributionScientific contribution

That linear cluster scalability can be observed in SIP servers.

That we don’t need to depend on servers or managed infrastructure for Internet telephony.

That we can build highly scalable and reliable Internet telephony systems using existing standards on commodity hardware.


Recommended