Get A Hold On What You Code !!!

SIP Headers

  • It indicates the desired "logical" recipient of the request or the AOR(address of record) of the user    or resource that is the target of this request
  • It supports SIP or SIPs or TEL URI or any generic URI.
  • Occur only once per message. Compact form is 't'.
  • Can also contain a "display name" that can be rendered by a Human User Interface.
  • Supports a "TAG" that helps to identify the peer of the dialog.
  • It indicates the "logical" identity of the user that initiated this request. Possible to be an user's AOR.
  • It supports SIP or SIPs or TEL URI or any generic URI.
  • Occur only once per message. Compact form is 'f'.
  • The value to be populated is pre-provisioned by the user or by the admin of the user's local              domain.
  • Can also contain a "display name" that can be rendered by a Human User Interface. For hiding        the identity of the client, the display name can be set to Anonymous.
  • Supports a "TAG" that helps to identify the peer of the dialog.
       These are associated with From and To headers. An initial request from a client will contain a From Tag and the subsequent provisional response to it from the server will contain a To Tag.
Serves as a mechanism to identify a dialog. Must be globally unique & cryptographically random. Algorithm of generating a tag is implementation specific.


  • Unique Identifier. Must be the same for all requested and responses sent by either UA in a dialog.
  • Must be the same in each registration refresh.
  • Are case sensitive & compared byte-by-byte.
  • Occurs only once per message.
  • Compact form is 'i'.


Used to identify & order transactions.
  • Differentiation between new requests and request retransmissions.
  • Consists of a single decimal sequence number.
  • Method must match that of the request.
  • Exception of ACK and CANCEL, whose numbers equal the requests being acknowledged  or                     cancelled.
  • Occurs once per message.


Serves to limit the number of hops a request can transmit on the way to its destination.
  • An integer in the range - 0 to 255. Decremented in every hop.
  • Must be used with any SIP method.
  • Max-forwards value of 0 before the request reaches its destination will be rejected with '483 too many      hops'.
  • UAC must insert Max-forwards with default value of 70.
  • Indicates the path taken by the request & identifies the location where the response is to be sent. (sent-by:- via:SIP/2-0/UDP; branch.....)
  • Indicates the transport used for the transaction.
  • Added only after the transport that will be used to reach the next hop has been selected.
  • Contains a branch parameter which is used to:
              a) Identify the transaction created by that request.
              b) Proxies to detect loops.
  • Protocol name (SIP) & version (2.0).
  • Contains parameters such as '
  • Can occur more than once per Message.
  • Compact form is 'V'.
  • Two header fields are equal if:
  •     a) If sent protocol = sent-by fields.
  •     b) Both have the same set of parameters.
  •     c) Values of all parameters are equal. 
               Not a header but an important parameter.
               Branch Parameter:
               a) Used by both client and server.
               b) Unique across space and time for all requests sent by UA.
               c) Exceptions to this rule are CANCEL and ACK for non-2xx responses.
                   i) CANCEL requests will have the same value of the branch parameter as the request it cancels.
                   ii) ACK for a non-2xx response will also have the same Branch ID as the INVITE whose response                         it acknowledeges.
  • Provides a SIP or SIPs URI that can be used to contact that specific instant of the UA for subsequent        requests. 
  • Must be present & contain exactly one SIP or SIPs URI in any request that can result in the                      establishment of the dialog. 
  • Contains, URI of which the UA would like two receive requests & this URI is valid even if used in                subsequent requests outside of any dialogs. 
  • Must use SIPs URI if the Request-URI or top route header field value contains a SIPs URI.
  • Display name can be changed.
  • Parameter:  q & expires are used only when the contact is present in a REGISTER  request or                  response or in a 3xx response.
  • For request forwarding, targets are processed from highest q value to lowest. (equal q values then          parallel processing).
  • "expire" indicates expiration of the URI. 
  • Occurs 0 or 1 per Message.
  • Compact form - 'M'.

SIP Messages <==                                                                             ==> SIP Methods
Linkedin          Code2CompileTwitter          Code2CompileGooglePlus
About Me    |    Blog    |    Contact Us    |    Member Login
┬ę -- Taking the initiative of helping out people suffering from The Interview Misery