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
- in turn ensures that voice or video communications are free from problems
- provides information about the connection to a QoS system
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.comsip:2622136227@515support.comsip:jaime@2622136227meet:sip:organizer@515support.com;ms-app=conf;ms-conf-id=subg42
- e.g.,
- 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