了解SIP INVITE中的常见头字段
SIP INVITE
是每个SIP电话呼叫的基础。它简单而灵活,但用户往往对其理解不深。本文的目的是为SIP INVITE中的关键头域提供一个快速而简单的参考。
SIP INVITE
请求是由主叫方发送的消息,邀请接收方进行会话。在这个SIP INVITE
请求中包含的SIP头信息提供了有关该消息的信息。请看下面的SIP消息,其中突出显示了常见的SIP头信息
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
以下各节解释这些头域。
Request URIRequest URI
INVITE sip:bob@biloxi.example.com SIP/2.0
Request URI
是呼叫路线中下一跳的联系信息。在上面的例子中,下一跳的用户名是bob,他的主机是
biloxi.example.com
。
Via
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
Via头字段表示请求到目前为止所走的路径,并有助于沿着相同的路径把响应路由回来。如果SIP INVITE
通过了多个SIP代理,将有多个VIA头。在给定的例子中,响应将被送回客户端.atlanta.example.com
,端口是5060。
From
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
From头字段表示SIP INVITE
请求的发起者的联系信息,本例中是Alice。
To
To: Bob <sip:bob@biloxi.example.com>
To头字段包含被叫方或请求接收方的信息,在本例中是Bob。
Call-ID
Call-ID: 3848276298220188511@atlanta.example.com
Call-ID头域是识别SIP呼叫的唯一ID。所有包含这个呼叫ID的信息将被分配给同一个SIP呼叫。
Contact
Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Contact头域提供了一个SIP或SIPS URI,应该用来联系INVITE的发件人,Alice。
Diversion
Diversion: Carol <sip:carol@atlanta.example.com>;privacy=off;reason=no-answer;counter=1;screen=no
分流头包含呼叫的重定向信息。它包括转发邀请函的设备的联系信息,也包括分流的原因。
Remote Party ID
Remote-Party-ID: Alice <sip:alice@atlanta.example.com>
这个SIP头被认为是过时的,但仍被用来传达主叫电话号码和源IP地址。
P-Asserted-Identity
P-Asserted-Identity: Alice <sip:alice@atlanta.example.com>
P-Asserted-Identity头域是一个重要的SIP头,在受信任的SIP实体(通常是中介机构)之间使用,以携带发送SIP消息的用户的身份,因为它是通过认证验证的。这个头通常用于呼叫中心,他们需要展示其客户的呼叫号码,而不是其实际的电话号码。
P-Charge-Info
P-Charge-Info: <sip:eve@atlanta.example.com>
P-Charge-Info标头用于传达关于被收费方的计费信息。
P-Source-Device
>P-Source-Device: 216.3.128.12
Content-Type: application/sdp
Content-Length: 151
这是一个特殊的标头,包括通过背对背用户代理的源设备的IP地址
X-Header
X-BroadWorks-DNC: network-address=sip:+9876543210@127.0.0.101;user=phone
一个以X开头的SIP头可以用来传达任何信息。例如,在SIP INVITE中的X-Header通常用于传达用户的帐号,以便于计费。
User-Agent
User-Agent: X-Lite release 1104o stamp 56125
User-Agent头域包含关于发起请求的UAC的信息。它描述了产生SIP INVITE的源设备。
Connection Information
c= IN IP4 192.0.2.101
这是音频流的源IP地址和连接类型
这是较简单的SIP INVITE
请求之一,根据呼叫流的情况,它可能更复杂。
SIP INVITE
是一个重要的请求方法,它包含的信息不仅可以用于会话启动,还可以用于欺诈检测等关键应用。一个由SIP分析驱动的欺诈检测可以实现实时呼叫阻断或呼叫转移。
原文原文
评论区