Understanding the SIP Protocol

In this example, Caller B decides to answer the call. When he picks up the handset, the SIP phone sends a 200 (OK) response to indicate that the call has been answered. The 200 (OK) contains a message body with the SDP media description of the type of session that Caller B is willing to establish with Caller A. As a result, there is a two-phase exchange of SDP messages: Caller A sent one to Caller B, and Caller B sent one back to Caller A. This two-phase exchange provides basic negotiation capabilities and is based on a simple offer/answer model of SDP exchange. If Caller B did not wish to answer the call or was busy on another call, an error response would have been sent instead of the 200 (OK), which would have resulted in no media session being established. The 200 (OK) (message F9 in Figure 20 on page 248) might look like this as Caller B sends it out:

SIP/2.0 200 OK

Via: SIP/2.0/UDP server10.biloxi.com; branch=z9hG4bKnashds8; received=192.0.2.3

Via: SIP/2.0/UDP bigbox3.site3.atlanta.com; branch=z9hG4bK77ef4c2312983.1; received=192.0.2.2

Via: SIP/2.0/UDP pc33.atlanta.com; branch=z9hG4bK776asdhds; received=192.0.2.1

To: b <sip:b@biloxi.com>;tag=a6c85cf

From: A <sip:a@atlanta.com>;tag=1928301774

Call-ID: a84b4c76e66710@pc33.atlanta.com

CSeq: 314159 INVITE

Contact: <sip:b@192.0.2.4>

Content-Type: application/sdp

Content-Length: 131

(Caller B's SDP not shown)

The first line of the response contains the response code (200) and the reason phrase (OK). The remaining lines contain header fields. The Via, To, From, Call-ID, and CSeq header fields are copied from the INVITE request. (There are three Via header field values - one added by Caller A's SIP phone, one added by the atlanta.com proxy, and one added by the biloxi.com proxy.) Caller B's SIP phone has added a tag parameter to the To header field. This tag is incorporated by both endpoints into the dialog and is included in all future requests and responses in this call. The Contact header field contains a URI at which Caller B can be directly reached at a SIP phone. The Content-Type and Content-Length refer to the message body (not shown) that contains Caller B's SDP media information.

In addition to DNS and location service lookups shown in this example, proxy servers can make flexible “routing decisions” to decide where to send a request. For example, if Caller B's SIP phone returned a 486 (Busy Here) response, the biloxi.com proxy server

November 2009

252

Page 252
Image 252
Dialogic 6.2 manual November 252