话机上三方通话建立过程如下消息:
(1) 用户3315呼叫用户3305,终端发送INVITE消息给IPBX.
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1791327125;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 71 INVITE
Contact: "3315"
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length: 679
v=0
o=3315 8000 8000 IN IP4 192.168.50.119
s=SIP Call
c=IN IP4 192.168.50.119
t=0 0
m=audio 18610 RTP/AVP 0 8 4 18 9 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
m=video 12756 RTP/AVP 99 34 100
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=428014; packetization-mode=0; sprop-parameter-sets=Z0KADJWgUH5A,aM4Ecg==; max-br=128
a=rtpmap:34 H263/90000
a=fmtp:34 CIF=1; QCIF=1; MaxBR=1280
a=rtpmap:100 H263-1998/90000
a=fmtp:100 CIF=1; QCIF=1; MaxBR=1280
(2) IPBX向终端3315发送”100 Trying“消息。IPBX告诉终端说,我收到INVITE消息,你停止重发INVITE请求定时器。
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1791327125;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 71 INVITE
Contact:
Content-Length: 0
(3) IPBX对收到的INVITE请求消息进行分析,查找到用户3305存在,发送INVITE请求到终端3305.
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
Contact:
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56416 INVITE
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 723
v=0
o=root 819423054 819423054 IN IP4 192.168.50.244
s=session
c=IN IP4 192.168.50.244
t=0 0
m=audio 18012 RTP/AVP 0 8 4 18 3 114 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:3 GSM/8000
a=rtpmap:114 AMR/8000
a=fmtp:114 octet-align=1;mode-set=7,0
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
m=video 46042 RTP/AVP 99 34 100 98
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=428014; packetization-mode=0; sprop-parameter-sets=Z0KADJWgUH5A,aM4Ecg==; max-br=128
a=rtpmap:34 H263/90000
a=fmtp:34 CIF=1; QCIF=1; MaxBR=1280
a=rtpmap:100 H263-1998/90000
a=fmtp:100 CIF=1; QCIF=1; MaxBR=1280
a=rtpmap:98 MP4V-ES/90000
a=fmtp:98 profile-level-id=3
(4) 终端收到IPBX发送的请求消息,并且向IPBX发送”100 Trying“消息。告诉IPBX说,我收到INVITE消息,你停止重发INVITE请求定时器。
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56416 INVITE
Contact:
Content-Length: 0
(5) 终端响铃,并且告诉IPBX。
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56416 INVITE
Contact:
Content-Length: 0
(6) IPBX告诉终端,被叫用户3305正在响铃。
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1791327125;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 71 INVITE
Contact:
Content-Length: 0
(7) 被叫终端3305摘机,并且告诉IPBX,我已经摘机。
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56416 INVITE
Contact:
Content-Type: application/sdp
Content-Length: 286
v=0
o=SIP 789400 789400 IN IP4 192.168.50.93
s=SIP
c=IN IP4 192.168.50.93
t=0 0
m=audio 7804 RTP/AVP 0 8 4 18 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
(8) IPBX告诉终端3305,我已经收到你发送摘机响应消息。
ACK sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56416 ACK
Max-Forwards: 70
Content-Length: 0
(9) IPBX将收到终端3305发送的摘机响应消息告诉主叫3315,说3305已经摘机了,可以开始和被叫3305通话了。
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1791327125;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 71 INVITE
Contact:
Content-Type: application/sdp
Content-Length: 203
v=0
o=root 1486435046 1486435046 IN IP4 192.168.50.244
s=session
c=IN IP4 192.168.50.244
t=0 0
m=audio 47588 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
(10) 主叫3315向IPBX发送确认消息,说我已经收到你发送摘机响应消息,我们可以开始通话了。
ACK sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK996579497;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 71 ACK
Contact:
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0
(11) 主叫3315给3305说我在加入个人进入我们的谈话中,你先稍等下。主叫3315给IPBX发送HOLD请求,给用户3305播放呼叫保持音。
INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK301598147;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 72 INVITE
Contact:
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length: 351
v=0
o=3315 8000 8001 IN IP4 192.168.50.119
s=SIP Call
c=IN IP4 0.0.0.0
t=0 0
m=audio 18610 RTP/AVP 0 8 4 18 9 3 101
a=sendonly
a=rtpmap:0 PCMU/8000
a=ptime:20
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
(12) IPBX收到终端发送呼叫保持请求,告诉主叫3315,说好的,我开始给被叫3305播放呼叫保持音。
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK301598147;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 72 INVITE
Contact:
Content-Type: application/sdp
Content-Length: 203
v=0
o=root 1486435046 1486435047 IN IP4 192.168.50.244
s=session
c=IN IP4 192.168.50.244
t=0 0
m=audio 47588 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
(13) 主叫3315收到IPBX播发呼叫保持音的确认消息后,告诉IPBX,我已经收到你的响应消息了。
ACK sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1545519428;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 72 ACK
Contact:
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0
(14) 用户3315呼叫用户583892,终端发送INVITE消息给IPBX.
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK336778409;rport
Route:
From: "3315"
To:
Call-ID: [email protected]
CSeq: 81 INVITE
Contact: "3315"
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length: 679
v=0
o=3315 8001 8000 IN IP4 192.168.50.119
s=SIP Call
c=IN IP4 192.168.50.119
t=0 0
m=audio 16270 RTP/AVP 0 8 4 18 9 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
m=video 12966 RTP/AVP 99 34 100
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=428014; packetization-mode=0; sprop-parameter-sets=Z0KADJWgUH5A,aM4Ecg==; max-br=128
a=rtpmap:34 H263/90000
a=fmtp:34 CIF=1; QCIF=1; MaxBR=1280
a=rtpmap:100 H263-1998/90000
a=fmtp:100 CIF=1; QCIF=1; MaxBR=1280
(15) IPBX向终端3315发送”100 Trying“消息。IPBX告诉终端说,我收到INVITE消息,你停止重发INVITE请求定时器。
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK336778409;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 81 INVITE
Contact:
Content-Length: 0
(16) IPBX对收到的INVITE请求消息进行分析,查找到用户583892存在,发送INVITE请求到终端583892.
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=5aeec090
From: "3315"
Contact:
To:
Call-ID: 14326298437cc399cf22dfdc227efc661a@f432a8c0
CSeq: 56424 INVITE
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 725
v=0
o=root 1525596304 1525596304 IN IP4 192.168.50.244
s=session
c=IN IP4 192.168.50.244
t=0 0
m=audio 25822 RTP/AVP 0 8 4 18 3 114 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:3 GSM/8000
a=rtpmap:114 AMR/8000
a=fmtp:114 octet-align=1;mode-set=7,0
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
m=video 41706 RTP/AVP 99 34 100 98
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=428014; packetization-mode=0; sprop-parameter-sets=Z0KADJWgUH5A,aM4Ecg==; max-br=128
a=rtpmap:34 H263/90000
a=fmtp:34 CIF=1; QCIF=1; MaxBR=1280
a=rtpmap:100 H263-1998/90000
a=fmtp:100 CIF=1; QCIF=1; MaxBR=1280
a=rtpmap:98 MP4V-ES/90000
a=fmtp:98 profile-level-id=3
(17) 终端响铃,并且告诉IPBX。
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=5aeec090
Contact:
To:
From: "3315"
Call-ID: 14326298437cc399cf22dfdc227efc661a@f432a8c0
CSeq: 56424 INVITE
Content-Length: 0
(19) IPBX告诉终端,被叫用户583892正在响铃。
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK336778409;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 81 INVITE
Contact:
Content-Length: 0
(20) 被叫终端583892摘机,并且告诉IPBX,我已经摘机。
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=5aeec090
Contact:
To:
From: "3315"
Call-ID: 14326298437cc399cf22dfdc227efc661a@f432a8c0
CSeq: 56424 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: application/sdp
Content-Length: 415
v=0
o=- 8 2 IN IP4 192.168.50.91
s=CounterPath eyeBeam 1.5
c=IN IP4 192.168.50.91
t=0 0
m=audio 19630 RTP/AVP 0 8 18 101
a=fmtp:18 annexb=yes
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
m=video 31840 RTP/AVP 34 100
a=fmtp:34 QCIF=1 CIF=1 MaxBR=4520
a=fmtp:100 QCIF=1 CIF=1 I=1 J=1 T=1 MaxBR=4520
a=rtpmap:34 H263/90000
a=rtpmap:100 H263-1998/90000
a=sendrecv
(21) IPBX告诉终端3305,我已经收到你发送摘机响应消息。
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=5aeec090
From: "3315"
To:
Call-ID: 14326298437cc399cf22dfdc227efc661a@f432a8c0
CSeq: 56424 ACK
Max-Forwards: 70
Content-Length: 0
(22) IPBX将收到终端583892发送的摘机响应消息告诉主叫3315,说583892已经摘机了,可以开始和被叫583892通话了。
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK336778409;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 81 INVITE
Contact:
Content-Type: application/sdp
Content-Length: 290
v=0
o=root 1113823485 1113823485 IN IP4 192.168.50.244
s=session
c=IN IP4 192.168.50.244
t=0 0
m=audio 16342 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
m=video 14284 RTP/AVP 34
a=rtpmap:34 H263/90000
a=fmtp:34 CIF=1; QCIF=1; MaxBR=1280
(23) 主叫3315向IPBX发送确认消息,说我已经收到你发送摘机响应消息,我们可以开始通话了。
ACK sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK351433526;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 81 ACK
Contact:
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0
(24) 主叫3315说3305也在线,我把它也拉进来,IPBX不要在给3305播发HOLD音了。
INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1253387775;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 73 INVITE
Contact:
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length: 358
v=0
o=3315 8000 8002 IN IP4 192.168.50.119
s=SIP Call
c=IN IP4 192.168.50.119
t=0 0
m=audio 18610 RTP/AVP 0 8 4 18 9 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
(24) IPBX说我收到你发送停止播发HOLD音请求。
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1253387775;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 73 INVITE
Contact:
Content-Length: 0
(25) IPBX收到停止播发HOLD音请求,并且告诉被叫3305,你和3315开始通话了。
INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56417 INVITE
Contact:
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 201
v=0
o=root 819423054 819423055 IN IP4 192.168.50.244
s=session
c=IN IP4 192.168.50.244
t=0 0
m=audio 18012 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
(26) 被叫3305告诉IPBX,我收到你发送的请求了,我正在处理你发送的请求消息
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56417 INVITE
Contact:
Content-Length: 0
(27) 被叫3305告诉IPBX,我可以开始和3315进行通话了。
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56417 INVITE
Contact:
Content-Type: application/sdp
Content-Length: 189
v=0
o=SIP 789427 789427 IN IP4 192.168.50.93
s=SIP
c=IN IP4 192.168.50.93
t=0 0
m=audio 7804 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
(28) IPBX告诉3305,说我收到你发送的响应消息了。
ACK sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.244:5060;branch=30d7674e
From: "3315"
To:
Call-ID: 143262982667db0e5807e7772567dcbc61@f432a8c0
CSeq: 56417 ACK
Max-Forwards: 70
Content-Length: 0
(29) IPBX告诉3315,说3305同意开始和你通话了
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1253387775;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 73 INVITE
Contact:
Content-Type: application/sdp
Content-Length: 203
v=0
o=root 1486435046 1486435048 IN IP4 192.168.50.244
s=session
c=IN IP4 192.168.50.244
t=0 0
m=audio 47588 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
(30) 3315告诉IPBX,说好的,我收到你发送的响应消息了。
ACK sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1393963359;rport
From: "3315"
To:
Call-ID: [email protected]
CSeq: 73 ACK
Contact:
Max-Forwards: 70
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0
(31) 至此,三方会议建立成功,可以进行三方通话。