beautypg.com

Dialogic 6.2 User Manual

Page 254

background image

Understanding the SIP Protocol

November 2009

254

forking. For this reason, request handling in SIP is often classified

as either INVITE or non- INVITE, referring to all other methods

besides INVITE.

In some cases, it may be useful for proxies in the SIP signaling path

to see all the messaging between the endpoints for the duration of

the session. For example, if the biloxi.com proxy server wished to

remain in the SIP messaging path beyond the initial INVITE, it

would add to the INVITE a required routing header field known as

Record- Route that contained a URI resolving to the hostname or IP

address of the proxy. This information would be received by both

Caller B's SIP phone and (due to the Record-Route header field being

passed back in the 200 (OK)) Caller A's softphone and stored for the

duration of the dialog. The biloxi.com proxy server would then

receive and proxy the ACK, BYE, and 200 (OK) to the BYE. Each

proxy can independently decide to receive subsequent messages, and

those messages pass through all proxies that elect to receive it. This

capability is frequently used for proxies that are providing mid-call

features.

Registration is another common operation in SIP. Registration is one

way that the biloxi.com server can learn the current location of

Caller B. Upon initialization, and at periodic intervals, Caller B's

SIP phone sends REGISTER messages to a server in the biloxi.com

domain known as a SIP registrar. The REGISTER messages

associate Caller B's SIP or SIPS URI (sip:[email protected]) with

the machine into which he is currently logged (conveyed as a SIP or

SIPS URI in the Contact header field). The registrar writes this

association, also called a binding, to a database, called the location

service, where it is used by the proxy in the biloxi.com domain.

Often, a registrar server for a domain is co-located with the proxy for

that domain. It is an important concept that the distinction between

types of SIP servers is logical, not physical.

Caller B is not limited to registering from a single device. For

example, both the SIP phone at home and the one in the office could

send registrations. This information is stored together in the location

service and allows a proxy to perform various types of searches to

locate Caller B. Similarly, more than one user is registered on a

single device at the same time.

The location service is just an abstract concept. It generally contains

information that allows a proxy to input a URI and receive a set of

zero or more URIs that tell the proxy where to send the request.