Call Control and Transport Protocols

Voice communication over IP is a mix of call control signals and voice conversations coded and possibly compressed into IP packets. Both reliable (connection-oriented) and so-called "unreliable" (connectionless) transmissions are required for voice communication.

Reliable transmission guarantees sequenced, error-free, flow-controlled transmission of packets. However, because reliable transport is connection-oriented, it can delay transmission and reduce throughput. TCP provides reliable transport in the IP stack, and all voice call control functions make use of it.

The User Datagram Protocol (UDP), which provides best-effort delivery, supplies connectionless transmission in the IP stack and is used for voice conversation transport between two endpoints.

KEY POINT

Control signals and data require reliable transport (using TCP) because the signals and data must be received in the order in which they were sent, and they cannot be lost.

However, voice conversation loses its value with time. If a voice packet is delayed, it loses its relevance to the end user, and retransmitting it is not useful. Therefore, voice conversation uses the more efficient connectionless transport (using UDP).

The following sections detail the protocols used for voice conversation traffic and call control functions.

Voice Conversation Protocols

Because of the time-sensitive nature of voice transport, UDP is the logical choice for carrying voice. However, voice conversation needs more information on a packet-by-packet basis than UDP offers. As shown in Figure 8-22, the Real-Time Transport Protocol (RTP), which runs on top of UDP, carries voice conversation (and video) between two IP endpoints.

Figure 8-22 VoIP Call Control Protocols Use TCP; Voice Conversation Uses UDP

Audio or Video

Call Control Audio Video Control Control

Audio or Video

Call Control Audio Video Control Control

H.225 (Q.931)

H.245

G.7xx H.26x

RTCP

RAS

RTP

TCP

UDP

IP

FR/ATM/Ethernet/PPP

RTP provides the additional packet sequence and time-stamping information needed for voice conversation traffic. RTP uses the sequence information to determine whether the packets are arriving in order, and it uses the time-stamping information to determine the inter-arrival packet time (to determine the variation in delay, called jitter). This information is essential for high-quality VoIP conversations.

Using RTP is important for real-time traffic; however, a few drawbacks exist. The IP/UDP/RTP packet headers are 20, 8, and 12 bytes, respectively, which results in a 40-byte header. This is twice as big as the compressed voice payload (when using the G.729 codec, discussed in the "Voice Coding Standards (Codecs)" section later in this chapter). This large header adds considerable overhead to voice traffic and reduces voice bandwidth efficiency.

NOTE Large IP/UDP/RTP headers can be compressed by using RTP header compression, called compressed RTP (cRTP). The "Bandwidth Considerations" section of this chapter further describes cRTP.

NOTE Cisco IOS 12.0(7)T introduced the Express RTP Header Compression feature. Before this feature was available, if compression of cRTP was enabled, that function was performed in the process-switching path and slowed down packet transmission. With Express RTP header compression, compression occurs by default in the fast-switched path or the Cisco Express Forwarding-switched path, depending on which switching method is enabled on the interface.

Call Control Functions with H.323

A variety of standards and protocols can be used for call control. H.323 call control functions include signaling for call setup, capability exchange, signaling of commands and indications, and messages to open and describe the content of logical channels. The following H.323 signaling functions provide overall system control:

■ H.225 call signaling channel: Uses Q.931 to establish a connection between two terminals.

■ H.245 control channel: A reliable channel carrying control messages that govern voice operation, including capabilities exchange, opening and closing of logical channels, preference requests, flow control messages, and general commands and indications. Capabilities exchange is one of the fundamental capabilities in the ITU-U H.323 recommendation.

■ RAS signaling: Performs registration, admission, bandwidth change, status, and disengage procedures between endpoints and gatekeepers. The RAS protocol runs on top of UDP/IP and is used only if an H.323 gatekeeper is present.

■ Real-time Transport Control Protocol (RTCP): Provides a mechanism for hosts involved in an RTP session to exchange information about monitoring and controlling the session. RTCP monitors quality for such elements as packet counts, packet loss, and inter-arrival jitter.

Figure 8-22 also shows these functions.

Call Control Functions with the Skinny Client Control Protocol

Skinny Client Control Protocol (SCCP) is a Cisco-proprietary terminal control protocol for messaging between IP phones and Cisco Unified Communications Manager, as illustrated in Figure 8-23.

KEY POINT

Figure 8-23 SCCP Call Control

Figure 8-23 SCCP Call Control

By default, Cisco Unified Communications Manager uses SCCP to signal Cisco IP phones. SCCP is a client/server protocol; Cisco Unified Communications Manager is the server, and the IP phones are the clients. Examples of SCCP clients include the Cisco Unified IP Phone 7900 series phones, such as the Cisco Unified IP Phone 7960 series, the Cisco Unified IP Phone 7970 series, the Cisco Unified IP Phone 7985, and the 802.11b Cisco Unified Wireless IP Phone 7920.

SCCP is a lightweight protocol that uses TCP/IP for efficient communication. Cisco Unified Communications Manager acts as a signaling proxy for the SCCP clients for call events received over other common protocols such as H.323, the session initiation protocol (SIP), and the Media Gateway Control Protocol (MGCP).

SCCP clients register with Cisco Unified Communications Manager to receive their configuration information. After it registers, a Cisco IP phone receives notification of new incoming calls and can make outgoing calls. The SCCP protocol is used for VoIP call signaling and enhanced features such as the Message Waiting Indicator.

