Friday, March 20, 2015

SIP Learning Part I - Essential Headers

For a valid SIP request, there are 6 header fields at least minimum required. They are To, From, CSeq, Call-ID, Max-Forwards, and Via. These headers are in addition to the Request line, which contains the method, Request-URI, and SIP version 

Request - URI 
The initial Request-URI should be set as the value of URI in the To Field. One notable exception is the REGISTER method. In some circumstances, the presence of pre-existing route set can affect the Request-URI of the message. A pre-existing route set is an ordered set of URIs that identify a chain of servers, to which a UAC will send outgoing requests that are outside of a dialog. Commonly they are configured on a UA with the by user or service provider manually, or through some other non-SIP mechanism. When a provider wishes to configure a UA with an outbound proxy, it is recommended that this be done by providing it with a pre-existing route set with a single URI, that of outbound proxy. 

When a pre-existing route set is present, the procedure for populating the request-URI and route header field detailed in section 12.2.1.1. must be followed using the desired Request-URI as the remote target URI. 

To Header
The To header field first and foremost specifies the desired “logical” recipient of the request, or the address-of-record of the user or resource that is the target of this request. This may or may not be the ultimate recipient of the request. The To header may contain SIP or SIPS URI, but it may also make use of other URI schemes. e.g. tel when appropriate. The To header field also allows display name. 

The UAC can form the To header in a number of ways. either via human interface perhaps inputting manually or from a contact lis. Using the string to form the user part of the SIPS URI implies tat the UA wishes to communicate securely and that name to be resolved in the domain to the RJS of the at sign. The RHS will be frequently be the home domain of the requester, which allows for the home domain to process the outgoing request. This is useful for features like speed dial that requrire interpretation of the user part in the home domain. The tel uri may be used when the UA does not wish to specify the domain that should interprest a telephone nu,her that has been input by the user. 

A use case would be a user in an airport might log in and send requests through an outbound proxy in the airport.If they enter 411 (local directory assistance in US) that needs to be interpreted and processed by the outbound proxy in the airport, not the user’s home domain. In this case, tel:411 would be right choice. 

A request outside of a dialog MUST not contain a To tag; the tag in the To field of a request identifies the peer of the dialog. Since no dialog established, no tag is present. 

References:

No comments:

Post a Comment