Internet Communications Using SIP : Delivering VoIP and Multimedia Services With Session Initiation Protocol {2Nd Ed.}

(Steven Felgate) #1
with the reverse result. In this way, SIP allows user preferences to be carried
with a request message. For example, a SIP request sent to a user’s URI could
be routed to any number of devices, depending on where the user is currently
registered, and what features and scripts are activated in the called party’s SIP
network. A SIP request could also be sent containing a Reject-Contact[25]
header, indicating that the requestor does not want to reach voicemail, for
example.
When a SIP message is processed by servers, it is usually up to the server as
to whether to proxy or redirect the request, and whether to invoke a serial or
parallel search (forking). However, the use of the Request-Disposition
header allows the requestor to have some input. For example, a request con-
taining a Request-Dispositon: proxy, sequentialindicates that the
requestor wishes the request to be proxied instead of redirected, and to have a
serial search as opposed to a parallel search. The Caller Preferences document
[25] describes all the options. Note that a proxy that does not implement a par-
ticular feature may simply ignore the header. The Caller Preferences draft
includes pseudocode describing the exact URI and parameter matching, and
the interaction of the qpreference values, if present.
Note that the use of the caller preferences defined Contactheader exten-
sions is useful in SIP CGI and CPL scripting for SIP service creation.
The use of the Requires: prefsheader allows a user agent to require that
a registrar support caller preferences and will act accordingly.

Message Transport

The MESSAGEmethod [26] simply transports the message body to the destina-
tion URI within or outside an established session. For example, consider the
following instant message (IM) transported using SIP:

SIP message
MESSAGE im:[email protected] SIP/2.0
Via: SIP/2.0/UDP pc.here.com;branch=z9hG4bK343g
To: User B <im:[email protected]>
From: User A <im:[email protected]>;tag=4541232ds
Max-Forwards: 70
Call-ID: a532431277432513
CSeq: 15 MESSAGE
Content-Type: text/plain
Content-Length: 15

Hi, how are you?

Notice that the URIs in the example are IM URIs instead of SIP URIs. When
user B receives the message, a 200 OKresponse would be generated. Unlike
the INFOmethod, which can only be sent when there is an established session

126 Chapter 6

Free download pdf