Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
understanding-SIP.pdf
Скачиваний:
113
Добавлен:
01.03.2016
Размер:
3.99 Mб
Скачать

 

 

Services in SIP

223

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 9.2 SIP trunk between enterprise and service provider.

Table 9.2

SIP Service Examples Features

Call hold

Consultation hold

Music on hold

Transfer—unattended

Transfer—attended

Transfer—instant messaging

Call forwarding unconditional

Call forwarding—busy

Call forwarding—no answer

Three-way conference

Find-me

Call management (incoming call screening)

Call management (outgoing call screening)

Call park

Call pickup

Automatic redial

Click to dial

9.4 Voicemail

Voicemail is a messaging service commonly associated with telephony applications. It can be implemented as a service in the network (such as that provided by mobile phone providers), in a separate device, such as a home answering machine, or incorporated in a telephony device, such as an enterprise PBX or key system. The service involves call forwarding no answer/busy/unavailable to a

224

SIP: Understanding the Session Initiation Protocol

storage device which plays a customizable greeting and plays a greeting. The user is then alerted by some means that a message is waiting, and can then retrieve the message by dialing into the system. With unified messaging systems, it is becoming increasingly common for a voicemail to be retrievable by other means such as an audio file attachment to an e-mail or a speech recognition system that generates an e-mail or text message of the contents.

In SIP terms, the call forwarding is straightforward, with either a proxy forwarding or endpoint redirection (3xx response) used to send the call to the voicemail server. However, some kind of SIP extension is needed to indicate to the voicemail system which mailbox to use—that is, which greeting to play and where to store the recorded message. There are two main ways to do this. One is to use the Request-URI to signal this information while the other is to use a SIP header field extension. For the Request-URI method, the voicemail URI parameters [11] approach is used. For a voicemail system at sip:voicemail.example. com, which is being used to provide voicemail for sip:alice@example.com, the Request-URI of the INVITE when it is forwarded to the voicemail server could look like:

sip:voicemail.example.com;target=sip:alice@example.com;cause=486

In this way, the Request-URI carries the mailbox identifier as well as the reason the call is being forwarded to voicemail. This is important if the voicemail system plays different prompts depending on if the user is on the phone or doesn’t answer, for example. For the cause parameter, the following values are standardized in Table 9.5. The feature is shown in Figure 9.3.

There are two approaches for header field approach. One is a usage of the History-Info header field [12] while the other is the unstandardized Diversion header field. In this case, the History-Info is populated by the proxy server and included when the INVITE is forwarded to the voicemail server. The Request-URI is set to the voicemail server URI. Note that the History-Info approach pro-

Table 9.3

Voicemail URI Cause Parameter Values

Meaning

Cause Value

 

 

Unknown/not available

404

User busy

486

No reply

408

Unconditional

302

Deflection during alerting

487

Deflection immediate response

480

Mobile subscriber not reachable

503

 

 

 

 

 

 

 

 

 

 

 

Services in SIP

225

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 9.3 SIP voicemail call flow example.

vides more information than the voicemail URI approach and allows additional policies to be applied.

The other header field approach is the Diversion header field [13]. Note that while this header field is widely deployed, it has never been standardized by the IETF.1 An example of the diversion header field is:

Diversion: <sip:alice@example.com>;reason=no-answer

This approach directly maps ISDN diversion values, simplifying PSTN interworking. For message notification, SIP events along with the message waiting indicator (MWI) event package can be used.

9.5 SIP Video

Establishing video sessions with SIP is essentially orthogonal to the SIP protocol itself—nothing really needs to be changed, even in the offer/answer SDP ex-

1. The expired draft can be found by searching on the IETF tools site and other mirror sites, for example, http://tools.ietf.org/id/draft-levy-sip-diversion-08.txt.

226

SIP: Understanding the Session Initiation Protocol

change. However, there are some features and services specific to video that often come up when SIP video is discussed.

For example, consider FastUpdate. This is a signaling message sent by a video mixer to a video sender in a multimedia conference. When switching between video sources, the FastUpdate message indicates that the sender must send a key frame (I-frame) so that subsequent P-frames and B-frames have a reference. One method uses an XML object carried in a SIP request, defined in [14]. Another approach is to use RTCP, defined in [15] using the Full Intra Request command.

Another type of SIP video is “dual video” where multiple video streams are sent—typically a main video and a secondary video. The far end has the ability to switch between the two videos. These are also known as “people and content” streams. Some initial work is underway to standardize this feature for SIP [16] and define interworking with H.239 [17]. Current proposals to standardize this feature involve the use of the Binary Floor Control Protocol (BFCP) [18]. SDP media content and label attributes are also proposed for this feature.

Bandwidth management is more critical with video than audio, and being able to allocate bandwidth between both audio and video streams for best performance is important. Another useful tool is the ability to signal the size of the video and preferred frame rate received [19].

9.6 Facsimile

Facsimile or fax is a common PSTN application. Fax is the telecommunications service for sending copies of documents across the PSTN. Fax machines have scanners to read a document, a modem to encode the digital information over the telephone line, and a printer to output received pages. Fax servers are also used today that send and receive faxes over PSTN trunks but offer alternative output including e-mail, PDF, and text-to-speech. Faxes can be implemented in Internet communications in a number of different ways including simple transport to native implementation. Faxes can be transported using G.711 or another noncompressed codec, although delays and latency can cause problems and failures. Sending faxes directly over IP networks can be done using the T.38 [20] fax over IP standard. The MIME type image/t38 [21] has been defined for the transport of faxes over UDP, using the UDP Transport Layer (UDPTL). While this approach is efficient, it is better to transport faxes over RTP. This allows faxes to utilize various RTP extensions including security, redundancy, and so fourth. Faxes over RTP use the audio/t38 [22] MIME type. As such, the SIP offer/ answer exchange is needed to negotiate a fax session. For example, the following media line could be used, as will be discussed in Chapter 13: