pdf_gross.gifSIP, SDP and other NGN Protocols -
Signaling & Protocol Analysis

[3-day course, Euro 3,450.- (net) per participant]

backtotop.gifIntroducing the Playground of SIP / Reviewing SIP & SDP Basics

flip_sip_signaling.jpg

  • What are the driving Forces behind the NGN-Hype?
    • Easy Offering of Multimedia Services becomes possible
    • Data and Voice Network Convergence
    • Mobile and Fixed Network Convergence
    • Service Convergence / Offering of Triple-Play Services
  • Next Generation Networks and their Components
    • Typical Configuration and Interconnection of Next Generation Networks
      Network Type 1: Evolved ISP, Network Type 2: Former Telecom-Operator, Network Type 3: 3GPP Mobile Network Operator, Network Type 4: WIMAX Network Operator
    • The IP Multimedia Subsystem (IMS)
    • Overview and Internal Structure of the IMS
    • The IMS in the 3GPP Environment
  • And where are SIP, SDP and all the other Protocols used?
    • SIP Use within NGN
      DIA (DIAMETER)
    • H.248 / MEGACO
    • RTP / SRTP (Real-time Transport Protocol / Secure Real-time Transport Protocol)
    • Interface specific View on Protocols (IMS-internal)
    • Why SIP is used and not H.323 or other Alternatives?
  • Scope of SIP
    • Session Establishment
    • Clarification of the Term “Session”
    • Session Modification
    • Session Release
    • Philosophy of SIP-Operation
      Session Establishment Phase, Session Completion Phase, Session Active Phase
    • Comparison between SIP and HTTP
  • Different Implementations of SIP
    • Option 1: Amateur Use of SIP
    • Option 2: Semi-Professional Use of SIP
    • Option 3: Professional Use of SIP for VoIP (PSTN-Replacement)
  • Simple Example of a SIP-Scenario: VoIP Call Setup with SIP
    • Overview
    • Summary: Some SIP-Terminology
      Message Types, SIP-Methods, Response Types
    • Request: INVITE-Message
    • Response: 100 (Trying)
    • Response: 180 (Ringing)
    • Response: 200 (OK)
    • Request: ACK
    • Example of one of the 4300 Speech Frames
    • Request: BYE
    • Response: 200 (OK)
    • The Related Session Description Protocol (SDP) Contents

