Voice over IP VoIP - PowerPoint PPT Presentation

1 / 66
About This Presentation
Title:

Voice over IP VoIP

Description:

Call setup: 'ringing', establishment of call parameters at both called and calling party; ... Re-INVITEs used to change session state ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 67
Provided by: josefha
Category:
Tags: voip | over | voice

less

Transcript and Presenter's Notes

Title: Voice over IP VoIP


1
Voice over IP - VoIP
  • SMD151
  • Peter.Parnes_at_ltu.se

2
Overview
  • What is VoIP?
  • Toll ByPass
  • RTP
  • Control Protocols
  • MGCP
  • H323
  • SIP in detail

3
What is Voice over IP
  • The packetisation and transport of classic public
    switched telephone system audio over an IP
    network.
  • The analog audio stream is encoding in a digital
    format, with possible compression, and
    encapsulating it in IP for transport over your
    LAN/WAN or the public internet

4
Categories of VoIP
  • Private and Desktop Skype, Microsoft Netmeeting,
    ohphone, gphone, Asterisk, Marratech, etc.
  • Enterprise Small IP phone deployments, IP PBX,
    Cisco Callmanager.
  • ISP/Carrier Toll Bypass services, VOIP
    wholesale, using equipment by vendors such as
    Cisco, Lucent, Avaya, etc.
  • Telco Grade Local service, Last mile delivery,
    total phone services, high dependability and
    availability.

5
Toll ByPass
6
How does it work?
  • VoIP is not a protocol.
  • VoIP is a collection of protocols and devices
    that allow for the encoding, transport and
    routing of audio calls over IP networks.
  • PSTN ? VoIP ? PSTN
  • Native VoIP ? PSTN
  • Native VoIP ? Native VoIP

7
The Guts
  • RTP (Real-Time Transport Protocol)
  • RTCP (Real-Time Control Protocol)
  • RTP is a UDP stream with no intelligence for QoS
    or resource reservation
  • Contains a packet number for detection of packet
    loss and re-sequencing of out of order packets.
  • Unidirectional two streams in any call

8
RTP
  • RTP data packet header

9
RTCP Sender Report
  • Real-time Transfer Control Protocol Sender Report

10
RTCP Receiver Report
  • Receiver report

11
Control Protocols - SIP
  • SIP Session Initiation Protocol.
  • SIP is a textual based client/server protocol.
    This makes debugging easy as its invite etc
    messages are human readable.
  • INVITE sip021326001_at_203.109.130.945060userph
    one SIP/2.0
  • Via SIP/2.0/UDP 10.30.60.205060
  • From "Mr Anderson" ltsip099639951_at_10.30.60.205
    060gttag1ACC.8D00
  • To ltsip021326001_at_203.109.130.945060gttag3598
    70F0-16CD
  • Call-ID 00C0.95C9.5818.4013.1ACC.8D00_at_10.30.60.
    20
  • CSeq 5257 ACK
  • Content-Length 0
  • Max-Forwards 70
  • Contact sip099639951_at_10.30.60.205060

12
Control Protocols MGCP
  • MGCP Media Gateway Control Protocol.
  • MGCP is a master/slave protocol where all the
    smarts resides in the gateway controller and not
    the gateway.

13
Control Protocols H323
14
Control Protocols H323
  • value H323_UserInformation
  • h323-uu-pdu
  • h323-message-body releaseComplete
  • protocolIdentifier 0 0 8 2250 0 4
  • callIdentifier
  • guid '3E940C894E1311D8A33E919F0987C365
    'H
  • h245Tunneling TRUE

15
H323
16
H323 Call Setup Version 1
  • H.323 call setup consisted of
  • Q.931 call signaling (1st TCP connection)
  • H.245 capability exchange (2nd TCP connection)
  • H.225.0 establish logical channels (3rd TCP
    connection)
  • Now send RTP...
  • Each TCP connection requires a SYN exchange
    before data can be sent, plus the usual TCP
    timeouts on packet loss.
  • Connection setup was excessively slow.

