资源描述
中国电信SIP 初始会话协议规范(第三分册)
信令流程
(暂行版)
2004年4月发布 2004年4月试行
中国电信集团公司发布
前 言
SIP协议是下一代网络中的接口协议之一,属于应用控制协议。本标准是以IETF和ITU-T的相关标准为基础,结合中国电信网络的实际情况,并综合中国电信集团公司对下一代网络的实验成果制定的。
它是中国电信在下一代网络建设中引进、测试和研发软交换设备、SIP终端设备以及其他基于SIP协议相关设备的规范和依据。鉴于SIP协议应用范围广泛,项目组在编写时将整个协议规范分为3个分册:
第一分册:《总体要求》
第二分册:《协议细则》
第三分册:《信令流程》
本分册为《信令流程》分册。
本标准由中国电信集团公司提出。
本标准由中国电信集团公司归口。
本标准于2004年4月首次发布。
本标准由中国电信集团公司负责解释
目 录
1. 编制说明 1
1.1 范围 1
1.2 参考文献 1
2. 环境说明 1
3. 用户注册 2
3.1 成功的注册 2
3.1.1 基本注册过程 2
3.1.2 注册信息的更新 4
3.1.3 注销 4
3.2 不成功的注册 4
4. 鉴权认证 5
4.1 注册鉴权 5
4.2 呼叫鉴权(假定对Invite消息的鉴权) 5
5. 基本呼叫 5
5.1 SIP用户-SIP用户 5
5.1.1 成功呼叫 5
5.1.2 不成功的呼叫建立 11
5.1.3 定时器检验 13
5.2 SIP用户-PSTN用户(采用Profile B) 16
5.2.1 成功的呼叫 16
5.2.2 不成功的呼叫建立 18
5.3 PSTN用户-SIP用户(采用Profile B) 21
5.3.1 成功的呼叫 21
5.3.2 不成功的呼叫建立 23
5.4 PSTN用户-PSTN用户(Profile C,要求临时性响应可靠传送) 25
5.4.1 成功的呼叫 25
5.4.2 不成功的呼叫建立 27
6. 业务控制 29
6.1 SIP用户-SIP用户 29
6.1.1 Presence 29
6.1.2 Fork应用 33
6.1.3 通过重定向实现的业务(类似呼叫前转) 41
6.1.4 呼叫保持 45
6.1.5 呼叫等待 47
6.1.6 主叫显示禁止(CLIR) 49
6.2 SIP用户-PSTN用户(SIP-ISUP互通,Profile B) 49
6.2.1 呼叫前转(包括立即前转、无应答前转、遇忙前转) 49
6.2.2 呼叫保持 52
6.2.3 呼叫等待 53
6.2.4 主叫显示禁止(CLIR) 53
6.3 PSTN用户-SIP用户(SIP-ISUP互通,Profile B) 53
6.3.1 通过重定向实现的业务(类似于呼叫前转业务) 53
6.3.2 呼叫保持 53
6.3.3 呼叫等待 54
6.3.4 主叫显示禁止(CLIR) 54
6.4 PSTN用户-PSTN用户(SIP-ISUP互通,Profile C) 55
6.4.1 呼叫前转(包括立即前转、无应答前转、遇忙前转) 55
6.4.2 呼叫保持 58
6.4.3 呼叫等待 58
6.4.4 主叫显示禁止(CLIR) 59
1. 编制说明
1.1 范围
1) 本分册对基本语音业务、典型补充业务的实现作了流程说明,同时做出规定的还包括Presence、并行/串行的呼叫流程,涉及的用户包括PSTN用户、SIP用户等。
2) 对于IAD用户参与的呼叫流程,其局间信令的处理可参照PSTN用户参与呼叫的情形。
3) 当涉及到呼叫建立的情形,都以2个交换机的情形进行说明。
4) 在本分册中,为了说明上的方便,软交换充当呼叫、路由实体时,以Proxy的行为进行说明,但并不表明必须通过Proxy实现。当实体以B2BUA的形式实现时,其行为应当满足第一分册、第二分册对B2BUA的行为要求。
5) T7、T9定时器参照原有PSTN网络的定义
6) T1、T2定时器参照RFC3261的定义
1.2 参考文献
1) 《中国电信SIP企业规范第一分册》
2) 《中国电信SIP企业规范第二分册》
2. 环境说明
表 2-1 环境说明
网络实体说明
IP地址
号码分配
所属域
软交换 1及其下的相关资源(软交换同时具备注册服务器功能)
软交换 1
1.1.1.1
---------
G
SIP用户 A
1.1.1.100
801-020-800001
PSTN用户 B
---------
020-900001
媒体资源服务器M1
1.1.1.150
---------
软交换 2及其下面的用户(软交换同时具备注册服务器功能)
软交换 2
2.2.2.2
---------
B
SIP用户 C
2.2.2.200
801-010-600002
PSTN用户 D
---------
010-700002
媒体资源服务器M2
2.2.2.150
---------
3. 用户注册
3.1 成功的注册
3.1.1 基本注册过程
图3-1 基本注册
1) SIP用户A向所属域的注册服务器发起注册请求
REGISTER sip:1.1.1.1 SIP/2.0
From: sip:801020800001@1.1.1.1;tag=25486
To: sip: 801020800001@1.1.1.1
CSeq: 1 REGISTER
Call-ID: 10000000@1.1.1.100
Via: SIP/2.0/UDP 1.1.1.100:5060;branch=z9hG4bK1063644978
Maxforward:70
Contact: sip: 801020800001@1.1.1.100:5060
Expires: 3600
Content-Length: 0
2) 注册服务器要求用户进行鉴权
SIP/2.0 401 Unauthorized
From: sip:801020800001@1.1.1.1;tag=25486
To: sip:801020800001@1.1.1.1;tag=254863455
Via: SIP/2.0/UDP 1.1.1.100:5060;branch=z9hG4bK1063644978
CSeq: 1 REGISTER
Call-ID: 10000000@1.1.1.100
WWW-Authenticate:Digest realm="1.1.1.1",
nonce="ca019edffb7551683c2136eb2dd10537",stale=FALSE,algorithm=MD5
Content-Length:0
3) 带有鉴权信息的注册请求
REGISTER sip:1.1.1.1 SIP/2.0
From: sip:801020800001@1.1.1.1;tag=25ER486
To: sip: 801020800001@1.1.1.1
CSeq: 2 REGISTER
Call-ID: 10000000@1.1.1.100
Via: SIP/2.0/UDP 1.1.1.10:5060;branch=z9hG4bK1063644978
Maxforward:70
Contact: sip: 801020800001@1.1.1.100:5060
Expires: 3600
WWW-Authorization:Digest username="801020800001",realm="1.1.1.1",
nonce="ca019edffb7551683c2136eb2dd10537",uri=“sip: 801020800001@1.1.1.1”,response=“dffb7551683c2136e”
Content-Length: 0
4) 注册成功
SIP/2.0 200 OK
From: sip:801020800001@1.1.1.1;tag=25ER486
To: sip: 801020800001@1.1.1.1;tag=2343244332
CSeq: 2 REGISTER
Call-ID: 10000000@1.1.1.10
Via: SIP/2.0/UDP 1.1.1.10:5060;branch=z9hG4bK1063644978
Contact: sip: 801020800001@1.1.1.100:5060
Expires: 3600
流程说明:
1) 建议第2个Register消息与第1个Register消息Call-id相同,Cseq增加
3.1.2 注册信息的更新
图3-1-2 注册更新
流程说明:
1) 假定注册周期为1个小时,终端在1个小时之内发起注册更新的消息
2) 要求周期更新中带有注册鉴权信息
3) 注册更新请求时,要求Call-id不变,Cseq增加
3.1.3 注销
1) 参照3.1.1流程
2) 注销请求中,expire值为0。
3.2 不成功的注册
1) 参照3.1.1的流程,此时针对第二次的注册请求,注册服务器将会回应4**消息
2) 不成功的注册包括:没有通过认证或注册请求的expire值太小
4. 鉴权认证
4.1 注册鉴权
参见3.1.1的流程
4.2 呼叫鉴权(假定对Invite消息的鉴权)
图4-2 呼叫鉴权
用户鉴权通过后的流程,参照5.1.1.1的流程
5. 基本呼叫
5.1 SIP用户-SIP用户
Ø 根据第一分册的要求,当被叫用户为SIP用户时,此时主叫侧提供回铃音,因此临时响应的可靠传送不是必须的。
Ø 在5.1所示的各流程中,不要求临时响应的可靠传送,因此没有PRACK流程的出现。
5.1.1 成功呼叫
5.1.1.1 基本呼叫,主叫释放
1) 用户A向软交换1发起请求
INVITE sip: 801010600002@1.1.1.1:5060 SIP/2.0
Via: SIP/2.0/UDP 1.1.1.100:5060;branch= z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 1 INVITE
Max-foward:70
Contact: 801020800001 <sip: 801020800001@1.1.1.100:5060>
Content-Type: application/sdp
Content-Length: 222
v=0
o=801020800001 2890844526 2890844526 IN IP4 1.1.1.100
s=-
c=IN IP4 1.1.1.100
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
2) 软交换1接收到请求后向用户A发送确认信号,表示正在对收到的请求进行处理
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 1.1.1.100:5060;branch= z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 1 INVITE
Content-Length: 0
3) 软交换1经过路由分析,将请求转发到软交换2
INVITE sip: 801010600002@2.2.2.2:5060 SIP/2.0
Via: SIP/2.0/UDP 1.1.1.1:5060; branch=gdasdd00023324334
Via: SIP/2.0/UDP 1.1.1.100:5060; branch=z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 1 INVITE
Max-forward:69
Contact: 801020800001 <sip: 801020800001@1.1.1.100;5060>
Record-route: <sip:1.1.1.1;lr>
Content-Type: application/sdp
Content-Length: 222
v=0
o=801020800001 2890844526 2890844526 IN IP4 1.1.1.100
s=-
c=IN IP4 1.1.1.100
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
4) 软交换2向软交换1发送确认消息(表示已经接收到请求消息),同时将请求转发到用户C
INVITE sip:801010600001@2.2.2.200:5060 SIP/2.0
Via: SIP/2.0/UDP 2.2.2.2:5060; branch=sdfasdfsdf9898709
Via: SIP/2.0/UDP 1.1.1.1:5060; branch=gdasdd00023324334
Via: SIP/2.0/UDP 1.1.1.100:5060; branch=z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 1 INVITE
Max-forward:68
Contact: 801020800001 <sip: 801020800001@1.1.1.100;5060>
Record-route: <sip:2.2.2.2;lr>
Record-route: <sip:1.1.1.1;lr>
Content-Type: application/sdp
Content-Length: 222
v=0
o=801020800001 2890844526 2890844526 IN IP4 1.1.1.100
s=-
c=IN IP4 1.1.1.100
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
5) 用户C振铃(回铃音由主叫方本地放送)
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 2.2.2.2:5060; branch=sdfasdfsdf9898709
Via: SIP/2.0/UDP 1.1.1.1:5060; branch=gdasdd00023324334
Via: SIP/2.0/UDP 1.1.1.100:5060; branch=z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 1 INVITE
Content-Length: 0
6) 软交换2向软交换1转发此信号
7) 软交换1向用呼A转发此信号
8) 用户C摘机
SIP/2.0 200 OK
Via: SIP/2.0/UDP 2.2.2.2:5060; branch=sdfasdfsdf9898709
Via: SIP/2.0/UDP 1.1.1.1:5060; branch=gdasdd00023324334
Via: SIP/2.0/UDP 1.1.1.100:5060; branch=z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060;tag=568549reter9998
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 1 INVITE
Contact: 801010600002 <sip: 801010600002@2.2.2.200:5060>
Record-route: <sip:2.2.2.2;lr>
Record-route: <sip:1.1.1.1;lr>
Content-Type: application/sdp
Content-Length: 200
v=0
o=801010600002 2890844526 2890844526 IN IP4 2.2.2.200
s=-
c=IN IP4 2.2.2.200
t=0 0
m=audio 9000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
9) 用户A接收到200消息后发送确认信号
ACK 801010600002@2.2.2.200:5060 SIP/2.0
Via: SIP/2.0/UDP 1.1.1.100:5060; branch=z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060;tag=568549reter9998
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 1 ACK
Maxforward:70
Contact: 801020800001 <sip: 801020800001@1.1.1.1:5060>
Route:<sip:1.1.1.1;lr>
Route:<sip:2.2.2.2;lr>
Content-Length: 0
10) 软交换1、软交换2将此信号转发到用户C
11) 主叫用户挂机,软交换将拆线信号转发到被叫用户C处
BYE 801010600002@2.2.2.200:5060 SIP/2.0
Via: SIP/2.0/UDP 1.1.1.100:5060; branch=z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060;tag=568549reter9998
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 2 BYE
Maxforward:70
Route:<sip:1.1.1.1;lr>
Route:<sip:2.2.2.2;lr>
Content-Length: 0
12) 被叫用户发送确认信号表示收到拆线信号
SIP/2.0 200 OK
Via: SIP/2.0/UDP 2.2.2.2:5060; branch=sdfasdfsdf9898709
Via: SIP/2.0/UDP 1.1.1.1:5060; branch=gdasdd00023324334
Via: SIP/2.0/UDP 1.1.1.100:5060; branch=z9hG4bK020836764600000
From: 801020800001<sip: 801020800001@1.1.1.1:5060>;tag=22af9be9d1eac27
To: sip:801010600002@1.1.1.1:5060;tag=568549reter9998
Call-ID: e9aedcb152bbe1903ddd5eed2b111a71@1.1.1.100
CSeq: 2 BYE
Content-Length: 0
流程说明:
Ø 对SIP—SIP之间的呼叫,由于回铃音由主叫侧提供,因此本流程没有要求支持18*消息的可靠传送
Ø 当网络实体为Proxy实现时
1) 为了确保后续的请求消息不旁路网络中的服务器,要求服务器增加Record-route域,同时需要支持Loose router方式
2) 由于UAS收到的Invite中带有Record-route域,因此对于180消息:如果带有Contact域,则必须带有Record-route域
Ø 当软交换按照B2BUA的逻辑实现时
1) ACK响应200消息(以及Bye响应200消息)时为Hop by Hop的过程
2) 其Via、From、To、Contact应当根据《第二分册----协议细则》的要求生成,以能够保证呼叫的所有消息都经过该网络实体
5.1.1.2 基本呼叫,被叫释放
流程说明:
Ø 拆线信号由被叫发出,BYE消息中的From、to域与初始Invite消息中的From、To域发生颠倒
Ø Cseq的取值应当比本终端发送的初始请求消息的Cseq值增加1
5.1.2 不成功的呼叫建立
5.1.2.1 建立阶段,后向释放
5.1.2.1.1 被叫用户忙
流程说明:
Ø 用户C下只带有1个终端,因此不考虑Fork情况的存在
Ø 失败新号由被叫处的网络服务器发出,本规范建议此种方式
5.1.2.1.2 久叫不应
流程说明:
Ø 任何网络服务器都会启动业务层面的定时器保护,此时假定拆线信号由被叫侧网络服务器发出
5.1.2.2 建立阶段,被叫应答前,前向释放
5.1.3 定时器检验
5.1.3.1 INVITE消息的定时器(没有收到任何响应消息)
流程说明:
Ø 本例说明的是软交换机发送Invite消息后没有收到任何响应的情况,同时假定不考虑业务层面的定时器存在。
Ø 假定T1=500毫秒,如果网络服务器同时存在业务层面保护器,INVITE的次数可能少于7个。根据网络实际运营的需要,可对T1进行修改
Ø 对终端而言,当发送Invite消息后没有任何消息时,其重发行为也参照该流程
5.1.3.2 200消息的定时器(等待ACK消息)
流程说明:
Ø 本例说明的是软交换机发送200消息后没有收到ACK响应的情况。
Ø 当终端发送200消息没有接收到ACK消息时,其重发行为参照该流程
Ø 假定T1=500毫秒,T2=4秒。可根据实际运营的需要对T1进行修改
5.1.3.3 BYE消息的定时器(等待200消息)
流程说明:
Ø 本例说明的是软交换机发送BYE消息后没有收到200响应的情况。
Ø 当终端发送BYE消息没有接收到200消息时,其重发行为参照该流程
Ø 假定T1=500毫秒,T2=4秒。可根据实际运营的需要对T1进行修改
5.2 SIP用户-PSTN用户(采用Profile B)
Ø 根据第一分册的要求,当被叫用户为PSTN用户时,由被叫端局提供回铃音,因此要求临时响应可靠传送。
Ø 此时主叫用户发送的INVITE的Supported域中,必须带有100 rel参数
Ø 被叫用户发送的18*消息的Require域中,必须带有100 rel参数
5.2.1 成功的呼叫
5.2.1.1 基本呼叫,主叫释放(要求临时响应可靠传送)
流程说明:
Ø 软交换2处的SIP-ISUP互通单元采用B配置
Ø 根据第一分册的要求,此时的回铃音由被叫端局播放。因此180信号中带有SDP,建立后向通道。为了保证18*信号的可靠传送,要求必须支持RFC3262。
Ø 按照协议要求,被叫应答时的200响应,不应当带有SDP描述。如果在被叫应答前,需要对媒体资源地址进行修改,通过Update进行修改
5.2.1.2 基本呼叫,被叫释放(要求临时响应可靠传送)
流程说明:
Ø 呼叫建立过程参见5.2.1.1
5.2.2 不成功的呼叫建立
5.2.2.1 建立阶段,后向释放
5.2.2.1.1 被叫用户忙(被叫端局播放语音通知音)
流程说明:
Ø 根据第一分册、第二分册的要求,软交换2将会根据收到的ACM消息映射成183消息,并且183消息中带有SDP,建立后向通道
Ø 主叫用户听到语音通知后,如果挂机,将会发送Cancel消息
Ø 如果主叫用户没有挂机,被叫端局在一定时限后将会发送拆线信号,软交换2根据接收到的REL消息发送失败消息到主叫侧,结束本次呼叫
5.2.2.1.2 等待PSTN域的ACM信号
流程说明:
Ø 由于PSTN网络本身存在T7定时器,因此此时的拆线信号可能由PSTN网络中的任何一个局发出,本流程假设被叫侧的软交换发出拆线信号
Ø 软交换2根据Q.1912的要求生成相应的4**消息
5.2.2.1.3 久叫不应
流程说明:
Ø 由于PSTN网络本身存在T9定时器,因此此时的拆线信号可能由PSTN网络中的任何一个局发出,本项目假设由被叫侧的软交换发出拆线信号
5.2.2.2 建立阶段,被叫应答前,前向释放
5.3 PSTN用户-SIP用户(采用Profile B)
Ø 根据第一分册的呼叫模型,此时NNI接口上可采用SIP也可采用SIP-I,本流程假定NNI接口上采用SIP
Ø 根据第一分册的要求,当被叫用户为SIP用户时,此时主叫侧提供回铃音,因此临时响应的可靠传送不是必须的。
Ø 在5.3所示的各流程中,没有PRACK流程的出现。
5.3.1 成功的呼叫
5.3.1.1 基本呼叫,主叫挂机
流程说明:
Ø 本流程假定所有SIP用户的号码为特殊号码。当软交换1接收到呼叫后,通过号码分析,确定为被叫为SIP用户,软交换1与软交换2之间的NNI接口采用SIP信令
Ø 由于被叫用户为SIP用户,回铃音由主叫侧提供。因此当软交换1收到180消息后(没有SDP),软交换1通过控制其下的媒体资源服务器向主叫用户播放回铃音。
5.3.1.2 基本呼叫,被叫挂机
5.3.2 不成功的呼叫建立
5.3.2.1 建立阶段,后向释放
5.3.2.1.1 被叫用户忙
流程说明:
Ø 用户C下只带有1个终端,因此不考虑fork情况的存在
Ø 失败信号由被叫处的网络服务器发出,本规范建议此种方式
5.3.2.1.2 久叫不应
流程说明:
Ø 任何网络设备都会启动T9定时器,本例假设由软交换2发出拆线信号
5.3.2.2 建立阶段,被叫应答前,前向释放
流程说明:
Ø 本例假定180消息不带有tag参数,即此时没有建立Early Dialog。
Ø 根据Q.1912的规定,如果软交换1接收到的180消息的to域带有tag参数,则软交换1应当发送Bye消息
5.4 PSTN用户-PSTN用户(Profile C,要求临时性响应可靠传送)
Ø 根据第一分册的要求,当被叫用户为PSTN用户时,由被叫端局提供回铃音,因此要求临时响应的可靠传送。
5.4.1 成功的呼叫
5.4.1.1 基本呼叫,主叫释放
流程说明:
1) PSTN网络侧发送IAM消息到软交换1,请求路由
2) 软交换1通过号码分析,不能够判别被叫用户为SIP用户,因此NNI接口上采用SIP-I信令。此时初始发送的Invite消息中除了封装PSTN发送的IAM消息外,还带有主叫侧媒体网关SDP信息。
3) 软交换1将INVITE消息发送到软交换2
4) 软交换2通过号码分析,确认被叫用户为PSTN用户。软交换2提取出封装在Invite消息中的IAM消息并结合相应的本地策略生成新的IAM消息发送到PSTN网络
5) 被叫用户空闲。
6) 软交换2根据接收到的ACM消息,映射成180消息,由于此时的回铃音由被叫端局提供,因此此时180消息中除了封装ACM消息外,还带有被叫侧媒体网关SDP信息。
7) 软交换2将此消息发送到软交换1
8) 软交换1根据接收到的180消息,提取出ACM消息并结合本地策略,生成新的ACM消息,发送到主叫侧的PSTN网络
9) 由于媒体资源由后向提供,需要临时响应信号(18*)消息的可靠传送。因此软交换1在向主叫侧发送ACM的同时向软交换2发送确认消息,表明已收到18*消息。
10) 被叫用户应答
11) 软交换2接收到被叫侧PSTN网络发送的ANM消息后,由于主、被叫双方已建立的通道不需要修改,此时发送的200中只需封装ANM消息而不需要带有SDP信息
12) 软交换1接收到200消息后,提取出ANM消息并结合本地策略,发送到主叫侧的PSTN网络
13) 软交换1向软交换2发送ACK消息,表示已收到软交换2发送的200消息
14) 主、被叫用户间建立通话
15) 一定时间后,会话结束,主叫用户挂机。主叫侧PSTN网络向软交换1发送REL消息
16) 软交换1接收到REL消息后,向主叫侧发送RLC消息;同时将REL消息封装在BYE消息中,发送到软交换2
17) 软交换2接收到BYE消息后,向软交换1发送封装RLC的200消息;同时向被叫侧PSTN网络发送REL消息,同时接受被叫侧PSTN网络发送的RLC消息
5.4.1.2 基本呼叫,被叫释放(要求临时性响应的可靠传送)
呼叫成功建立前的流程与4.4.1.1的相同,只是此时的拆线信号由被叫侧发起。
5.4.2 不成功的呼叫建立
5.4.2.1 建立阶段,后向释放
5.4.2.1.1 被叫用户忙
5.4.2.1.2 久叫不应
流程说明:
Ø 由于PSTN网络本身存在T9定时器,因此此时的拆线信号可能由PSTN网络中的任何一个局发出,本项目假设由被叫侧的软交换发出拆线信号
5.4.2.2 建立阶段,在早期对话建立后,前向释放
流程说明:
Ø 由于180消息已经建立了媒体通道,如果主叫方在被叫应答前拆线,软交换1发送Bye消息
Ø BYE消息中应当封装REL消息
6. 业务控制
6.1 SIP用户-SIP用户
6.1.1 Presence
6.1.1.1 体系结构
SIP终端1和SIP终端2互为Watcher和Presentity。
软交换作为呈现业务代理,主要有以下作用:
Ø 作为SIP终端的呈现业务代理,收集SIP终端的注册和注销状态信息,并向呈现业务服务器发布此信息。
Ø 作为其他终端的呈现业务代理,收集其他终端的状态信息,并向呈现业务服务器发布此信息。
6.1.1.1.1 信令流程
6.1.1.1.2 呈现业务服务器启动
流程说明:
Ø 呈现业务服务器启动时,会根据自身管理的信息向软交换机发送Subscribe消息请求软交换机当SIP或其他终端注册或注销时,由软交换机将此状态信息通知呈现业务服务器。
Ø 如果软交换机和呈现业务服务器存在互信关系,软交换机将终端的状态信息(注册或者注销)通知呈现业务服务器。
6.1.1.1.3 用户登录
流程说明:
Ø SIP终端1向软交换机发送注册请求,通过鉴权后软交换机回送200 OK响应。
Ø 软交换机发现呈现业务服务器已经订阅了此终端的状态通知,就发送Notify(reg)消息通知呈现业务服务器。
Ø SIP终端1发送Subscibe(winfo)消息请求订阅watcher的信息。
Ø 呈现业务服务器通过Notify(winfo)消息将订阅者(watcher)的信息发送给SIP终端。
Ø SIP终端1按照一定的鉴权策略(可参考XCAP)对于订阅者鉴权后发送Notify(authwinfo)消息给呈现业务服务器,呈现业务服务器将根据鉴权结果决定是否发送终端1的状态信息给订阅者。
Ø SIP终端通过一定的方式(可参考XCAP)获取Presentity的信息后,发送Subscribe(presence)消息给呈现业务服务器订阅Presentity的状态信息。
Ø 呈现业务服务器通过终端2和其他Presentity的授权后会发送终端2和其他Presentity的状态信息给终端1。
6.1.1.1.4 增加Pre
展开阅读全文