SIP – Headers

SIP – Headers

A header is a component of a SIP message that conveys information about the message. It is structured as a sequence of header fields.

SIP header fields in most cases follow the same rules as HTTP header fields. Header fields are defined as Header: field, where Header is used to represent the header field name, and field is the set of tokens that contains the information.

Each field consists of a fieldname followed by a colon (“:”) and the field-value (i.e., field-name: field-value).

SIP Header Example

INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE
Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Diversion: Carol <sip:carol@atlanta.example.com>;privacy=off;reason=no-answer;counter=1;screen=no
Remote-Party-ID: Alice <sip:alice@atlanta.example.com>
P-Asserted-Identity: Alice <sip:alice@atlanta.example.com>
P-Charge-Info: <sip:eve@atlanta.example.com>
P-Source-Device: 216.3.128.12
Content-Type: application/sdp
Content-Length: 151
X-BroadWorks-DNC: network-address=sip:+9876543210@127.0.0.101;user=phone
User-Agent: X-Lite release 1104o stamp 56125 v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s=- c=IN IP4 192.0.2.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000

Let’s Understand the SIP Header Fields

Request URI

INVITE sip:bob@biloxi.example.com SIP/2.0

The Request URI is the contact information of the next hop in the call route. In the above example, the username of the next hop is bob, who is hosted by biloxi.example.com.

Via

Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70

The Via header field indicates the path taken by the request so far and helps in routing the responses back along the same path. If the SIP INVITE passed through multiple SIP proxies, there will be multiple VIA headers. In the given example, the responses will be sent back to client.atlanta.example.com at the port 5060.

From

From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl

The From header field indicates contact information of the initiator of the SIP INVITE request, Alice in this case.

To

To: Bob <sip:bob@biloxi.example.com>

The To header field contains the information about the called party or the recipient of the request, Bob in this example.

Call-ID

Call-ID: 3848276298220188511@atlanta.example.com

The Call-ID header field is a unique ID identifying the SIP call. All messages containing this call-id will be assigned to the same SIP call.

Contact

Contact: <sip:alice@client.atlanta.example.com;transport=tcp>

The Contact header field provides a SIP or SIPS URI that should be used to contact the sender of the INVITE, Alice.

Diversion

Diversion: Carol <sip:carol@atlanta.example.com>;privacy=off;reason=no-answer;counter=1;screen=no

The diversion header contains the redirection information of the call. It includes the contact information of the device that forwards the INVITE, and also the reason for diversion.

Remote Party ID

Remote-Party-ID: Alice <sip:alice@atlanta.example.com>

This SIP header is considered obsolete, but is still used to convey the calling telephone number and source IP address.

P-Asserted-Identity

P-Asserted-Identity: Alice <sip:alice@atlanta.example.com>

The P-Asserted-Identity header field is an important SIP header used among trusted SIP entities (typically intermediaries) to carry the identity of the user sending a SIP message as it was verified by authentication. This header is commonly used in call centers who need to present the calling number of its customer, rather than it actual telephone number.

P-Charge-Info

P-Charge-Info: <sip:eve@atlanta.example.com>

The P-Charge-Info header is used to convey billing information about the party to be charged.

P-Source-Device

>P-Source-Device: 216.3.128.12
Content-Type: application/sdp
Content-Length: 151

This is a special header and includes the IP address of the source device through a Back to Back User Agent

X-Header

X-BroadWorks-DNC: network-address=sip:+9876543210@127.0.0.101;user=phone

A SIP header that begins with X can be used to convey any information. For example, an X-Header in a SIP INVITE is often used to convey a subscriber account number for billing.

User-Agent

User-Agent: X-Lite release 1104o stamp 56125

The User-Agent header field contains information about the UAC originating the request. It describes the source device that generated the SIP INVITE.

Connection Information

c= IN IP4 192.0.2.101

This is the source IP address and connection type for the audio stream.

This was one of the simpler SIP INVITE requests, and it could be more complex depending on the call flow.

The SIP INVITE is an important request method, and the information it contains could be used not just for session initiation, but also for such crucial applications as fraud detection. A SIP Analytics-driven Fraud Detection allows for real-time call blocking or call diversion.

One thought on “SIP – Headers

Comments are closed.