17
H323 Evolution
  • H.323 has evolved so that many of the original
    defects have been reduced.
  • Unfortunately you still need to implement the old
    mechanisms too to be compliant.
  • Two new methods of setup
  • H.245 tunneling over the H.225.0 connection.
  • H.323v2 FastStart

18
H323 FastStart
19
Control Protocols
  • SIP
  • MGCP
  • H323
  • Skinny Ciscos IP phone control protocol

20
Summary
  • What is VoIP?
  • Toll ByPass
  • RTP
  • Control Protocols
  • H323
  • MGCP
  • SIP

21
Questions?
  • ?

22
SIP Overview
  • SIP - Introduction
  • SIP architecture and philosophy
  • Methods Used in SIP
  • SIP messages responses
  • Security
  • Summary
  • References
  • Nishita Vora Pandya

23
SIP is
  • An Application-layer control (signaling) protocol
  • creating, modifying and terminating sessions with
    one or more participants.
  • Sessions include
  • Internet multimedia conferences,
  • Internet telephone calls
  • multimedia distribution.
  • Members in a session can communicate via
  • Multicast
  • mesh of unicast relations
  • combination of these.
  • Text based
  • Model similar to HTTP uses client-server model

24
SIP Basic Functionality
  • Supports 5 facets of communication
  • User location determination of the end system to
    be used for communication
  • User capabilities determination of the media and
    media parameters to be used
  • User availability determination of the
    willingness of the called party to engage in
    communications
  • Call setup "ringing", establishment of call
    parameters at both called and calling party
  • Call handling including transfer and termination
    of calls.

25
SIP Functionality (cont.)
  • SIP can also initiate multi-party calls using a
    multipoint control unit (MCU) or fully-meshed
    interconnection instead of multicast.
  • You can try in Marratech
  • Internet telephony gateways that connect Public
    Switched Telephone Network (PSTN) parties can
    also use SIP to set up calls between them.

26
Development of SIP
  • SIP developed by Handley, Schulzrinne, Schooler,
    and Rosenberg
  • - Submitted as Internet-Draft 7/97
  • Assigned RFC 2543 in 3/99
  • Goals Re-use of Maximum Interoperability with
    existing protocols
  • Alternative to ITUs H.323
  • - H.323 used for IP Telephony since 1994
  • - Problems No new services, addressing, features
  • - Concerns scalability, extensibility

27
SIP Philosophy
  • Internet Standard
  • - IETF - http//www.ietf.org
  • Reuse Internet addressing (URLs, DNS, proxies)
  • - Utilizes rich Internet feature set
  • Reuse HTTP coding
  • - Text based
  • Makes no assumptions about underlying protocol
  • TCP, UDP, X.25, frame, ATM, etc.
  • Support of multicast

28
SIP Architecture
  • SIP uses client/server architecture
  • Client - originates message
  • Server - responds to or forwards message
  • Elements
  • SIP User Agents (SIP Phones)
  • SIP Servers (Proxy or Redirect - used to locate
    SIP users or to forward messages.)
  • Can be stateless or stateful
  • SIP Gateways
  • To PSTN for telephony interworking
  • To H.323 for IP Telephony interworking

29
SIP Entities User Agents
  • User Agents
  • User Agent Client (UAC)
  • Initiates SIP requests
  • User Agent Server (UAS)
  • Returns SIP responses

30
SIP Entities Network Servers
  • Network Servers
  • Proxy Decides next hop and forwards request,
    relays call signaling , operates in a
    transactional manner, saves no session state
  • Redirect Sends address of next hop back to
    client, redirects callers to other servers
  • Registrar Accepts REGISTER requests from
    clients, maintains users whereabouts at a
    location server
  • Diff. types may be co-located.

31
SIP Operation
  • SIP Addressing
  • Locating a SIP Server
  • Sending SIP Requests SIP Transactions
  • SIP Methods
  • SIP Responses
  • Subsequent Requests and Responses

32
Step 1SIP Addressing
  • Uses Internet URLs
  • Uniform Resource Identifiers
  • Supports both Internet and PSTN addresses
  • General form is name_at_domain
  • To complete a call, needs to be resolved down to
    User_at_Host
  • Examples
  • sippeter_at_parnes.com
  • sipJ.T. Kirk ltkirk_at_starfleet.govgt
  • sip46-8-50555699_at_digisip.netuserphone
  • sipguest_at_10.64.1.1