backtotop.gifDetailed Consideration of Formal SIP-Protocol Aspects

  • SIP – Protocol Structure
    • Sublayers within SIP
      Transport Layer Control, Transaction Handling (UAC and UAS), Transaction User / Core
  • SIP-Network Architecture
    • Overview
    • User Agents
      Dedicated VoIP-Phones, Mobile Stations, Softphones, Game Boxes, Set Top Boxes
    • SIP-Servers
      Stateless SIP-Proxy Server, Stateful SIP-Proxy Server, SBC (Session Border Controller), B2BUA (Back-to-Back User Agent)
    • Special SIP-Servers
      Registrar, Application Server, Media Gateway Controller, Application Layer Gateway (ALG)
    • Operation of Stateless SIP-Proxy Servers
      Advantages of Stateless SIP-Proxies, Disadvantages of Stateless SIP-Proxies, Other Assets of Stateless SIP-Proxies
    • Operation of Stateful SIP-Proxy Servers
    • Operation of Registrars
    • Operation of Redirect Servers
      Introduction, Procedure Description
    • Operation of Forking SIP-Proxy Servers (always stateful)
    • Operation of B2BUA and SBC
      Example: VoD-for a Mobile Client with limited Access Rates
    • Operation of Event Servers
      Introduction, Event Subscription, Event Publishing and Notification, The Presence Event
    • Soft Switches and their Controllers
    • Summary
  • Important SIP-Terminology / Step 1: Two UA’s …
    • Transaction
    • Dialog / Call / Early Dialog (Definition)
    • Session (Definition)
    • Dialog Identification (two Users / with or w/o Proxies)
    • Session Identification and Distinction
    • Transaction Identification (two UA’s / no Proxies)
      The Branch Parameter, Magic Cookie "z9hG4bK", Example, Sequence Numbering (CSeq)
    • Transaction Identification (two UA’s / with Proxies)
      Transaction Identification through “branch” is done Hop-by-Hop, Transaction Numbering through “CSeq:” applies end-to-end
    • Transaction-specific Messaging
      Option 1: Request = INVITE / Transaction = successful, Option 2: Request = INVITE / Transaction = unsuccessful, Option 3: Request = INVITE / Transaction = cancelled, Option 4: Request = REGISTER, Option 5: All Other Requests
  • Amendments in case of more than two Peers
    • Introducing Different Contact Addresses per User
    • Behavior of Forking Proxies
    • The Terms Call, Dialog, Session and Transaction in case of Forking
    • Message and Parameter Details
    • Summary
  • SIP-Timers
    • Overview
    • INVITE Transaction (UAC-Side - Response: 200-OK)
      Overview, Reception of Provisional Response, Reception of Response: 200-OK, Timer 1, Timer A and Timer B in case of 3GPP-Networks
    • INVITE Transaction (UAC-Side - Response: 3XX – 6XX)
      Overview, Reception of Provisional Response, Reception of Response: 3XX – 6XX
    • INVITE Transaction (UAC-Side - no Response received)
      Overview, Expiry of Timer A, Expiry of Timer B
    • INVITE Transaction (UAS-Side sent 3XX – 6XX – wait for ACK)
      Overview, Expiry of Timer G, Expiry of Timer H, Timer 1, Timer 2, Timer G and Timer H in case of 3GPP-Networks
    • INVITE Transaction (UAS-Side sent 200-OK – wait for ACK)
      Overview, Expiry of UAS-Core Timer (T1), Expiry of 2.UAS-Core Timer (64 x T1), Timer 1 and Timer 2 in case of 3GPP-Networks
    • “None“-INVITE Transaction (UAC-Side - Response: 2XX – 6XX)
      Overview, Timer E and Timer F, Timer K, Timer 1, Timer E, Timer F and Timer K in case of 3GPP-Networks
    • ”None“-INVITE Transaction (UAC-Side - no Response)
      Overview, Timer E, Expiry of Timer F, Timer 1, Timer 2, Timer E and Timer F in case of 3GPP-Networks
    • “None“-INVITE Transaction (UAS-Side - final Response sent)
      Overview, Timer J, Timer 1 and Timer J in case of 3GPP-Networks
  • SIP-Message Format
    • General Information
    • Request Messages
    • Response Messages
  • SIP-Message Contents
    • The Request Line (Request Messages only)
    • The Different Method-Types
      REGISTER, INVITE, ACK, CANCEL, BYE, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY, PUBLISH, PRACK, REFER, UPDATE
    • Address Specification / Request-URI
      The “tel”-URI, The SIP(S)-URI
    • The Status Line
      Status Code and Reason Phrase
    • The “From:” and the “To:” Header Fields
      Display-Name, Tag
    • The “Call-ID:” and “Max-Forwards:” Header Fields
      Call-ID, Max-Forwards
    • The “CSeq:” Header Field
    • The “Via:” Header Field
    • The “Contact:” Header Field

backtotop.gifDetailed Consideration of Formal SDP-Protocol Aspects

  • The Session Description Protocol (SDP)
    • Structure of SDP-Parameters within a SIP-Message (Example)
    • Logfile Example: Session and Media Descriptors through SDP
  • Session Description Items
    • Overview
    • The “v=”-Line (Version)
    • The “s=”-Line (Session Name)
    • The “o=”-Line (Origin)
      Username, Session-ID, Session-Description-Version, Network-type, Address-type, Address
    • The “c=”-Line (Connection Info)
  • Time Description Items
    • Overview
    • The “t=”-Line (Time)
  • Media Description Items
    • Overview
    • Presence of Attributes
    • The “m”-Line (Media Announcement)
      Media Type (MIME), Port-Number, Transport, Payload-Type-List
    • “m”-line Media Type Attribute (MIME) / some Examples
      Media Type = application / Subtype = pdf, Media Type = message / Subtype = CPIM
      “m”-line / Details of the Transport Protocol Types
      RTP/AVP, RTP/AVPF, RTP/SAVP, TBCP (Talk Burst Control Protocol), TCP (Transmission Control Protocol), TCP/BFCP (TCP / Binary Floor Control Protocol), TCP/MSRP (Message Session Relay Protocol), TCP/RTP/AVPF, TCP/TLS/BFCP (Transport Layer Security / Binary Floor Control Protocol), TCP/TLS/MSRP (Transport Layer Security / Message Session Relay Protocol), UDP (User Datagram Protocol), UDPTL (UDP Transport Layer)
    • Use Case Example: Floor Control during Push-to-Talk (BFCP)
      Configuration of the Participants and the Floor Control Server, BFCP-Operation during a Conference Session
    • The “b”-Line (Bandwidth Information)
      CT (Conference Total), AS (Application Specific), TIAS (Transport Independent Application Specific), RR (Rtcp bandwidth for data Receiver) and RS (Rtcp bandwidth for data Sender), Details of the Bandwidth Modifiers “RR” and RS”
    • “a”-Lines (Attributes)
      Example 1: Attribute “recvonly / sendonly”, Example 2: AMR-Codec Definition and Parameterization, Example 3: TCP-Connection Definition
  • The Offer / Answer Model
    • Session Identification Parameters at both Peers

