SIP深入学习---- 建立通讯
来源:互联网 发布:男性家暴 知乎 编辑:程序博客网 时间:2024/04/30 12:58
(1)登记, 发起和定位用户.
(2)进行媒体协商 --通常采用SDP方式来携带媒体参数.
(3)由被叫方来决定是否接纳该呼叫.
(4)呼叫媒体流建立并交互.
(5)呼叫更改或处理.
(6)呼叫终止.
2.Registration - 登记
每当用户打开SIP终端时(如PC,IP PHONE), 将向*****/登记服务器发起登记过程
登记过程需要周期刷新
登记服务器将把SIP终端所登记的信息传送到位置服务器存放.
REGISTER sip:bell-tel.com SIP/2.0
Via: SIP/2.0/UDP saturn.bell-tel.com
From: sip:Watson@bell-tel.com
To: sip:Watson@bell-tel.com
Call-ID: 70710@saturn.bell-tel.com
CSeq: 1 REGISTER
Contact: <sip:Watson@saturn.bell- tel.com:3890;transport=udp>
Expires: 7200
3.简单的 SIP 呼叫建立和拆除流程图
1. INVITE sip:02220002@100.1.0.25;user=phone SIP/2.0
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>
Call-ID: 3733973800@100.1.0.252
CSeq: 1 INVITE
Contact: <sip:02120001@100.1.0.252;user=phone;transport=udp>
User-Agent: Cisco ATA v2.11 ata186 (0803a)
Expires: 300
Content-Length: 245
Content-Type: application/sdp
v=0
o=02120001 573 573 IN IP4 100.1.0.252
s=ATA186 Call
c=IN IP4 100.1.0.252
t=0 0
m=audio 10000 RTP/AVP 0 4 8 101
a=rtpmap:0 PCMU/8000/1
a=rtpmap:4 G723/8000/1
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
2. SIP/2.0 100 Trying
Via: SIP/2.0/UDP 100.1.0.252
Call-ID: 3733973800@100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>
CSeq: 1 INVITE
Content-Length: 0
3. INVITE sip:02220002@100.2.0.2:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>
Call-ID: 3733973800@100.1.0.252
CSeq: 1 INVITE
Contact: <sip:02120001@100.1.0.252;user=phone;transport=udp>
User-Agent: Cisco ATA v2.11 ata186 (0803a)
Expires: 300
Content-Length: 245
Content-Type: application/sdp
v=0
o=02120001 573 573 IN IP4 100.1.0.252
s=ATA186 Call
c=IN IP4 100.1.0.252
t=0 0
m=audio 10000 RTP/AVP 0 4 8 101
a=rtpmap:0 PCMU/8000/1
a=rtpmap:4 G723/8000/1
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
4. SIP/2.0 100 Trying
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>
Call-ID: 3733973800@100.1.0.252
CSeq: 1 INVITE
Content-Length: 0
5. INVITE sip:02220002@100.2.0.8:5060 SIP/2.0
Via: SIP/2.0/UDP 100.2.0.2:5060
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>
CSeq: 1 INVITE
Call-ID: 3733973800@100.1.0.252
Content-Length: 245
Contact: <sip:02120001@100.1.0.252;transport=udp;user=phone>
Content-Type: application/sdp
Expires: 300
User-Agent: Cisco ATA v2.11 ata186 (0803a)
Record-Route: <sip:02220002@100.2.0.2:5060;maddr=100.2.0.2>
v=0
o=02120001 573 573 IN IP4 100.1.0.252
s=ATA186 Call
c=IN IP4 100.1.0.252
t=0 0
m=audio 10000 RTP/AVP 0 4 8 101
a=rtpmap:0 PCMU/8000/1
a=rtpmap:4 G723/8000/1
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
6. SIP/2.0 100 Trying
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
Call-Id: 3733973800@100.1.0.252
Cseq: 1 INVITE
Via: SIP/2.0/UDP 100.2.0.2:5060
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
Contact: sip:20002@100.2.0.8
User-Agent: Pingtel/1.1.1 (VxWorks)
Content-Length: 0
7. SIP/2.0 180 Ringing
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
Call-Id: 3733973800@100.1.0.252
Cseq: 1 INVITE
Via: SIP/2.0/UDP 100.2.0.2:5060
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
Contact: sip:20002@100.2.0.8
User-Agent: Pingtel/1.1.1 (VxWorks)
Content-Length: 0
8. SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
Cseq: 1 INVITE
Call-Id: 3733973800@100.1.0.252
Content-Length: 0
Contact: sip:20002@100.2.0.8
User-Agent: Pingtel/1.1.1 (VxWorks)
9. SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
CSeq: 1 INVITE
Call-ID: 3733973800@100.1.0.252
Content-Length: 0
Contact: sip:20002@100.2.0.8
User-Agent: Pingtel/1.1.1 (VxWorks)
10. SIP/2.0 200 OK
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
Call-Id: 3733973800@100.1.0.252
Cseq: 1 INVITE
Content-Type: application/sdp
Content-Length: 193
Via: SIP/2.0/UDP 100.2.0.2:5060
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
Record-Route: <sip:02220002@100.2.0.2:5060;maddr=100.2.0.2>
Contact: sip:20002@100.2.0.8
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY
User-Agent: Pingtel/1.1.1 (VxWorks)
v=0
o=Pingtel 5 5 IN IP4 100.2.0.8
s=phone-call
c=IN IP4 100.2.0.8
t=0 0
m=audio 8766 RTP/AVP 0 8 101
a=rtpmap:0 pcmu/8000/1
a=rtpmap:8 pcma/8000/1
a=rtpmap:101 telephone-event/8000/1
11. SIP/2.0 200 OK
Via: SIP/2.0/UDP 100.1.0.25:5060;branch=beb4b540-65a2ea80-f79d94fd-6870ff45-1
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
Cseq: 1 INVITE
Call-Id: 3733973800@100.1.0.252
Content-Length: 193
Allow: INVITE
Allow: ACK
Allow: CANCEL
Allow: BYE
Allow: REFER
Allow: OPTIONS
Allow: NOTIFY
Contact: sip:20002@100.2.0.8
Content-Type: application/sdp
Record-Route: <sip:02220002@100.2.0.2:5060;maddr=100.2.0.2>
User-Agent: Pingtel/1.1.1 (VxWorks)
v=0
o=Pingtel 5 5 IN IP4 100.2.0.8
s=phone-call
c=IN IP4 100.2.0.8
t=0 0
m=audio 8766 RTP/AVP 0 8 101
a=rtpmap:0 pcmu/8000/1
a=rtpmap:8 pcma/8000/1
a=rtpmap:101 telephone-event/8000/1
12. SIP/2.0 200 OK
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
CSeq: 1 INVITE
Call-ID: 3733973800@100.1.0.252
Content-Length: 193
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY
Contact: sip:20002@100.2.0.8
Content-Type: application/sdp
Record-Route: <sip:02220002@100.2.0.2:5060;maddr=100.2.0.2>
User-Agent: Pingtel/1.1.1 (VxWorks)
v=0
o=Pingtel 5 5 IN IP4 100.2.0.8
s=phone-call
c=IN IP4 100.2.0.8
t=0 0
m=audio 8766 RTP/AVP 0 8 101
a=rtpmap:0 pcmu/8000/1
a=rtpmap:8 pcma/8000/1
a=rtpmap:101 telephone-event/8000/1
13. ACK sip:02220002@100.2.0.2 SIP/2.0
Route: <sip:20002@100.2.0.8:5060>
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
Call-ID: 3733973800@100.1.0.252
CSeq: 1 ACK
User-Agent: Cisco ATA v2.11 ata186 (0803a)
Content-Length: 0
14. ACK sip:20002@100.2.0.8:5060 SIP/2.0
Via: SIP/2.0/UDP 100.1.0.252
From: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
To: <sip:02220002@100.1.0.25;user=phone>;tag=14502
CSeq: 1 ACK
Call-ID: 3733973800@100.1.0.252
Content-Length: 0
User-Agent: Cisco ATA v2.11 ata186 (0803a)
15. OPTIONS sip:02220002@100.2.0.2:5060;maddr=100.2.0.2 SIP/2.0
Route: <sip:02120001@100.1.0.252;transport=udp;user=phone>
From: <sip:02220002@100.1.0.25;user=phone>;tag=14502
To: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
Call-Id: 3733973800@100.1.0.252
Cseq: 1 OPTIONS
Accept-Language: en
Supported: sip-cc, sip-cc-01, timer
User-Agent: Pingtel/1.1.1 (VxWorks)
Via: SIP/2.0/UDP 100.2.0.8
Content-Length: 0
16. SIP/2.0 200 Ok
Via: SIP/2.0/UDP 100.2.0.8
From: <sip:02220002@100.1.0.25;user=phone>;tag=14502
To: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
Call-ID: 3733973800@100.1.0.252
Cseq: 1 OPTIONS
Content-Length: 0
17. BYE sip:02220002@100.2.0.2:5060;maddr=100.2.0.2 SIP/2.0
Route: <sip:02120001@100.1.0.252;transport=udp;user=phone>
From: <sip:02220002@100.1.0.25;user=phone>;tag=14502
To: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
Call-Id: 3733973800@100.1.0.252
Cseq: 2 BYE
Accept-Language: en
Supported: sip-cc, sip-cc-01, timer
User-Agent: Pingtel/1.1.1 (VxWorks)
Via: SIP/2.0/UDP 100.2.0.8
Content-Length: 0
18. SIP/2.0 200 Ok
Via: SIP/2.0/UDP 100.2.0.8
From: <sip:02220002@100.1.0.25;user=phone>;tag=14502
To: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
Call-ID: 3733973800@100.1.0.252
Cseq: 2 BYE
Content-Length: 0
19. BYE sip:02120001@100.1.0.252;transport=udp;user=phone SIP/2.0
Via: SIP/2.0/UDP 100.2.0.2:5060
Via: SIP/2.0/UDP 100.2.0.8
From: <sip:02220002@100.1.0.25;user=phone>;tag=14502
To: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
Cseq: 2 BYE
Call-Id: 3733973800@100.1.0.252
Content-Length: 0
Supported: sip-cc
Supported: sip-cc-01
Supported: timer
Accept-Language: en
User-Agent: Pingtel/1.1.1 (VxWorks)
20. SIP/2.0 200 OK
Via: SIP/2.0/UDP 100.2.0.2:5060
Via: SIP/2.0/UDP 100.2.0.8
From: <sip:02220002@100.1.0.25;user=phone>;tag=14502
To: <sip:02120001@100.1.0.25;user=phone>;tag=1981486230
Call-Id: 3733973800@100.1.0.252
Cseq: 2 BYE
Server: Cisco ATA v2.11 ata186 (0803a)
Content-Length: 0
- SIP深入学习---- 建立通讯
- SIP 协议深入学习
- sip学习二 (一个简单的SIP呼叫建立流程)
- SIP入门(二):建立SIP服务器
- SIP入门(二):建立SIP服务器
- SIP学习
- sip学习
- SIP学习
- 建立SIP软电话环境
- 基于SIP协议的视频通讯
- Android SIP开源通讯项目 -- SipDroid
- 基于Sip音视频通讯的研究
- 基于SIP协议的视频通讯
- 基于SIP协议的视频通讯
- SIP入门(一):建立SIP软电话环境
- SIP入门(一):建立SIP软电话环境
- SIP入门(一):建立SIP软电话环境
- YOUYOU深入学习Ganglia之一(建立Grid)
- QA是个什么样的工作?
- Iovec,Msghdr
- MD5
- 线程同步--关键代码段(一)
- 开源项目之Android繁体中文输入法
- SIP深入学习---- 建立通讯
- weblogic adminserver启动正常,console无法登录,关闭报Destination unreachable
- java中如何实现对已有图片的部分截图
- Java中HashMap遍历的两种方式
- HDU 1213
- 英语练习27 He usually plays tennis
- 消失的网页:信息衰减正在蚕食我们的历史
- linux协议栈skb操作函数
- 交叉编译静态库的链接顺序