33
Step 2 Locating a SIP server
  • A caller first locates the appropriate server
  • When client wants to send a request URI
  • client will either send it to
  • - Locally configured Proxy server
  • - IP address port corresponding to the
  • request URI similar to the one in step 1
  • Client must determine IP address, port of server
    and the protocol to be used.

34
Locating (cont.)
  • Client
  • Send the request to the servers IP address if
    the host part of request URI is an IP address
    otherwise
  • Should try to contact a server at the port listed
    in request URI. If no port specified then try
    port 5060
  • Use specified protocol if applicable
  • otherwise use UDP if supported,
  • if UDP fails or otherwise use TCP
  • Find one or more address of server by querying
    DNS,
  • NAPTR, SRV, CNAME, A
  • Results MAY be cached.
  • Capability to interpret ICMP messages must exist

35
Step 3Send a SIP request
  • Once the host part has been resolved to a SIP
    server, - client sends 1 / more SIP requests to
    that server
  • receives 1 / more responses from the server.
  • SIP Request-line (Messages) defined as
  • ltMethodgt ltSPgt Request-URI ltSPgtSIP-Version
    ltCRLFgt
  • (SPSpace, CRLFCarriage Return and Line
    Feed)
  • (Method INVITE ACK OPTIONS
  • BYE CANCEL
    REGISTER)
  • Example
  • INVITE sippeter_at_parnes.com SIP/2.0

36
Order of Operation
  • Step 1 Caller Issues Initial INVITE Request
  • Step 2 Callee Issues Response
  • Step 3 Caller Receives Response to Initial
  • request
  • Step 4 Caller or Callee Generate Subsequent
  • requests
  • Step 5 Receive Subsequent Requests
  • Step 6 BYE to end session
  • Step x CANCEL may be issued

37
Simple Example
Audio, video, ...
38
Methods (cont.)
  • INVITE Initiates sessions
  • - Session description included in message body
  • Re-INVITEs used to change session state
  • ACK confirms session establishment, can only be
    used with INVITE
  • BYE terminates a session (hanging up)
  • CANCEL cancels a pending invite
  • REGISTER binds a permanent address to current
    location, may convey user data
  • OPTIONS capability inquiry

39
Redirect Example
40
Redirect Example
41
Relaying a Call
42
Relay Example
43
Relay and Topology Hiding
44
SIP Negotiation
  • Optimistic Call

45
SIP Negotiation
  • Pessimistic Call

46
Multi-register Example
47
Proxy Server Example
48
Redirect Server Example
49
SIP Responses
  • SIP Responses defined as (HTTP-style)
  • SIP-Version SP Status-Code SP Reason-Phrase
    CRLF
  • (SPSpace, CRLFCarriage Return and Line Feed)
  • Example
  • SIP/2.0 404 Not Found
  • First digit gives Class of response

50
SIP Responses (cont.)
  • 1xy Informational
  • request received , continuing to process
    request
  • 2xy Success
  • action successfully recvd., understood
    accepted
  • 3xy Redirection
  • Further action to be taken to complete the
    request
  • 4xy Client error
  • request contains syntax error or cant be
    completed at this server
  • 5xy Server error
  • server fails to fulfill an apparently valid
    request
  • 6xy global failure,
  • request is invalid at any server

51
Step 4 Generate Subsequent Requests
  • Once the call has been established
  • either the caller or callee may generate INVITE
    or BYE requests to change or terminate the call.
  • For the desired call leg the headers are set as
    follows (both including any tags)
  • - the To header field is set to the remote
    address, and
  • - the From header field is set to the local
    address.
  • The Contact header field may be different than
    the Contact header field sent in a previous
    response or request.
  • The Request-URI may be set to the value of the
    Contact header field received in a previous
    request or response from the remote party, or to
    the value of the remote address. supports
    mobility

52
SIP Requests Example
  • Required Headers (fields)
  • Via Shows route taken by request.
  • Call-ID unique identifier generated by client.
  • CSeq Command Sequence number
  • generated by client
  • Incremented for each successive request

