![Page 1: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/1.jpg)
VOIP over Peer-to-Peer
R94921046 歐政穎R94921042 羅成俊R94921027 黃家俐R93922064 蔡明倉
![Page 2: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/2.jpg)
Road Map
IntroductionBackgroundVOIP with P2P architecture
SIPMedia routing
Interwork with PSTNProblemsSummary
![Page 3: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/3.jpg)
Introduction
Advantages of P2P systems High scalabilityRobustnessFault toleranceNetwork self-organizes Intelligence (cooperation)
How can VOIP be integrated within a P2P system?
![Page 4: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/4.jpg)
Road Map
IntroductionBackgroundVOIP on P2P architecture
SIPMedia routing
Interwork with PSTN ProblemsSummary
![Page 5: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/5.jpg)
P2P Architecture
Centralized Directory is stored in one server, but data is transfer
red between peers Napster
Pure Directory is stored in each peer, and lookup is by flo
oding query messages Gnutella
Hybrid (super-node) Directory is stored in each super node, and lookup i
s by requesting super-nodes Kazza
![Page 6: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/6.jpg)
P2P Architecture
![Page 7: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/7.jpg)
Distributed Hash Table
Chord, Pastry, CAN, Tapestry, … Lookup styles directly map to the redirect and
proxy server
Chord
![Page 8: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/8.jpg)
P2P Comparison
Property/
scheme
Un-structured CAN Chord Tapestry Pastry Viceroy
Routing O(N) or no guarantee
d x N1/d log(N) logBN logBN log(N)
State Constant 2d log(N) logBN B.logBN log(N)
Join/leave
Constant 2d (logN)2 logBN logBN log(N)
Reliability and fault resilience
Data at Multiple locations;
Retry on failure; finding popular content is efficient
Multiple peers for each data item; retry on failure; multiple paths to destination
Replicate data on consecutive peers; retry on failure
Replicate data on multiple peers; keep multiple paths to each peers
Routing load is evenly distributed among participant lookup servers
![Page 9: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/9.jpg)
Server-based vs. Peer-to-PeerReliability, 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 10: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/10.jpg)
Road Map
IntroductionBackgroundVOIP on P2P architecture
SIPMedia routing
Interwork with PSTN ProblemsSummary
![Page 11: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/11.jpg)
VOIP on P2P Architecture
Block diagram of a P2P-SIP nodeSIP
InitializationRegistration and Peer discoveryDialing outNode shutdown
Media routingFirewall and NAT traversal Intelligent routing
![Page 12: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/12.jpg)
Block diagram of a P2P-SIP node
![Page 13: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/13.jpg)
Initialization
![Page 14: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/14.jpg)
Initialization
Calculate the key for DHT by IP 7
Contact one of the node in DHT network Request
REGISTER sip:128.59.15.31 SIP/2.0
To: <sip:[email protected]>
From: <sip:[email protected]>
ResponseSIP/2.0 200 OK
To: sip:[email protected]
Contact: <sip:[email protected]>; predecessor=sip:[email protected]
![Page 15: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/15.jpg)
Initialization
Insert self into correct position Between predecessor: 1 and successor: 10
Build routing table 10>= 7+2i-1, i = 1, 2 Send sip REGISTER from 11 (= 7+23-1)
REGISTER sip:128.59.15.55 SIP/2.0To: <sip:[email protected]>From: <sip:[email protected]>
Respond by 15SIP/2.0 200 OKTo: <sip:[email protected]>Contact: <sip:[email protected]>; predecessor=sip:[email protected]
…
![Page 16: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/16.jpg)
Initialization
![Page 17: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/17.jpg)
Registration and Peer Discovery
SIP REGISTER with SIP registrar
DHT Discover peers: bootstrap node Join DHT using node-key =Has
h(ip) REGISTER with DHT using us
er-key =Hash([email protected])
REGISTER
DB
sipd
Detect peers
columbia.edu
14
32
5812
42
REGISTER alice=42
REGISTER bob=12
![Page 18: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/18.jpg)
Dialing Out
Call, instant message, etc.INVITE sip:[email protected] sip:[email protected]
If existing buddy, use cache first
If not found SIP-based lookup (DNS NAPT
R, SRV,…) P2P lookup
Send to super-nodes: proxy Use DHT to locate: proxy or redir
ect
DHT
INVITE key=42
302
42
INVITE
![Page 19: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/19.jpg)
Node shutdown
Graceful termination 7 will send unregister message to its predecessor:1 and succe
ssor: 10REGISTER sip:[email protected] SIP/2.0To: <sip:[email protected]>From: <sip:[email protected]>Expires: 0Contact: <sip:[email protected]>; q=1.0; predecessor=sip:[email protected]: <sip:[email protected]>; q=.8…
REGISTER sip:[email protected] SIP/2.0To: <sip:[email protected]>From: <sip:[email protected]>Expires: 0Contact: <sip:[email protected]>; q=1.0; predecessor=sip:[email protected]
DHT system will re-organize
![Page 20: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/20.jpg)
Node shutdown
Node failureWhen nodes find a remote node failure, it
removes it from its routing tableResend the original query request to the
new failover hop
![Page 21: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/21.jpg)
Firewall & NAT Traversal
SignalingSIP symmetric response routingConnection reuse
Use existing connections to transmit signals
Media ICE (interactive connectivity establishment)
for media sessionSTUN and TURN
![Page 22: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/22.jpg)
Intelligent Routing
In an overlay network, there are diverse paths through relay nodes
But how to select a good one? It needs extra measurements!
Criterions for selecting pathsPacket loss rateEnd-to-end delayAvailable bandwidth
![Page 23: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/23.jpg)
Intelligent Routing
Most of those measurements require the cooperation of middle nodes
They are easier to be implemented in P2P architecture than others
![Page 24: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/24.jpg)
Road Map
IntroductionBackgroundVOIP on P2P architecture
SIPMedia routing
Interwork with PSTN ProblemsSummary
![Page 25: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/25.jpg)
Interwork with PSTN (1/4)
How do they verify that the user owns the number if he registers his number?Every gateway node can reach potentially eve
ry phone number in the world – at very different rates.
Registering a telephone prefixUse tel URI (Not conformant with RFC 3966)
“tel:;phone-context=+1-212” “sip:[email protected];user=phone”
![Page 26: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/26.jpg)
Interwork with PSTN (2/4)
Calling a telephone numberINVITE tel:+1-212-939-7040 SIP/2.0
To: <tel:+1-212-939-7040>
From: <sip:[email protected]>
Request-Disposition: redirect
The basic key, K0, is “tel:+12129397040” derived from To header after removing any fillers.
Other keys, Kn−i, is computed as “tel:;phone-context=+first i digits prefix”, for i=1,2,..n-1, where n is total number of digits.
![Page 27: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/27.jpg)
Interwork with PSTN (3/4)
Incoming INVITE handlingThe canonical “tel” URI is formed to compute t
he DHT key by removing fillers and converting “sip” URI to “tel” URI.
For example, “sip:[email protected]; user=phone” is converted to “tel:;phone-context= +1212939”.
This is used as the key to compute the next hop in routing.
![Page 28: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/28.jpg)
Interwork with PSTN (4/4)
ResponseSIP/2.0 302 Moved temporarilyTo: <tel:;phone-context=+1212939>Contact: <sip:phone.cs.columbia.edu;lr> cost=0; q=1.0
SIP/2.0 302 Moved temporarilyTo: <tel:;phone-context=+1212>Contact: <sip:phone.cs.columbia.edu;lr> cost=USD.03/6s; q=1.0Contact: <sip:manhattan.verizon.com;lr>; cost=USD.06/60s; q=.8
SIP/2.0 302 Moved temporarilyTo: <tel:;phone-context=+1>Contact: <sip:mci.com;lr> cost=USD.10/120s; q=1.0Contact: <sip:att.com;lr>; cost=USD.09/60s; q=.8
![Page 29: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/29.jpg)
Road Map
IntroductionBackgroundVOIP on P2P architecture
SIPMedia routing
Interwork with PSTN ProblemsSummary
![Page 30: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/30.jpg)
Problems
Security issues in peer-to-peer system Malicious program
break-in, spying or spread virus, spy-wares or worms Reducing risks by
Software developed by trusted entities or open source community Running the application as a regular user instead of an
administrator (on Windows) or super-user (on Unix)
Copyright violation Easily extended to support file transfer Reducing risk by
P2P-SIP does not have an efficient search method
![Page 31: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/31.jpg)
Problems
Stolen identity A malicious user may steal the identify of another user Solved by doing Authentication
User identify must be a valid email address System generates a password for the user identify and sends
it to the email address Using MD5 hash function
Data Privacy Public/Private/Protected Data Solved by using Public key mechanism
![Page 32: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/32.jpg)
Problems
Trust Misbehaving peers that route calls incorrectly or log information
for misuse Solved by
Hide the security algorithms
![Page 33: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/33.jpg)
Summary
P2P useful Scalable, reliable No configuration Not as fast as client/server
P2P/SIP Basic operations easy Some potential issues
Security Performance Quality (audio)
![Page 34: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/34.jpg)
Reference
Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", NOSSDAV. Skamania, Washington, June 2005.
Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", New York Metro Area Networking Workshop, Sep 2004.
Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", Columbia University Technical Report CUCS-044-04, Oct 2004.
http://www1.cs.columbia.edu/~kns10/research/p2p-sip/ http://www.p2psip.org/
![Page 35: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉](https://reader031.vdocuments.pub/reader031/viewer/2022012400/56649f4e5503460f94c6f654/html5/thumbnails/35.jpg)
Reference
An extension to the session initiation protocol (SIP) for symmetric response routing. RFC 3581, Internet Engineering Task Force, Aug. 2003
Connection reuse in the session initiation protocol (SIP). Internet Draft draft-ietf-sip-connect-reuse-00, Internet Engineering Task Force, Aug. 2003
Interactive connectivity establishment (ICE): a methodology for network address translator (NAT) traversal for the session initiation protocol (SIP). Internet Draft draft-ietf-mmusic-ice-00, Internet Engineering Task Force, Oct. 2003
Improving VoIP Quality Through Path Switching, in Proceedings of IEEE INFOCOM 2005, Miami, March, 2005
Exploring the Performance Benefits of End-to-End Path Switching. In Proceedings of ACM Sigmetrics/Performance (Extended Abstract), New York, June 2004