Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 1.79 KB

StreamingProtocols.md

File metadata and controls

65 lines (46 loc) · 1.79 KB

SIP

Session Initiation Protocol

  • SIP is typically used for VoIP: SIP-phones
  • SIP is a signaling protocol
  • SIP has many similarities with HTTP and SMTP, like
    • it's text-based
    • Requests have methods (REGISTER, INVITE, ACK, BYE, ...) similar to HTTP-methods (GET, POST, ...)
    • Responses have status codes (1xx, 200: success, 3xx: redirection, 5xx: server errors, ...)
  • SIP can use UDP, TCP or SCTP as transport protocols
    • TCP/UDP port numbers:
      • 5060: non-encrypted
      • 5061: encrypted with TLS
  • SIP UA's: Each UA (User Agent) is both client and server
    • UAC: User Agent Client
    • UAS: User Agent Server
    • UAC- and UAS-roles only last for duration of a SIP transaction
  • SIP Registrar: location service

Sources:

SDP

Session Description Protocol

  • SDP is used as the payload of some SIP-messages
  • SDP can be used by 2 endpoints to negotiate network metrics, media types, ... (the session profile)

RTP

= Real-time Transport Protocol

Also SRTP: Secure RTP (with TLS)

  • for transmission of multimedia formats
  • has different profiles or payload formats, like
    • for Audio and video conferences
    • for H.265-encoded video
    • !!! for MIDI !!!
    • ...

Golang:

RTCP

= RTP Control Protocol

  • helps RTP-sessions (provides out-of-band statistics and control information)
  • mainly for QoS (Quality of Service)
  • statistics:
    • packet counts
    • packet loss
    • packet delay variation (jitter)
    • round-trip delay time (RTT / ping-time)

sources: