[SIPForum-discussion] Parameters of Via header for REGISTER ?

gaurang.rathod at wipro.com gaurang.rathod at wipro.com
Fri Aug 24 08:37:18 UTC 2007

The Via header field indicates the transport used for the transaction
and identifies the location where the response is to be sent.  A Via
header field value is added only after the transport that will be used
to reach the next hop has been selected.

When the UAC creates a request, it MUST insert a Via into that request.
The protocol name and protocol version in the header field MUST be SIP
and 2.0, respectively.  The Via header field value MUST contain a branch
parameter.  This parameter is used to identify the transaction created
by that request.  This parameter is used by both the client and the
The branch parameter value MUST be unique across space and time for all
requests sent by the UA.  The exceptions to this rule are CANCEL and ACK
for non-2xx responses.  As discussed below, a CANCEL request will have
the same value of the branch parameter as the request it cancels.  An
ACK for a non-2xx response will also have the same branch ID as the
INVITE whose response it acknowledges.

     The uniqueness property of the branch ID parameter, to facilitate
its use as a transaction ID, was not part of RFC 2543.

The branch ID inserted by an element compliant with this specification
MUST always begin with the characters "z9hG4bK".  These 7 characters are
used as a magic cookie (7 is deemed sufficient to ensure that an older
RFC 2543 implementation would not pick such a value), so that servers
receiving the request can determine that the branch ID was constructed
in the fashion described by this specification (that is, globally
unique).  Beyond this requirement, the precise format of the branch
token is implementation-defined.
      The Via header maddr, ttl, and sent-by components will be set when
the request is processed by the transport layer.

Via processing for proxies is described in Section 16.6 Item 8 and
Section 16.7 Item 3 of RFC 3261

Thanks & Regards
Gaurang Rathod

More information about the discussion mailing list