VoLTE基础自学系列 | VoLTE呼叫流程之VoLTE打VoLTE,主被叫接入域为LTE
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VoLTE基础自学系列 | VoLTE呼叫流程之VoLTE打VoLTE,主被叫接入域为LTE相关的知识,希望对你有一定的参考价值。
视频来源:51学通信《VoLTE基础》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:VoLTE基础自学系列 | 汇总_COCOgsta的博客-CSDN博客
VoLTE呼叫流程中的主要子流程
IMS公共流程
- SDP(媒体面) 协商/资源预留
- Precondition
- 基础语音及补充业务、智能网业务、运营商自有增值业务等(呼转、彩铃等)
- DNS/eNUM查询
- 计费
VoLTE特有流程
- Netloc位置上报及区号补全(漫游用户拨打本地PSTN用户场景)
- 主叫或被叫业务锚定(用于CS接入域拨打VoLTE用户场景)
- 被叫接入域选择(T-ADS)
- 主叫及被叫侧的专有承载建立(语音及视频转载)
- eSR VCC相关流程(如切换)
- 与VoWiFi的互通
- ICS
高层来看一个VoLTE的基本呼叫流程
广州用户到了北京,给人在成都的长沙用户打VoLTE电话,路由怎么走的?
高层来看一个VoLTE基本呼叫的会话建立
路由原则:VoLTE用户附着在LTE, 如果被叫是VoLTE用户, 则将呼叫路由至被叫归属IMS域, 由被叫归属IMS进行被叫域选, 根据域选结果进行后续路由。
采用Precondition的基本呼叫建立流程
T-ADS流程图
SCCAS执行T-ADS的通用选择原则
用户仅在IMS注册, 选IMS。
用户仅在CS注册,选CS。
用户在IMS和CS均未注册, 选IMS。
用户在IMS和CS均注册, 则进一步查询:
- 有SGSN注册信息, 选CS。
- 无SGSN注册信息, 有MME注册信息, 向MME进一步查询
1)若MME返回IMS Voice Over PS为支持, 则选IMS。
2)若MME返回IMS Voice Over PS为不支持, 则选CS。
3)无SGSN注册信息, 也无MME注册信息, 选CS。
VoLTE基本呼叫流程中的专用承载建立
VoLTE中的主被叫号码规整
通常都是在AS上完成。
主叫号码规整,即把国际格式的主叫号码反向规整为国内号码格式,甚至更为简单的本地号码格式,以使被叫终端的来电显示更为简洁易懂。
被叫号码规整,即把它们转换为E.164国际格式(比如+861088888888,+8613912345678),以方便地执行业务逻辑(比如用于比对MTAS黑白名单列表中的号码, 或ENUM服务器中的国际格式号码)。
VoLTE打VoLTE信令(主被叫接入域LTE)
VoLTE打VoLTE信令(挂机)
附录:部分VoLTE基本呼叫关键消息分析
UE发出的第一个Invite消息分析实战
- 下载一个实际Invite消息。链接如下:
(备注, 该Invite消息由实际呼叫的pcap导出, 出于隐私保护需要, 替换了运营商信息, 转换成txt文档供下载。130多行。)
- 咱们来一起分析一下这个Invite消息。
SIP头部的Route和Record-Route头域
理解Route和Record-Route消息头(会话流程)
第一个AAR和第二个AAR的Service-Info-Status AVP
修订1:有哪些步骤是信令流程图没有体现的?
在当期70多步的Volte打VoLTE信令流程图中, 还有很多步骤由于很多网元是合设的,所以并未体现,这里总结一下:
- DNS/eNUM(IMS网络都靠SIP-URI寻址)
- DRA
- 主叫和被叫可能触发多个AS(通常有SCC AS、智能网AS、电话AS等)
- SAE-GW图中是合设的, 实际可能SGW和PGW是分离的。
- VoLTE SBC图中是和合设的, 实际包含SBC、P-CSCF、ATCF、ATGW功能。
- I/S-CSCF是合设的, 实际可能分离。或者在图中有内部转发未能标出。
- 如果被叫UE是ECM-IDLE态, 被叫MME要发起被叫寻呼流程, UE响应Service Request流程进入ECM连接态。被叫SGW才能把Invite转给UE。
修订2:主叫收到183后的更新专载是否必选?
信令流程图中, 主叫SBC收到主叫Invite会触发专载建立, 在收到被叫侧返回的带SDP的183后会触发专载更新(Rx接口的AAR/AAA、Gx接口的RAR/RAA以及GTP的Update Bearer Request/Response),那这个专载更新是必选的吗?
答:直播时的答案是如果被叫183和主叫Invite里所选择的编码相同,可以不更新专载。这里更新一下,这个更新专载流程是必选的。因为即使主被叫所选择编码相同,还需要更新关于该媒体流的地址和端口信息, 即TFT。因为Invite消息的SDP里还不知道被叫侧的媒体流IP和端口号。
修订3:关于主叫Invite消息中Suppor头域及Require头域中的Precondition
主叫Invite消息中的Support头域通常携带Precondition来表示支持该机制。但Require头域通常不带该字段。为什么?
答:Support头域是声明自己的支持能力, 用于和被叫侧协商。但Require头域则是强制要求, 如果对端不支持的话, 那呼叫就会失败。Require头域通常不携带Precondition, 通常是为了支持VoLTE和固网IMS的互通, 因为固网IMS并不支持Precondition。所以实际上就是把Precondition的启用判决交给了被叫来决定。
修订4:关于呼叫中的SDP AMR-WB选择?
某运营商要求终端在建立VoLTE语音呼叫过程中, AMR-WB默认编码模式为23.85kpbs, 那这个23.85kbps在SDP协商中怎么体现的?
答:AMR-WB默认有9种编码速率, 在SDP中a line中通过mode-set来表示。取值为8代表23.85kbps。主叫Invite的SDP中如果不带mode-set,则代表支持所有的AMR-WB编码。
修订5:关于T-ADS
“Single-Registration-Indication”是S6a接口Diameter消息中的一个bit位, 如果设置了该字段, 指示HSS应该向SGSN发送Cancel Location, 将SGSN的地址信息清除。
如果该UE从23G回到4G发起附着或者TAU, 会在附着请求/TAU请求中携带Additional GUTI(代表自己是从23G来的) 。看到这个参数, MME向HSS发ULR, 并将“Single-Registration-Indication”置1, HSS将把SGSN的信息清除。
反过来, UE从4G到23G, SGSN不会触发HLR/HSS向MME发起Cancel Location, 所以此时UE是双注册到23G和4G。
修订6:适用场景
本地VoLTE打本地VoLTE
本地VoLTE打外地VoLTE
外地VoLTE漫游到本地, 打本地VoLTE
外地VoLTE漫游到本地, 打外地VoLTE
本地VoLTE漫游到外地, 打本地VoLTE
本地VoLTE漫游到外地, 打外地VoLTE
以上是关于VoLTE基础自学系列 | VoLTE呼叫流程之VoLTE打VoLTE,主被叫接入域为LTE的主要内容,如果未能解决你的问题,请参考以下文章
VoLTE基础自学系列 | VoLTE呼叫流程之PSTN打VoLTE
VoLTE基础自学系列 | VoLTE实战分析之VoLTE注册流程
VoLTE基础自学系列 | 3GPP规范解读之Rx接口(上集)