INVITE sippicard_at_wcom.com SIP/2.0 Via
SIP/2.0/UDP host.wcom.com5060 From Alan
Johnston ltsipalan.johnston_at_wcom.comgt To Jean
Luc Picard ltsippicard_at_wcom.comgt Call-ID
314159_at_host.wcom.com CSeq 1 INVITE
53
Via Field in Header
  • The Request headers include a Via field
  • The Via field indicates the path taken by the
    request so far.
  • Every proxy adds a Via Header with its address to
    make sure that responses within a transaction
    take the same path (to avoid loops, or to make
    sure that same firewall will be hit on the way
    back)
  • This prevents request looping and ensures replies
    take the same path as the requests, which assists
    in firewall traversal and other unusual routing
    situations.

54
Via Headers and Routing
  • Via headers are used for routing SIP messages
  • Requests
  • Request initiator puts address in Via header
  • Servers check Via with senders address, then add
    own address, then forward. (if different, add
    received parameter)
  • Responses
  • Response initiator copies request Via headers.
  • Servers check Via with own address, then forward
    to next Via address
  • All Via headers are copied from request to
    response in order
  • Response is sent to address in top Via header

55
Via Header (cont.)
56
VIA Example
57
Via Example Response
58
Step 5 Receiving Subsequent Requests 
  • Subsequent to receipt, the following checks are
    made 
  • 1. If the Call-ID is new,
  • - the request is for a new call, regardless
    of the values
  • of the To and From header fields.
  •  2. If the Call-ID exists,
  • - the request is for an existing call.
  • - If the To, From, Call-ID, and CSeq values
    exactly match (including tags) those of any
    requests received previously,
  • - the request is a retransmission. 
  • 3. If there was no match to the previous step,
  • - To From fields compared against existing
    call leg local and remote addresses.
  • - If there is a match, the CSeq in the
    request gt last CSeq
  • received on that leg,
  • - the request is a new transaction for an
    existing call leg.

59
Reliability
  • If UDP is used
  • -SIP client should retransmit a BYE, CANCEL,
    OPTIONS, or REGISTER request, exponential
    backoff, starting at a T1 second interval,
    doubling the interval for each packet, and
    capping off at a T2 second interval.
  • -Retransmit a INVITE request with an interval
    that starts at T1 seconds, exponential back off,
    cease retransmissions if a provisional or
    definitive response recvd., or once it has sent a
    total of 7 request packets
  • Clients using TCP do not need to retransmit
    requests

60
Authentication Encryption
  • SIP supports a variety of approaches
  • end to end encryption
  • hop by hop encryption
  • Proxies can require authentication
  • Responds to INVITEs with 407 Proxy-Authentication
    Required
  • Client INVITEs again with Proxy-Authorization
    header.
  • Stacked!!
  • SIP Users can require authentication
  • Responds to INVITEs with 401 Unauthorized
  • Client INVITEs with Authorization header

61
Features and Benefits
62
Features and Benefits(cont.)
63
SIP vs. H323
  • H.323 uses TCP for setup
  • UDP gives better timing control
  • UDP is critical for very large proxies that wish
    to be stateless.
  • H.323 uses ASN.1 Packed Encoding Rules
  • For a long time only one company sold an ASN.1
    compiler that could compile H.323's ASN.1
  • SIP uses an HTTP-like syntax.
  • Much easier to write and to debug.
  • Much experience with HTTP

64
SIP Summary
  • SIP is
  • Relatively easy to implement
  • Gaining vendor and carrier acceptance
  • Very flexible in service creation
  • Extensible and scaleable
  • Appearing in products right now
  • SIP provides its own reliability mechanism is
    therefore independent of the packet layer and
    only requires an unreliable datagram service

65
But
  • SIP is not
  • Going to make PSTN inter-working easy
  • Going to solve all IP Telephony issues (QoS)
  • Secure !?
  • SIP is still evolving and being extended as
    technology matures and SIP products are
    socialized in the marketplace.
  • Newer RFCs 3261 through 3265

66
Questions?
  • ?
Write a Comment
User Comments (0)
About PowerShow.com