1.16k likes | 1.3k Views
CS234/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.
E N D
CS234/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
Introduction to SIP • What is SIP ? • Text-based protocol (Defined in RFC 3261) • SIP Applications • Network Elements • User Agent (UAC and UAS) • Proxy Server (UAC and UAS) • Registrar • Redirect Server • SBC
SIP Messages • Request messages • REGISTER • INVITE • ACK • CANCEL • BYE • OPTIONS
SIP Messages • Response messages • PROVISIONAL (1XX) • SUCCESS (2XX) • REDIRECTION (3XX) • CLIENT ERROR (4XX) • SERVER ERROR (5XX) • GLOBAL FAILURES (6XX)
Assessment 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.
Improving 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.
QoS-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).
Peer-to-peer internet telephony using SIP Kundan Singh, and Henning Schulzrinne, NOSSDAV '05
Peer-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
Distributed 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
Background 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
Background 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
Background 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
Difference 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.
Architecture • Server Farm architecture • P2P Overlay architecture • Hybrid Super-Node architecture
Server 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
Client 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
Super Node architecture /watch?v=1pKztSTmeIc /watch?v=1pKztSTmeIc • 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)
P2P-SIP node block diagram • Discover->User Interface->DHT(Chord)
Design and Implementation • Naming • Authentication • SIP messages • DHT discovery and join • SIP message routing • Reliability • Adaptor for existing SIP phones
Naming • Representation of end points using SIP URI's • Eg-: sip:17@192.1.2.3:8054 • 17 is the key returned by Chord's hash function • Domain representation encouraged • sip:10@example.com • SIP user identifiers (UI) randomly assigned • Authentication ?
Authentication • 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
SIP messages • 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
DHT Discovery and Join • 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)
SIP message routing • 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
Reliability • Each Chord node stores log(N) successor addresses • User registrations replicated at K successive nodes • Users unregistered when exit is graceful • Registrar Node malicious ?
Advanced 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- sip:staff-meet@office.com or dialog.voicexml@ivr.net • The services are: • Offline messages • Multi-party conferencing • NAT and firewall traversal • Directory Service
Advanced 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 .
Advanced Services – Offline Messaging Contd • There are three places where we can store the offline messages: the source, the destination or some intermediate node in the P2P overlay. • When Alice calls Bob and Bob is not online, the message should be stored reliably by the system and delivered to Bob when he comes online. Then a possible solution is to use the DHT peer responsible for storing Bob' location also store his offline messages. • In case of storage node failure message is replicated and kept consistent using Oceanstore architecture (a well-known architecture for global-scale persistent storage).
Advanced 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.
Advanced 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 conferencing. • Completely decentralized approach can be taken to exchange member information and full-mesh signaling is established. • Multicast media distribution tree model can be used if number of senders are less at any point of time. • 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.
Advanced 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.
Advanced 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.
Performance 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).
Performance 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.
Performance prediction – Call setup latency • Latency • O(log N) nodes to be looked-up before a call can be setup. This is a bottleneck in reducing call setup latency. • In a 10000 node cluster it takes 6 hops ~ 1-2 seconds before call is made. This is higher than vanilla SIP (200ms) but can be tolerated as phones ring for a much higher time than 1-2 seconds. • 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.
Open 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.
CS234/NetSys210: Advanced Topics in Networking Spring 2012 Assessment of VoIP quality over Internet backbones “Athina P. Markopoulou, Fouad A. Tobagi, Mansour J. Karam” Presentation by: Swaroop Kashyap Tiptur Srinivasa Anirudh Ramesh Iyer Tameem Anwar
Introduction 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)
VoIP 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 • Routing • Support of quality of service • Numbering • Phone number, IP address
VoIP Architecture - Contd • A naive representation of VoIP system as shown in this paper • Sender • Encoder: Does sampling and creates a constant bit rate stream • Packetizer: encapsulates speech samples into packets of equal sizes • Receiver • Playback buffer: An important component which absorbs delay/jitter • De-packetizer & Decoder: Reconstruct the speech signal
VoIP Architecture - Contd • Codecs: They are used to convert an analog voice signal to digitally encoded version and vice-versa. • Codecs vary in the sound quality, bandwidth required, computational requirements, etc. • Each service, program, phone, gateway, etc typically supports several different codecs, and when talking to each other, negotiate which codec they will use.
Assessment of VoIP • Goal of the paper: Assessment of VoIP over today' Internet • Organization of the paper • Section I & II describes the components of VoIP system under evaluation → Already Covered in Architecture • Section III presents the quality measures used for assessing the impairments over the network and our methodology for rating a call • Section IV describes the probe measurements and classify the traces into categories according to their delay and loss characteristics • Section V application of proposed methodology to the traces & discuss numerical results pertaining to phone calls quality • Section VI concludes the paper
Assessment of VoIP – Quality Metrics • Delay and Loss • Mean Opinion Score (MOS) • It is a numerical method of expressing voice and video quality • MOS is quite subjective, as it is based figures that result from what is perceived by people during tests • MOS is expressed in one number, from 1 to 5, 1 being the worst and 5 the best • Emodel • It is a computational model, standardized by ITU-T, that uses transmission parameters to predict the subjective quality of packetized voice
Assessment of VoIP – Quality Metrics Contd • How do we obtain a subjective score (MOS) from metrics like delay, jitter, loss? • Emodel provides a solution to this problem by defining a computation model (based on statistical analysis) • First we calcluate R rating of a call using the formula, R = (Ro − Is) − Id − Ie + A, where Ro (effect of noise) and Is (accounting for loud connection and quantization) terms are intrinsic to the voice signal. Id and Ie capture the effect of delay and signal distortion respectively. • More about Id and Ie in next slide.
Assessment of VoIP – Quality Metrics Contd • Delay impairment factor Id, models the quality degradation due to one-way or “mouth-to-ear”(m2e) delay. • Id = Idte(m2e,EL2) + Idle(m2e,EL1) + Idd(m2e), where terms Idte(m2e,EL2) and Idle(m2e,EL1) capture the impairments due to talker and listener echo respectively. EL = ∞ (infinite echo loss) corresponds to perfect echo cancellation. Term Idd(m2e) captures the interactivity impairment when the m2e delay is large, even with perfect echo cancellation. • Along-with this definition a new parameter “task” is defined to measure interactive nature of call (eg: business conference – which consists of continuous bursts by different people OR normal Bob-Alice conversation). 1 is defined to be highly interactive (random and bursty), 6 is defined to be relaxed and free conversation.