VoIP Protocols


Challenges with Voice and Video Services

  • Voice and video services are challenging to support
    • require millisecond (ms) response times
    • delayed responses result in poor call or video quality
    • data can be one way or two-way
      • media streaming vs VoIP and VTC

Functions of protocols designed to support real-time services:

  • session control
    • used to establish, manage, and disestablish communications sessions
    • handle tasks such as:
      • user discovery (locating a user on the network)
      • availability advertising (whether a user is prepared to receive calls)
      • negotiating session parameters (use of audio/video)
      • session management and termination
  • data transport
    • handles the delivery of the actual video or voice information
  • Quality of Service (QoS)
    • provides information about the connection to a QoS system
      • in turn ensures that voice or video communications are free from problems
        • e.g., dropped packets, delay, jitter

Session Initiation Protocol (SIP)

Session Initiation Protocol (SIP) is one of the most widely used session control protocols.

  • SIP endpoints are the end user devices
    • called user agents
    • e.g., IP-enabled handsets, client and server web conference software
    • each device, conference, or telephony user is assigned a unique SIP address known as a SIP Uniform Resource Identifier (URI)
      • e.g.,
        • sip:jaime@515support.com
        • sip:2622136227@515support.com
        • sip:jaime@2622136227
        • meet:sip:organizer@515support.com;ms-app=conf;ms-conf-id=subg42
  • typically runs over UDP or TCP ports:
    • 5060 (unsecured)
    • 5061 (SIP-TLS)
  • has its own reliability and retransmission mechanisms
    • thus can benefit from lower overhead and reduced latency and jitter of UDP
    • some enterprises use TCP anyway

Real-Time Transport Protocol and RTP Control Protocol

  • SIP provides session management, the actual delivery of real-time data uses different protocols
  • Real-time Transfer Protocol (RTP) enables the delivery of a stream of media data via UDP, while implementing some reliability features associated with TCP.
    • works closely with RTP Control Protocol (RTCP)
    • each RTP stream uses a corresponding RTCP session to:
      • monitor the quality of the connection
      • provide reports to endpoints
        • can be used by the applications to modify codec parameters
        • or used by the network stacks to tune quality of service (QoS) parameters