(6) 事件6:SoftX3000给SIP PhoneA回100 Trying表示已经接收到请求消
息,正在对其进行处理。
SIP/2.0 100 Trying
From:
Call-ID: call-973598097-16@191.169.150.101 Via: SIP/2.0/UDP 191.169.150.101 Content-Length: 0
(7) 事件7:SoftX3000向SIP PhoneB发INVITE消息,请求SIP PhoneB
加入会话。并且通过该INVITE请求消息携带SIP PhoneA的会话描述给SIP PhoneB。
INVITE sip:1001@191.169.150.100 SIP/2.0
From:
Call-ID: 1746ac508a14feaaccb35e4a35ea1768@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK8fd4310b0 Contact:
INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFER Content-Length: 183
Content-Type: application/sdp v=0
o=HuaweiSoftX3000 1073741833 1073741833 IN IP4 191.169.200.61 s=Sip Call
c=IN IP4 191.169.150.101 t=0 0
m=audio 8766 RTP/AVP 0 8 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000
(8) 事件8:SIP PhoneB给SoftX3000回100 Trying表示已经接收到请求消
息,正在对其进行处理。
SIP/2.0 100 Trying
From:
Call-Id: 1746ac508a14feaaccb35e4a35ea1768@sx3000 Cseq: 1 INVITE
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK8fd4310b0 Contact: sip:1001@191.169.150.100 User-Agent: Pingtel/1.0.0 (VxWorks) CONTENT-LENGTH: 0
(9) 事件9:SIP PhoneB振铃,并回180 Ringing响应通知SoftX3000。
SIP/2.0 180 Ringing
From:
Call-Id: 1746ac508a14feaaccb35e4a35ea1768@sx3000 Cseq: 1 INVITE
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK8fd4310b0 Contact: sip:1001@191.169.150.100 User-Agent: Pingtel/1.0.0 (VxWorks) CONTENT-LENGTH: 0
(10) 事件10:SoftX3000回180 Ringing响应给SIP PhoneA,SIP PhoneA
听回铃音。
SIP/2.0 180 Ringing
From:
Call-ID: call-973598097-16@191.169.150.101 Via: SIP/2.0/UDP 191.169.150.101
Contact:
(11) 事件11:SIP PhoneB给SoftX3000回200 OK响应表示其发过来的
INVITE请求已经被成功接受、处理。并且通过该消息将自身的IP地址:191.169.150.101,端口号:8766,静荷类型,静荷类型对应的编码等信息传送给SoftX3000。
SIP/2.0 200 OK
From:
Call-Id: 1746ac508a14feaaccb35e4a35ea1768@sx3000 Cseq: 1 INVITE
Content-Type: application/sdp Content-Length: 164
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK8fd4310b0 Session-Expires: 36000
Contact: sip:1001@191.169.150.100
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY User-Agent: Pingtel/1.0.0 (VxWorks) v=0
o=Pingtel 5 5 IN IP4 191.169.150.100 s=phone-call
c=IN IP4 191.169.150.100 t=0 0
m=audio 8766 RTP/AVP 0 8 a=rtpmap:0 pcmu/8000/1 a=rtpmap:8 pcma/8000/1
(12) 事件12:SoftX3000给SIP PhoneA回200 OK响应表示其发过来的
INVITE请求已经被成功接受、处理,并且将SIP PhoneB的会话描述传送给SIP PhoneA。
SIP/2.0 200 OK
From:
Call-ID: call-973598097-16@191.169.150.101 Via: SIP/2.0/UDP 191.169.150.101
Contact:
Content-Type: application/sdp v=0
o=HuaweiSoftX3000 1073741834 1073741834 IN IP4 191.169.200.61 s=Sip Call
c=IN IP4 191.169.150.100 t=0 0
m=audio 8766 RTP/AVP 0 8 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000
(13) 事件13:SIP PhoneA发ACK消息给SoftX3000,证实已经收到
SoftX3000对于INVITE请求的最终响应。
ACK sip:1001@191.169.200.61:5061;transport=UDP SIP/2.0 Contact: sip:1000@191.169.150.101
From:
Accept-Language: en
User-Agent: Pingtel/1.2.7 (VxWorks) Via: SIP/2.0/UDP 191.169.150.101 Content-Length: 0
(14) 事件14:SoftX3000发ACK消息给SIP PhoneB,证实已经收到SIP
PhoneB对于INVITE请求的最终响应。
此时,主被叫双方都知道了对方的会话描述,启动通话。
ACK sip:1001@191.169.150.100 SIP/2.0
From:
Call-ID: 1746ac508a14feaaccb35e4a35ea1768@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK44cfc1f25 Max-Forwards: 70 Content-Length: 0
(15) 事件15:SIP PhoneA挂机,发BYE消息给SoftX3000,请求结束本次
会话。
BYE sip:1001@191.169.200.61:5061;transport=UDP SIP/2.0 From: sip:1000@191.169.200.61;tag=1c12674 To: sip:1001@191.169.200.61;tag=e110e016 Call-Id: call-973598097-16@191.169.150.101 Cseq: 4 BYE
Accept-Language: en
Supported: sip-cc, sip-cc-01, timer User-Agent: Pingtel/1.2.7 (VxWorks) Via: SIP/2.0/UDP 191.169.150.101 Content-Length: 0
(16) 事件16:SoftX3000给SIP PhoneA回487响应,表明请求终止。
SIP/2.0 487 Request Terminated
From:
Call-ID: call-973598097-16@191.169.150.101 Via: SIP/2.0/UDP 191.169.150.101 Content-Length: 0
(17) 事件17:SoftX3000收到SIP PhoneA发过来的BYE消息,知道A已挂
机,给SIP PhoneB发BYE请求,请求结束本次会话。
BYE sip:1001@191.169.150.100 SIP/2.0
From:
Call-ID: 1746ac508a14feaaccb35e4a35ea1768@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKf5dbf00dd Max-Forwards: 70 Content-Length: 0
(18) 事件18:SIP PhoneB挂机,给SoftX3000反馈200 OK响应,表明已
经成功结束会话。
SIP/2.0 200 OK
From:
Call-Id: 1746ac508a14feaaccb35e4a35ea1768@sx3000 Cseq: 2 BYE
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKf5dbf00dd Contact: sip:1001@191.169.150.100
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY User-Agent: Pingtel/1.0.0 (VxWorks) CONTENT-LENGTH: 0
3.3.3 成功的SIP中继呼叫流程
不同SoftX3000之间采用SIP协议进行互通,SIP中继的成功呼叫流程应用实例如图3-7所示。
在下面的实例中,我们基于以下约定:
? ? ? ?
SoftX3000A的IP地址为191.169.1.112; SoftX3000B的IP地址为191.169.1.110;
SoftX3000A控制的SIP PhoneA的电话号码为66600003; SoftX3000B控制的SIP PhoneB的电话号码为5550045;
?
SIP PhoneA为主叫、SIP PhoneB为被叫,被叫先挂机。
图3-7 SIP中继呼叫流程示例
(1) 事件1:SoftX3000A控制的SIP PhoneA摘机,拨打 SoftX3000B控制
的SIP PhoneB。SoftX3000A向SoftX3000B发INVITE消息,邀请SoftX3000B加入会话。SoftX3000A还通过INVITE消息的会话描述,将自身的IP地址:191.169.200.61,SIP PhoneA的IP地址:
191.169.200.101、端口号:30014、支持的静荷类型、静荷类型对应的编码等信息传送给SoftX3000B。
INVITE sip:5550045@191.169.100.50 SIP/2.0
From:
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKff661c627 Contact:
INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFER Content-Length: 184
Content-Type: application/sdp v=0
o=HuaweiSoftX3000 1073741831 1073741831 IN IP4 191.169.200.61 s=Sip Call
c=IN IP4 191.169.200.101 t=0 0
m=audio 30014 RTP/AVP 8 0 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000
(2) 事件2:SoftX3000B给SoftX3000A回100 Trying表示已经接收到请求
消息,正在对其进行处理。
SIP/2.0 100 Trying
From:
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKff661c627 Content-Length: 0
(3) 事件3:SoftX3000B给SoftX3000A回180 Ringing响应通知SoftX3000A
SIP PhoneB已振铃。
SIP/2.0 180 Ringing
From:
To:
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKff661c627 Contact:
(4) 事件4:SoftX3000B给SoftX3000A回200 OK响应表示其发过来的
INVITE请求已经被成功接受、处理。并且通过该消息将自身的IP地址:191.169.100.50,SIP PhoneB的IP地址:191.169.100.71、端口号:40000、支持的静荷类型、静荷类型对应的编码等信息传送给SoftX3000A。
SIP/2.0 200 OK
From:
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKff661c627 Contact:
Content-Type: application/sdp v=0
o=HuaweiSoftX3000 1073741826 1073741826 IN IP4 191.169.100.50 s=Sip Call
c=IN IP4 191.169.100.71 t=0 0
m=audio 40000 RTP/AVP 0 a=rtpmap:0 PCMU/8000
(5) 事件5:SoftX3000A发ACK消息给SoftX3000B,证实已经收到
SoftX3000B对于INVITE请求的最终响应。
ACK sip:5550045@191.169.100.50:5061;transport=udp SIP/2.0 From:
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK7d4f55f15 Max-Forwards: 70 Content-Length: 0
(6) 事件6:SIP PhoneB挂机,SoftX3000B发BYE请求消息给SoftX3000A,
请求结束本次会话。
BYE sip:66600003@191.169.200.61:5061 SIP/2.0 From:
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.100.50:5061;branch=z9hG4bK2a292692a Max-Forwards: 70 Content-Length: 0
(7) 事件7:SoftX3000A给SoftX3000B回487响应,表明请求终止。
SIP/2.0 487 Request Terminated
From:
To:
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.100.50:5061;branch=z9hG4bK2a292692a Content-Length: 0