• SIP REGISTER- Used for registration and DHT maintenance • SIP REGISTER used in query and update mode • Query mode- User is asking for Contact information of the node identifier given
Trang 1CS234/NetSys210: Advanced Topics in Networking
Spring 2012
SIP and VoIP
Kundan Singh, and Henning Schulzrinne "Peer-to-peer internet
telephony using SIP" in NOSSDAV '05
Presentation by:
Swaroop Kashyap Tiptur Srinivasa
Anirudh Ramesh Iyer Tameem Anwar
Trang 2Introduction to Session Initiation Protocol
(SIP)
Trang 3– User Agent (UAC and UAS)
– Proxy Server (UAC and UAS)
– Registrar
– Redirect Server
– SBC
Trang 6Assessment of VoIP quality over Internet
backbones
Athina P Markopoulou, Fouad A Tobagi, Mansour J Karam
Quality of service for VoIP traffic in Internet backbone was studied based on delay as the metric.
7 ISPs, 43 paths formed the test setup.
A model is proposed to study and analyze VoIP traffic in Internet backbones based on characteristics of VoIP such as talkspurts and silence periods.
This model is applied to the data trace obtained from the test setup (2.5 days worth of data).
The study shows that certain backbone paths are not equipped to handle VoIP traffic Examples of such paths are coast-to-coast paths which have high delay
The authors suggest that the primary reason for high delay in paths is due to the fact that there is no distinction between data and voice traffic This prompts the authors to suggest IP QoS mechanism as a solution.
Trang 7Improving VoIP Quality thorugh Path Switching
Shu Tao , Kuai Xu, Antonio Estepa, Teng Fei ,Lixin Gao ,Roch Gu’erin, Jim
Kurose, Don Towsley, Zhi-Li Zhang
The effectiveness and benefits of path switching was examined,
and its feasibility was demonstrated with the help of a of a
prototype application-driven path switching gateway
With sufficient path diversity, path switching is indeed capable of yielding meaningful improvements in voice quality
The experiments also highlighted the benefit of adaptive decisions, especially in light of the often changing nature of the time scale at which network congestion takes place.
The study suggests that by exploiting the inherent path diversity of the Internet, application-driven path switching is a viable option in providing quality-of-service to applications
There is ongoing research being done to pursue these issues
further in the context of hybrid wired/wireless networks and other applications such as video.
Trang 8QoS-Enabled Voice support in the Next-Generation Internet:
Issues, Existing Approaches and Challenges
“Bo Li, Mounir Hamdi, Dongyi Jiang, and Xi-Ren Cao, Hong Kong University of Science,
Technology ,Y Thomas Hou, Fujitsu Laboratories of America”
There has been significant work done to establish the foundation to support VoIP However, much remains to be done in order to ensure the QoS for VoIP and for multimedia traffic in general.
This article surveys the existing technologies to support VoIP, in particular
the basic mechanisms in the IETF Internet telephony architecture and ITU-T H.323-related recommendations.
It then reviews the IETF QoS framework and major components in providing such QoS guarantees, including the Intserv and Diffserv models.
In addition, this article also presents two leading companies (Cisco and
Lucent) solutions to offering IP telephony services
One another major issue currently under active development is
internetworking with legacy net- works (i.e., PSTN) There are a number of
proposals within the IEFT, in particular Media Gateway Control Protocol
(MGCP).
Trang 9Peer-to-peer internet telephony using
SIP
Kundan Singh, and Henning Schulzrinne, NOSSDAV '05
Trang 10Peer-to-Peer Internet Telephony
using SIP
• SIP using Client-Server model
– Less Robustness and Scalability
– Increased costs due to Maintenance and Configuration
• SIP using Peer-to-Peer model
– Increased Robustness and Scalability
– No maintenance and Configuration
– Interoperability
• Tradeoff
– Resource look-up
– Security
Trang 11Distributed Hash Table ( DHT)
Types of Search
Central Index (Napster)
Distributed Index with flooding (Gnutella) Distributed Index with hashing (Chord)
Basic Operations
find(key),insert(key , value),delete (key), But no search
Trang 12Background and Related work
• Chord
– Ring based Distributed Hash Table for structured P2P systems – Identifier Circle
– Keys assigned to successor
– Evenly distributed keys and nodes
– Finger table- O(log N) entries
ith finger points to first node that succeeds n by at least 2i-1– Stabilization for join/leave
– Iterative and Recursive Routing
Trang 13Background and Related work
• Skype
– Based on Kazaa architecture
– Open source P2P application for Internet telephony and instant messaging
– Uses the concept of Super nodes.
– Proprietary with Global Index server assigning Super nodes – Lookup similar to Kazaa using flooding unlike DHT-based lookup
– Explicit server configurations not required
Trang 14Background and Related work
• P2P with SIP
– Recent work have concentrated on combining SIP and P2P
– SIP combination with P2P done in two ways
• Replace SIP user registration and lookup by an existing P2P protocol
• Implementation a P2P algorithm using SIP messaging – The paper takes the second approach
– No modification done to SIP messages
– Advantages- Use of existing SIP components
– Disadvantages- Transport message size overhead
Trang 15Difference with File Sharing
A single P2P-SIP node can handle many more requests than a file sharing node due to low data volume
Caching of location information is not useful.
The file sharing and directory lookup-based systems
can tolerate high lookup latency.
For file sharing applications, multiple almost exact copies of a popular file may be available So node reliability does not matter.
Trang 17Server Farm architecture
• Preserves Client-Server model
• DHT can used in a Server farm
• User registration done on only O(logN) servers
• Redundancy in servers can prove expensive
Trang 18Client Overlay architecture
• Pure P2P overlay with all clients acting as a server
• No server maintenance and configuration needed
• Problem- Equal capacity and availability
• Example- Client behind firewall or NAT
Trang 19/watch?v=1pKztSTmeIc /watch?v=1pKztSTmeIcSuper Node architecture
• Hybrid design (Similar to Kazaa)
• Selection of Super nodes
– High capacity (Bandwidth, CPU, memory)
– Availability (up time, public IP address)
– Transition from a regular node to Super node (Local decision)
Trang 20P2P-SIP node block diagram
• Discover->User Interface->DHT(Chord)
Trang 21Design and Implementation
• Naming
• Authentication
• SIP messages
• DHT discovery and join
• SIP message routing
• Reliability
• Adaptor for existing SIP phones
Trang 22• Representation of end points using SIP URI's
– Eg-: sip:17@192.1.2.3:8054
• Domain representation encouraged
– sip:10@example.com
• SIP user identifiers (UI) randomly assigned
• Authentication ?
Trang 23• Validity of UI done when an user signs up to
the P2P-SIP network
• Absence of Public Key Infrastructure ?
• Password obtained used in REGISTER
authentication
• Time-to-Live value used to determine user
existence
Authentication
Trang 24• SIP REGISTER- Used for registration and DHT
maintenance
• SIP REGISTER used in query and update mode
• Query mode- User is asking for Contact
information of the node identifier given in TO header
• Update mode- Contact information present in
message
• Mostly done to update bindings given in TO
header
SIP messages
Trang 25• SIP REGISTER message used, Request-URI
could be sip:224.0.1.75
• TO header identifies and discovers other
P2P-SIP peers in the network
• Once the node is discovered, SIP REGISTER is
used to join the DHT
• Chord Stabilization ? (Hint: Registration of
end points)
DHT Discovery and Join
Trang 26• Every node owns the responsibility for its subset of
the key space
• Destination key is determined from TO header
• If Destination key belongs to same key space of the
received node, then node is the registrar
• Redirect or the proxy server is used to determine
the locations available for the destination user.
• Otherwise, request is proxied to the next hop node
based on Chord algorithm and its inherent data
structures
SIP message routing
Trang 27• Each Chord node stores log(N) successor addresses
• User registrations replicated at K successive nodes
• Users unregistered when exit is graceful
• Registrar Node malicious ?
Reliability
Trang 28Advanced Services
• Apart from user registration and call routing, which are the core services of SIP, P2P-SIP also offers some advanced services.
• These services are based on SIP URIs Example- meet@office.com or dialog.voicexml@ivr.net
sip:staff-• The services are:
• Offline messages
• Multi-party conferencing
• NAT and firewall traversal
• Directory Service
Trang 29Advanced Services – Offline
Messaging
Offline messages – Caller calls callee and callee is unavailable then a
message is left by caller to callee Needs storage and signaling
Current P2P file storage + IP telephony cannot handle this as we also need message waiting indication
The P2P-SIP client running on the destination user’s machine can store the message if the destination user did not pick up the phone The problem comes when the destination phone itself is not active or the user has not started her client
The message waiting signal is implemented using POST (POST is a cooperative, decentralized messaging system that supports traditional services like email, news, IM) which is built on a P2P overlay
To receive the offline message, the destination node subscribes to the message waiting indication (MWI) event with the P2P network and gets notified on startup when a new offline message is available
Trang 30Advanced Services – Offline
Trang 31Advanced Services – Offline
Messaging Contd
Alternate model is to store the message at the sender-end itself.
If the message is not delivered or the storage node fails, then the caller node finds the new storage node and records the message again without any user intervention
On boot-up a node checks for any undelivered message from past boot cycle, and tries to re-send them upon bandwidth and CPU availability
This model has a security flaw – What if the sender-end is an Internet kiosk?
To overcome this problem – A third-party storage server can take the ownership of sending the message and store the message
Trang 32Advanced Services – Multi-party
Conferencing
There are 3 methods to do a multi-party conference using P2P-SIP,
A participating member can become mixer for small scale ad-hoc
In all these models there is a trade-off in terms of reliability (single point
of failure in case of single mixer), complexity and bandwidth utilization
Trang 33Advanced Services – NAT and
Firewall Traversal
In an ideal world, ISPs and corporate system administrators should enable their NAT and firewall devices with SIP proxies or application level gateways
There are two aspects to overcoming the problem posed by ISPs:
Automatic detection of the type of NAT and firewall Detection is done at the application startup when the node connects to a super-node.
Tunneling through the NAT and firewall devices for inbound or outbound messages The node implements the Interactive Connectivity Establishment (ICE) algorithm for NAT traversal (Can use both TCP and UDP) Also every node has a built-in STUN (Simple Traversal of UDP through NAT) and TURN (Traversal Using Relay NAT) server.
Trang 34Advanced Services – Directory
Service
In any chat application people tend to search by first-name or last-name Usually only partial names are supplied, which leads to wildcard character behaviour
Queries could also be with respect to number of hops from the person issuing the query
General DHT does not support these type of queries
These queries are supported by,
Registering combination of first-name and last-name in DHT
Doing a blind search in acquaintances graph based on small number of hops-to-live
Trang 35Performance prediction - Scalability
• Scalability
With N super-nodes and n nodes in the chord system, number of keys k per node = n/N.
REGISTER refresh rate is rs, refresh rate for finger table entry is rf.
Call arrival (Possion distribution) with mean c, user registration (Uniform distribution) with mean t per user, Node churn (Possion distribution) with mean λ.
Average lookup time in Chord is O(log N), as there are O(log N) finger table entries Node join & leave messages generated is O( (log N)^2)
The average message rate per node is sum of the message rates due to refresh, call arrival, user registration and node join or leave
If each node can handle C requests per second, then the equation C = M gives the maximum possible number of nodes, Nmax, in the system, which roughly translates to Nmax = 2^(C/(r+c)) for large N, where r is the refresh rate and c is the call rate Example:
If a node supports 10 requests per second, r=1min, c=1per min, then max nodes in system = 2^(10*30).
Trang 36Performance prediction - Reliability
• Reliability
What happens when a node fails? Impacted entity is user registration records/data in that node
Reliability is achieved by,
• Refresh rate is increased so that node failure detection happens quickly
• User registration refresh rate is increased so that loss is very brief
• User registration record is replicated at multiple nodes at log(N) successive nodes
Trang 37Performance prediction – Call setup
P2P synchronization latency due to churn in nodes/records can result
in multiple retransmissions before call setup is complete Example skype takes 3-8 seconds
To solve this issue a hybrid model of structured & unstructured P2P
network is needed with one hop lookup This solution assumes large storage space is available in peers
Trang 38Open Issues
Security, trust and reward
Security threats – Trust, Malicious behaviour by nodes, DoS
Trust – Proprietary protocols like Skype has built-in trust among peers but open protocols like P2P-SIP may have malicious clients.
Reward – As in any P2P “Reward nodes serving in DHT, punish free-riders”.
Media routing
In case of media transfer paths we need media relay node in NAT and firewall scenarios Stability of relay node is important as delay due to relay node dropping out is not tolerable.
Trang 39Thank You !
Trang 40Detailed slides of QoS
papers
Trang 41CS234/NetSys210: Advanced Topics in Networking
Swaroop Kashyap Tiptur Srinivasa
Anirudh Ramesh IyerTameem Anwar
Trang 42Introduction to Voice over IP (VoIP)
Trang 43Introduction to VoIP
• What is VoIP ?
• VoIP Protocols
MGCP: Media Gateway Control Protocol
RVP over IP: Remote Voice Protocol Over IP Specification
SGCP: Simple Gateway Control Protocol
SIP: Session Initiation Protocol
Skinny: Skinny Client Control Protocol (SCCP)
Trang 44VoIP Architecture
• Coding & Decoding of Analog Voice
Analog-to-Digital and Digital-to-Analog conversions
Compression
Signaling
Call setup & tear down
Resource & coding negotiation
Transport of Bearer Traffic
Voice packet transmission