带鉴权信息的SIP呼叫
INVITE sip:1000@192.168.50.34SIP/2.0
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-244fd550d2729557-1---d8754z-;rport
Max-Forwards: 70
Contact:<sip:1002@192.168.50.32:2445>
To: <sip:1000@192.168.50.34>
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 1 INVITE
Allow: INVITE, ACK, CANCEL,OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: application/sdp
Supported: replaces
User-Agent: Bria Professionalrelease 2.4 stamp 49381
Content-Length: 596
v=0
o=- 1 2 IN IP4 192.168.50.32
s=CounterPath Bria Professional
c=IN IP4 192.168.50.32
t=0 0
m=audio 3564 RTP/AVP 107 119 100106 0 98 8 18 101
a=alt:1 3 : 3RJcASQD J+MIobg5192.168.50.32 3564
a=alt:2 2 : 7O4fx9KR Fs3hXCYf192.168.129.1 3564
a=alt:3 1 : 12zuNFYg Ya4ebcvU192.168.110.1 3564
a=fmtp:18 annexb=yes
a=fmtp:101 0-15
a=rtpmap:107 BV32/16000
a=rtpmap:119 BV32-FEC/16000
a=rtpmap:100 SPEEX/16000
a=rtpmap:106 SPEEX-FEC/16000
a=rtpmap:98 iLBC/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:56A9F9BE76774F7C962FD8ACDB1B86E1
主叫1000发起一路呼叫,终端向服务器发送INVITE请求消息
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-244fd550d2729557-1---d8754z-;rport
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
To:<sip:1000@192.168.50.34>;tag=043de7350
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 1 INVITE
Contact:<sip:1000@192.168.50.34:5060>
Proxy-Authenticate: Digest realm="soft3000",nonce="1dbb0165"
Content-Length: 0
代理服务器向终端1000回407响应,表示代理服务器要求终端代理带上鉴权信息。代理服务器什么情况下回407,首先,用户在注册时,必须带鉴权的认证消息;其次,服务器端必须开启呼叫鉴权
ACK sip:1000@192.168.50.34 SIP/2.0
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-244fd550d2729557-1---d8754z-;rport
To:<sip:1000@192.168.50.34>;tag=043de7350
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 1 ACK
Content-Length: 0
终端用户对407消息确认,告诉服务器端,客户端已经收到
INVITE sip:1000@192.168.50.34SIP/2.0
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport
Max-Forwards: 70
Contact: <sip:1002@192.168.50.32:2445>
To: <sip:1000@192.168.50.34>
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 2 INVITE
Allow: INVITE, ACK, CANCEL,OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: application/sdp
Proxy-Authorization: Digestusername="1002",realm="soft3000 ",nonce="1dbb0165",uri="sip:1000@192.168.50.34",response="eb3a7e40a4797c2e7b549a6c30d2d091",algorithm=MD5
Supported: replaces
User-Agent: Bria Professionalrelease 2.4 stamp 49381
Content-Length: 596
v=0
o=- 1 2 IN IP4 192.168.50.32
s=CounterPath Bria Professional
c=IN IP4 192.168.50.32
t=0 0
m=audio 3564 RTP/AVP 107 119 100106 0 98 8 18 101
a=alt:1 3 : 3RJcASQD J+MIobg5192.168.50.32 3564
a=alt:2 2 : 7O4fx9KR Fs3hXCYf 192.168.129.13564
a=alt:3 1 : 12zuNFYg Ya4ebcvU192.168.110.1 3564
a=fmtp:18 annexb=yes
a=fmtp:101 0-15
a=rtpmap:107 BV32/16000
a=rtpmap:119 BV32-FEC/16000
a=rtpmap:100 SPEEX/16000
a=rtpmap:106 SPEEX-FEC/16000
a=rtpmap:98 iLBC/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:56A9F9BE76774F7C962FD8ACDB1B86E1
终端1000向代理服务器重新发起带鉴权的INVITE消息,鉴权信息详见,Proxy-Authorization头域,后续的呼叫流程和基本呼叫流程一样。
SIP/2.0 100 Trying
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
To:<sip:1000@192.168.50.34>;tag=118336ef9
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 2 INVITE
Contact:<sip:1000@192.168.50.34:5060>
Content-Length: 0
INVITE sip:1000@192.168.50.32SIP/2.0
Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6
From: "1002"<sip:1002@192.168.50.34>;tag=78e8c5c7
Contact:<sip:1002@192.168.50.34:5060>
To: <sip:1000@192.168.50.32>
Call-ID: 13867544773b5f42984898934a7e8ef6ca@2232a8c0
CSeq: 238 INVITE
Max-Forwards: 70
Supported: timer
Session-Expires: 90
Content-Type: application/sdp
Content-Length: 340
v=0
o=root 1062270166 1062270166 IN IP4192.168.50.34
s=session
c=IN IP4 192.168.50.34
t=0 0
m=audio 45294 RTP/AVP 0 8 18 3 114101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:3 GSM/8000
a=rtpmap:114 AMR/8000
a=fmtp:114octet-align=1;mode-set=7,0
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
SIP/2.0 100 Trying
Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6
From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7
To: <sip:1000@192.168.50.32>
Call-ID: 13867544773b5f42984898934a7e8ef6ca@2232a8c0
CSeq: 238 INVITE
Content-Length: 0
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6
From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7
To:<sip:1000@192.168.50.32>;tag=97865811
Call-ID: 13867544773b5f42984898934a7e8ef6ca@2232a8c0
CSeq: 238 INVITE
Contact:<sip:1000@192.168.50.32:18553>
Content-Length: 0
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
To:<sip:1000@192.168.50.34>;tag=118336ef9
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 2 INVITE
Contact:<sip:1000@192.168.50.34:5060>
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6
From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7
To:<sip:1000@192.168.50.32>;tag=97865811
Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0
CSeq: 238 INVITE
Contact:<sip:1000@192.168.50.32:18553>
Allow-Events: telephone-event
Require: timer
Supported: timer
Session-Expires: 90;refresher=uac
Content-Type: application/sdp
Content-Length: 326
v=0
o=192.168.50.32 1074907112788190655 IN IP4 192.168.50.32
s=-
c=IN IP4 192.168.50.32
t=0 0
m=audio 26752 RTP/AVP 0 8 18 3 114101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:3 GSM/8000
a=rtpmap:114 AMR/8000
a=fmtp:114 mode-set=0
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
ACK sip:1000@192.168.50.32:18553SIP/2.0
Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6
From: "1002"<sip:1002@192.168.50.34>;tag=78e8c5c7
To:<sip:1000@192.168.50.32>;tag=97865811
Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0
CSeq: 238 ACK
Max-Forwards: 70
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
To:<sip:1000@192.168.50.34>;tag=118336ef9
Call-ID: OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 2 INVITE
Contact:<sip:1000@192.168.50.34:5060>
Content-Type: application/sdp
Content-Length: 199
v=0
o=root 113824166 113824166 IN IP4192.168.50.34
s=session
c=IN IP4 192.168.50.34
t=0 0
m=audio 41182 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
ACK sip:1000@192.168.50.34:5060SIP/2.0
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-bd168751863dd812-1---d8754z-;rport
Max-Forwards: 70
Contact: <sip:1002@192.168.50.32:2445>
To:<sip:1000@192.168.50.34>;tag=118336ef9
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 2 ACK
Proxy-Authorization: Digestusername="1002",realm="ASG Switch",nonce="1dbb0165",uri="sip:1000@192.168.50.34",response="eb3a7e40a4797c2e7b549a6c30d2d091",algorithm=MD5
User-Agent: Bria Professionalrelease 2.4 stamp 49381
Content-Length: 0
BYE sip:1000@192.168.50.34:5060SIP/2.0
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-61057e021325140c-1---d8754z-;rport
Max-Forwards: 70
Contact:<sip:1002@192.168.50.32:2445>
To:<sip:1000@192.168.50.34>;tag=118336ef9
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 3 BYE
Proxy-Authorization: Digestusername="1002",realm="ASGSwitch",nonce="1dbb0165",uri="sip:1000@192.168.50.34:5060",response="b24a55d3ca4420c406eef5a2797e6411",algorithm=MD5
User-Agent: Bria Professionalrelease 2.4 stamp 49381
Reason: SIP;description="UserHung Up"
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-61057e021325140c-1---d8754z-;rport
From:"1002"<sip:1002@192.168.50.34>;tag=f2698931
To:<sip:1000@192.168.50.34>;tag=118336ef9
Call-ID: OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.
CSeq: 3 BYE
Contact:<sip:1000@192.168.50.34:5060>
Content-Length: 0
BYE sip:1000@192.168.50.32:18553SIP/2.0
Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6
From: "1002"<sip:1002@192.168.50.34>;tag=78e8c5c7
To:<sip:1000@192.168.50.32>;tag=97865811
Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0
CSeq: 239 BYE
Max-Forwards: 70
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6
From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7
To:<sip:1000@192.168.50.32>;tag=97865811
Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0
CSeq: 239 BYE
Content-Length: 0
消息流程图
1) 主叫1000发起一路呼叫,终端向服务器发送INVITE请求消息。
2) 代理服务器向终端1000回407响应,表示代理服务器要求终端带上鉴权信息。
3) 终端1000向服务器发送INVITE消息,并带上鉴权信息。
4) 代理服务器向终端用户1000回100Trying响应,表示呼叫已经在处理中。
5) 代理服务器向被叫用户1002终端转发INVITE请求消息。
6) 终端用户1002向代理服务器回100Trying响应,告知代理服务器呼叫正在处理。
7) 被叫终端1002振铃,终端向代理服务器回180ring响应。
8) 代理服务器向终端用户1000转发180ring响应。
9) 被叫用户1002摘机,终端1002向代理服务器回200OK响应消息,表示连接成功。
10)代理服务器向终端1000转发200OK响应消息。
11) 终端1000收到200OK消息后,向代理服务器发送ACK消息进行确认。
12)终端服务将ACK确认消息转发给代理终端1002。
13)终端1000和1002通话建立成功。
14)通话结束,终端1002挂机,并向代理服务器发送BYE消息。
15)代理服务器转发BYE消息至终端1000。
16)终端1000收到BYE消息后,向代理服务器发送200OK消息。
17)代理服务器转发200OK响应消息至终端1002。
18)通话结束。
原文地址:http://blog.csdn.net/wh8_2011/article/details/30222061