backtotop.gifAdvanced Use of SIP and SDP

  • Reviewing the SIP-Scenario in Chapter 1: Critical Issues
    • Overview
      How can the called party be found across networks?, How to tackle the loss of provisional response messages?, How is real-time QoS provided for the media streams?, Are there any means for secondary call treatment?
  • Question 1: How to find the called party across networks and how to route SIP-messages?
    • Answer:
    • SIP-clients need to register to “their” SIP-registrar to bind their current IP-address to their SIP-URI.
    • But how does a User Agent find “its” Registrar?
    • Option1: The “Preconfigured” Case
    • Option 2: User Agent performs DNS-query itself
    • Option 3: User Agent uses an intermediate SIP-proxy server to find the Registrar
    • DNS-Queries with NAPTR- and SRV-Records
      NAPTR-Records, SRV-Records
  • Question 2: What happens if Provisional Responses get lost?
    • Provisional Response Messages are those with Status Code 100 – 199
    • Solution: Provide for the Option to acknowledge provisional Responses
    • Indicating Support or Requirement of acknowledged provisional Responses
    • Indicating Lacking Support for a Required Feature
    • Using PRACK to acknowledge Provisional Responses
    • Transaction Abort in Case of Lacking PRACK
    • Summary
  • Question 3: How to assure appropriate Resource Allocation in both Ways before alerting the Called Party?
    • Consequences of this Lack of Sophistication
      Call Drop (No common Codec)
    • Answer: We define an additional Handshaking Procedure
    • Overview: Resource Management using SIP and SDP
      Positive Outcome – Resource Reservation successful, Negative Outcome – Preconditions cannot be met, Option 1: Related SDP was contained in a SIP-Request (INVITE / UPDATE), (1) Option 2: Related SDP was contained in a SIP-Response, One Media Stream is rejected altogether
  • Handling the Precondition Attributes “a = curr:” and “a = des:”
    • Overview
    • The new Option Tag “precondition”
    • The “m = …” Line / Port Number and Payload Type
    • Interpretation of “local” and “remote” Direction-Tags
    • Interpretation of the “current-status” Attribute (“a = curr:”)
    • The “desired-status” and “confirm-status” Attributes
    • Preconditions fulfilled: the final Status
    • Example 1: Resource Reservation if IP-CAN = GERAN/UTRAN
      Selection of 3GPP-specific QoS-Parameters, Activation of QoS-aware Media Tunnel
    • Example 2: Resource Reservation if IP-CAN = WIMAX
      Selection of WIMAX / 802.16-specific QoS-Parameters, Activation of QoS-aware Media Tunnel
    • Example 3: Resource Reservation if IP-CAN = IntServ-aware
      Selection of IntServ-specific QoS-Parameters, Activation of QoS-aware Media Tunnel
    • Example 4: Unsuccessful Outcome
    • Summary
  • Question 4: Are there any Means for Secondary Call Treatment
    • Answer: Yes, there are means for
    • User Busy
    • Call Forwarding Unconditional
    • User not Responding
    • The “Do not Disturb” Feature
    • The “Find Me” Feature
    • User Busy and “Do not Disturb” Feature – Detailed Message Sequence Chart
    • “Call Forwarding Unconditional” / “User not Registered” – Detailed Message Sequence Chart
    • User not Responding – Detailed Message Sequence Chart
    • Sequence Chart
  • Other important Questions
    • Is it possible to re-adjust an already established media stream setup?
    • How does a SIP-server detect that a call dropped? (Ungraceful Session Release)
    • Is there any means to compress SIP-messages since they are ASCII-encoded?
    • What do the abbreviations SIP-B, SIP-I and SIP-T stand for?
  • Media Stream Adjustments
    • Adding a Media Stream
      Positive Response, Negative Response, Differences between INVITE and UPDATE
    • Media Stream Modification
    • Removal of a Media Stream (Practical Exercise)
  • Ungraceful Session Release
    • Overview
      Service Revocation, SIP-Devices may fail (Call Drop), SIP is based on the approach to keep the call state only in the UA’s (User Agents)
    • Options how to cope with the Problem
      Option 1: Timer-based Session Release, Operation of the Keep-Alive Mechanism, Negative Outcome: Session Timer Expiry, Option 2 / Intro: the Idea is Media Stream Observation , Option 2: the required Network Architecture, (1) Option 2 / Consequence: SBC-Initiated Session Release
    • Summary
  • Introduction to SIP-I and SIP-T
    • SIP-Bridging
      Message Flow for SIP-Bridging
    • PSTN-Originating Session
    • SIP-Originating Session