Media connections between devices involved in a call, including voice conversations, use RTP.

Call Control Functions with SIP

KEY POINT

SIP is the Internet Engineering Task Force (IETF) standard for multimedia conferencing over IP. SIP is an ASCII text-based application-layer control protocol that establishes, maintains, and terminates calls between two or more endpoints. SIP is a peer-to-peer protocol developed as a simple lightweight replacement for H.323.

SIP is defined in RFC 3261, SIP: Session Initiation Protocol. SIP performs the signaling and session management functions required in a packet telephony network. Signaling sends call information across network boundaries. Session management controls the attributes of an end-to-end call. SIP requests and responses establish communication among the various components in the network, ultimately creating a conference between two or more endpoints. A SIP network can include the following components:

■ User agent (UA): SIP is a peer-to-peer protocol; the peers in a session are called UAs. A UA can act as both a UA client (UAC), which initiates calls, and a UA server (UAS), which receives calls. Whether a UA is acting as a UAC or a UAS is defined on a transaction-by-transaction basis; the UA initiating a call acts as a UAC when sending an invitation request, and as a UAS when receiving a goodbye request from the called party.

A UAS (a server application) notifies the user when it receives a SIP request from a UAC; the UAS then responds on behalf of the user. Cisco Unified Communications Manager can act as both a UAS and a UAC; this functionality is known as a back-to-back UA.

■ SIP proxy server: A SIP proxy server works as an intermediate device that acts as both a server and a client for making requests on behalf of other clients. A SIP proxy server receives SIP requests from a client and interprets and, if necessary, rewrites specific parts of the request message before forwarding it on behalf of the client. Proxy servers provide functions such as authentication, authorization, network access control, call routing, reliable request retransmission, and security.

■ Redirect server: The redirect server is a UAS that provides the client with information about the next hop or hops that a message should take. For example, if an endpoint has moved, the redirect server might provide an alternative address. The client then contacts the next-hop server directly.

■ Registrar server: The registrar server processes requests from clients to register their current location; the registrar server puts the information it receives in the requests into the location service for the domain it handles. Redirect or proxy servers often also contain registrar servers.

SIP integrates with other IP services, such as e-mail, web, voice mail, instant messaging, multiparty conferencing, and multimedia collaboration. When used with an IP infrastructure, SIP helps enable rich communications with numerous multivendor devices and media. SIP can set up individual voice or conference calls, videoconferences and point-to-point video-enabled calls, web collaboration and chat sessions, and instant-messaging sessions among any number of SIPenabled endpoints.

Users in a SIP network are identified by unique SIP addresses, a type of uniform resource identifier (URI) called a SIP URI. The format of a SIP URI is similar to that of an e-mail address, typically containing a username and a hostname such as sip:[email protected], where sipprovider.com is Nicholas's SIP service provider. Users register their assigned SIP addresses with a registrar server. The registrar server provides this information to the location service (which contains a list of bindings of addresses for contacts) upon request. The basic elements of a SIP system are UAs and proxy servers, as shown in Figure 8-24.

Figure 8-24 SIP Call Control

Figure 8-24 SIP Call Control

The SIP UA software is implemented in end-user devices and server components to manage the SIP connection. SIP UAs include endpoints such as IP phones, SIP media gateways, conferencing servers, and messaging systems.

SIP UAs communicate with a SIP proxy server. SIP proxy servers, such as the Cisco SIP Proxy Server application, route SIP requests from UAs to their appropriate destinations. SIP proxy servers are typically collocated with a SIP registrar, which maintains a list of contacts for specific users within a specific IP domain.

SIP proxy servers also provide integrated communications with Cisco Unified Communications Manager and enterprise voice gateways. SIP-compliant devices such as IP phones can register directly with Cisco Unified Communications Manager.

NOTE RTP is used to send packetized voice, video, and data in real time between UAs.

Call Control Functions with MGCP

MGCP is a client/server protocol defined in an informational (nonstandard) IETF document, RFC 3435, Media Gateway Control Protocol (MGCP) Version 1.0. The components of MGCP are shown in Figure 8-25.

Figure 8-25 MGCP Control

Figure 8-25 MGCP Control

B B B

KEY POINT

In MGCP, the servers are known as call agents; Cisco Unified Communications Manager is an example of a call agent. Call agents control endpoints, which are any of the voice ports on a media gateway.

Endpoints communicate over connections. A gateway handles translation between audio signals on the endpoints and the packet network. The MGCP call agent knows and controls the state of each individual port on the gateway. MGCP allows complete control of the dial plan from the call agent, including per-port control of connections to the PSTN, legacy PBX, voice-mail systems, plain old telephone service phones, and so forth. The call agent and the gateway communicate using a series of plaintext commands sent over UDP port 2427.

An endpoint is a source for call data (using RTP/UDP/IP) that is flowing through the gateway. Examples of endpoints are analog voice ports and channels on a digital trunk on the physical interface between the PSTN and the gateway. Other types of endpoints include logical endpoints.

In an MGCP call, a call agent creates a connection either between an endpoint and the packet network or between two endpoints. When a connection is made to an endpoint, the gateway assigns a connection identifier for that connection.

Was this article helpful?

+3 0

Responses

  • natsnet
    What are call control packets?
    6 months ago

Post a comment