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消息分析实战

  1. 下载一个实际Invite消息。链接如下:

51xuetongxin.com/doc/invite.…

(备注, 该Invite消息由实际呼叫的pcap导出, 出于隐私保护需要, 替换了运营商信息, 转换成txt文档供下载。130多行。)

  1. 咱们来一起分析一下这个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基础自学系列 | eSRVCC稳态呼叫切换流程

VoLTE基础自学系列 | VoLTE实战分析之VoLTE注册流程

VoLTE基础自学系列 | 3GPP规范解读之Rx接口(上集)

VoLTE基础自学系列 | IMS(VoLTE)注册流程(不含eSRVCC)

VoLTE基础自学系列 | 什么是VoLTE中的Silent Redial?它和CSFB什么关系?