backtotop.gifSIP, SDP and DBP in 3GPP-Networks

  • Relationship between SIP, the IMS and 3GPP-Networks
    • Generic SIP-Servers vs. IMS-specific SIP-Servers
    • The Mobile’s Way to SIP Registration and SIP-Sessions
      Step 1: GPRS-Attachment, Step 2: Primary PDP-Context Activation Procedure / P-CSCF Discovery, Step 3: SIP-Registration (REGISTER), Step 4: SIP-Invitation (INVITE)
  • IMS-related User Identities
    • Overview / the ISIM
    • Private User Identity (IMPI)
    • Public User Identity (IMPU)
    • Details of Private User Identities (IMPI)
    • Details of Public User Identities (IMPU)
    • Use of Private and Public User Identities in REGISTER-Msgs.
      Home Network Domain Name, Use of Private User Identity, Use of Public User Identity, Use of Temporary Public User Identity
  • Registration to the IMS in 3GPP-Networks (Overview)
    • Dependency between APN-Setting and P-CSCF-Selection
    • Subscriber registers to IMS while located in H-PLMN
    • Subscriber is Roaming
  • Authentication in 3GPP-based IMS
    • The Authentication Quintuplet of IMS-AKA
      AK, AMF, AUTN, CK, IK, RAND, XRES, MAC
    • Authenticating the Network towards the MS/UE
    • The “base64”-Encoding Process
    • The IMS-AKA Authentication Process
    • Application of IPsec between MS/UE and P-CSCF
  • Registration to the IMS in 3GPP (Detailed Scenario)
    • Initial Conditions
    • Applicability of this Procedure
    • Description
  • Mobile Originating Calls
    • Plain VoIP-Call
      Bullet 1: Call Initiation, Bullet 2: QoS-Authorization, Bullet 3 and 4: I-CSCF in H-PLMN, Bullet 5: S-CSCF selects the Path, Bullet 6: Call reaches the called Party, Bullet 11: Response 183 (Session Progress) to Mobile Station, Bullet 12: Mobile Station establishes Secondary PDP-Context or modifies existing PDP-Context
    • Call towards the PSTN
      Bullet 1: Call Initiation, Bullet 2: QoS-Authorization, Bullet 3: Tasks of the I-CSCF’s, Bullet 4: S-CSCF in H-PLMN, Bullet 5: Task of BGCF, Bullet 6: Operation at the MGCF, Bullet 7: Response 183 (Session Progress) to Mobile Station, Bullet 8: Mobile Station establishes Secondary PDP-Context or modifies existing PDP-Context
    • Call from the PSTN
      Bullet 1: Call Initiation, Bullet 2: Request Routing Information from the HSS, Bullet 3: Call is routed to the IMS, Bullet 4: H.248 Interaction with the Media Gateways, Bullet 5: Obtain detailed Routing Information from the S-CSCF, Bullet 6: Call is routed to P-CSCF, Bullet 7 and 8: Media Authorization / Relay Request: INVITE to MS/UE, Bullet 9: Mobile Station establishes Secondary PDP-Context

v2.100

pdf_gross.gif