U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册
Authorization:
DIGEST
USERNAME=\
第3章 SIP协议
REALM=\
NONCE=\RESPONSE=\URI=\
Via: SIP/2.0/UDP 191.169.150.251
(4) 事件4:MGC收到SIP Phone的注册请求,首先检查NONCE的正确性,如
果和在401 Unauthorized响应中产生的NONCE相同,则通过。否则,直接返回失败。然后,MGC会根据NONCE、用户名、密码(服务器端可以根据本地用户信息获取用户的密码)、URI等采用和终端相同的算法生成
RESPONSE,并且对此RESPONSE和请求消息中的RESPONSE进行比较,如果二者一致则用户认证成功,否则认证失败。此时,MGC返回200 OK响应消息,表明终端认证成功。
SIP/2.0 200 OK
From:
Call-ID: 1-reg@191.169.150.251 Via: SIP/2.0/UDP 191.169.150.251
Contact:
3.3.2 成功的SIP用户呼叫流程
在同一SoftX3000控制下的两个SIP用户之间的成功呼叫,呼叫流程应用实例如 图3-6所示。
在下面的实例中,我们基于以下约定:
? ? ? ? ?
SoftX3000的IP地址为191.169.200.61; SIP PhoneA的IP地址为191.169.150.101; SIP PhoneB的IP地址为191.169.150.100;
SIP PhoneA为主叫,SIP PhoneB为被叫,主叫先挂机;
SIP PhoneA的电话号码为1000,SIP PhoneB的电话号码为1001。
3-25
U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册 SIP PhoneA123456INVITE100 Trying407ACKINVITE100 Trying78101213180 Ringing200 OKACK911INVITE100 Trying180 Ringing200 OKSoftX3000SIP PhoneB第3章 SIP协议 14Conversation1516BYE4871718ACKBYE200 OK 图3-6 SIP实体之间的SIP呼叫流程
(1) 事件1:SIP PhoneA发INVITE请求到MGC,请求MGC邀请SIP PhoneB
加入会话。SIP PhoneA还通过INVITE消息的会话描述,将自身的IP地址:191.169.150.101,端口号:8766,静荷类型,静荷类型对应的编码等信息传送给MGC。
INVITE sip:1001@191.169.200.61 SIP/2.0 From: sip:1000@191.169.200.61;tag=1c12674 To: sip:1001@191.169.200.61
Call-Id: call-973598097-16@191.169.150.101 Cseq: 1 INVITE
Contact: sip:1000@191.169.150.101 Content-Type: application/sdp Content-Length: 203 Accept-Language: en
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE Supported: sip-cc, sip-cc-01, timer User-Agent: Pingtel/1.2.7 (VxWorks) Via: SIP/2.0/UDP 191.169.150.101 v=0
o=Pingtel 5 5 IN IP4 191.169.150.101 s=phone-call
3-26
U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册
c=IN IP4 191.169.150.101 t=0 0
m=audio 8766 RTP/AVP 0 96 8 a=rtpmap:0 pcmu/8000/1
a=rtpmap:96 telephone-event/8000/1 a=rtpmap:8 pcma/8000/1
第3章 SIP协议
每行的详细解释请参考3.2.2 1.请求消息一节中的“请求消息示例”。
(2) 事件2:MGC给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
(3) 事件3:MGC给SIP PhoneA发407 Proxy Authentication Required响应,表
明MGC端要求对用户进行认证,并且通过Proxy-Authenticate字段携带MGC支持的认证方式Digest和MGC域名“huawei.com”,产生本次认证的nonce,并且通过该响应消息将这些参数返回给终端从而发起对用户的认证过程。
SIP/2.0 407 Proxy Authentication Required From:
Call-ID: call-973598097-16@191.169.150.101 Via: SIP/2.0/UDP 191.169.150.101
Proxy-Authenticate: Digest realm=\Content-Length: 0
(4) 事件4:SIP PhoneA发ACK消息给MGC,证实已经收到MGC对于INVITE
请求的最终响应。
ACK sip:1001@191.169.200.61 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
3-27
U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册
第3章 SIP协议
(5) 事件5:SIP PhoneA重新发INVITE请求到SoftX3000。携带
Proxy-Authorization字段,包括认证方式DIGEST、SIP Phone的用户标识(此时为电话号码)、MGC的域名、NONCE、URI和RESPONSE(SIP PhoneA收到407响应后根据服务器端返回的信息和用户配置等信息采用特定的算法生成加密的RESPONSE)字段。
INVITE sip:1001@191.169.200.61 SIP/2.0 From: sip:1000@191.169.200.61;tag=1c12674 To: sip:1001@191.169.200.61
Call-Id: call-973598097-16@191.169.150.101 Cseq: 2 INVITE
Contact: sip:1000@191.169.150.101 Content-Type: application/sdp Content-Length: 203 Accept-Language: en
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE Supported: sip-cc, sip-cc-01, timer User-Agent: Pingtel/1.2.7 (VxWorks) Proxy-Authorization: NONCE=\
URI=\Via: SIP/2.0/UDP 191.169.150.101 v=0
o=Pingtel 5 5 IN IP4 191.169.150.101 s=phone-call
c=IN IP4 191.169.150.101 t=0 0
m=audio 8766 RTP/AVP 0 96 8 a=rtpmap:0 pcmu/8000/1
a=rtpmap:96 telephone-event/8000/1 a=rtpmap:8 pcma/8000/1
DIGEST
USERNAME=\
REALM=\
RESPONSE=\
(6) 事件6:MGC给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
3-28
U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册
第3章 SIP协议
(7) 事件7:MGC向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给MGC回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响应通知MGC。
SIP/2.0 180 Ringing
From:
Call-Id: 1746ac508a14feaaccb35e4a35ea1768@sx3000 Cseq: 1 INVITE
3-29