LTE语音业务VOLTE

https://www.freesion.com/article/65771378600/   转载自 https://www.freesion.com/article/65771378600/, 感谢那位博主。

LTE语音业务-VOLTE

标签: volte

 
 

本文简单记录下VOLTE相关知识与其注册流程

一.VOLTE 处理流程

1.终端用户与网络都需要了解对方的volte能力,这个我们以前lte 附着时已经介绍过来,相关信息在attach req中。
2.建立IMS承载,在建立lte默认承载之后,需要建立IMS承载,apn为ims
3.向IMS域发起注册。
4.注册成功后,进行相关业务流程了。

这里贴出相关log介绍
建立默认承载(cmnet)
在这里插入图片描述
之后建立ims 专用承载

在这里插入图片描述
在这里插入图片描述

ims专用承载建立成功之后,既可以向ims域发起ims注册了。

二.IMS相关知识

ims域结构可以分为三层,应用,控制和接入层。这里主要说下控制层的网元,对后面学习sip协议有点作用。
ims控制层有三大网元组成,分别为P-CSCF,I-CSCF,S-CSCF,下面为各自作用。

名称作用
P-CSCF volte与控制层接口
I-CSCF 负责分配信令到不同的S-CSCF中
S-CSCF 处理不同的信令业务

关于ims注册,使用的sip协议,也必须知道sip网络服务器,所谓sip协议有下面三个特点,类似于http。
1.消息组成为文本
2.|先有请求消息,再有响应。
3.C/S架构

这里有引出了sip 网络服务器(sip终端为 UA)

服务器名称功能
代理服务器 为主叫与被叫UA转发信令
定位服务器 取得UA信息
重定向服务器 定向到代理服务器
注册服务器 UA在sip网络中的注册

这里UA 与网络服务器,网络服务器之间均使用sip协议进行通信

三. SIP协议消息

VOLTE业务中常见的请求消息

基本请求名称
INVITE 启呼
REGISTER 注册
OPTIONS 选项
IACK 确认
BYE 挂机
CANCEL 取消

响应消息

响应功能
1XX 临时性响应
2XX 成功响应
3XX 重定向响应
4XX 客户端失败响应
5XX 服务器失败响应
6XX 全局失败响应

volte中常见的sip响应列表

响应编号名称说明
100 Trying 收到请求,处理中
180 Ringing 被叫振铃
183 Session Progress 呼叫进行中
200 OK 成功
401 Unauthorized 未授权,第一次注册ims域时遇到
404 Not Found 没找到
486 Busy Here 被叫正忙

sip消息结构=起始行+消息头+消息体
主要消息体不一定存在。

下面分别接受请求消息与相应消息已注册sip网络消息为例
请求消息

  1.  
    07:42:26.436 [0x156E] IMS SIP Message
  2.  
    Version = 1
  3.  
    Version 1 {
  4.  
    Direction = UE_TO_NETWORK
  5.  
    SDP Presence = 0
  6.  
    SIP Call ID Length = 62
  7.  
    SIP Message Length = 1606
  8.  
    SIP Message Logged Bytes = 1607
  9.  
    Message ID = IMS_SIP_REGISTER
  10.  
    Response Code = INFORMAL_RESPONSE (0)
  11.  
    CM Call ID = 255
  12.  
    SIP Call ID = 2401194090_2268498504@2409:8804:8015:3c90:609e:ae2c:9c42:1785
  13.  
    Sip Message = REGISTER sip:ims.mnc002.mcc460.3gppnetwork.org SIP/2.0 //起始行
  14.  
    //消息头
  15.  
    f: <sip:460020823681380@ims.mnc002.mcc460.3gppnetwork.org>;tag=2401194103 //呼叫发起方的IMPI(volte 用户唯一公开标识)
  16.  
    t: <sip:460020823681380@ims.mnc002.mcc460.3gppnetwork.org> //呼叫被叫方的IMPI(volte 用户唯一公开标识)
  17.  
    CSeq: 253710442 REGISTER //消息***
  18.  
    //回话过程唯一标识 i
  19.  
    i: 2401194090_2268498504@2409:8804:8015:3c90:609e:ae2c:9c42:1785
  20.  
    //sip消息转发者的ip地址,传输消息的传输协议与端口 v
  21.  
    v: SIP/2.0/TCP [2409:8804:8015:3c90:609e:ae2c:9c42:1785]:5060;branch=z9hG4bK1716348436
  22.  
    Max-Forwards: 70
  23.  
    Authorization: Digest //鉴权响应
  24.  
    uri="sip:ims.mnc002.mcc460.3gppnetwork.org",username="460020823681380@ims.mnc002.mcc460.3gppnetwork.org",response="",realm="ims.mnc002.mcc460.3gppnetwork.org",nonce=""
  25.  
    Expires: 600000
  26.  
    Require: sec-agree
  27.  
    Proxy-Require: sec-agree
  28.  
    k: path,sec-agree
  29.  
    Allow: INVITE,BYE,CANCEL,ACK,NOTIFY,UPDATE,PRACK,INFO,MESSAGE,OPTIONS
  30.  
    Security-Client: ipsec-3gpp; alg=hmac-md5-96; ealg=des-ede3-cbc; spi-c=3635426414; spi-s=2074953050; port-c=8003; port-s=8902,ipsec-3gpp; alg=hmac-md5-96; ealg=aes-cbc; spi-c=3635426414; spi-s=2074953050; port-c=8003; port-s=8902,ipsec-3gpp; alg=hmac-md5-96; ealg=null; spi-c=3635426414; spi-s=2074953050; port-c=8003; port-s=8902,ipsec-3gpp; alg=hmac-sha-1-96; ealg=des-ede3-cbc; spi-c=3635426414; spi-s=2074953050; port-c=8003; port-s=8902,ipsec-3gpp; alg=hmac-sha-1-96; ealg=aes-cbc; spi-c=3635426414; spi-s=2074953050; port-c=8003; port-s=8902,ipsec-3gpp; alg=hmac-sha-1-96; ealg=null; spi-c=3635426414; spi-s=2074953050; port-c=8003; port-s=8902
  31.  
    //回复消息的地址 m
  32.  
    m: <sip:[2409:8804:8015:3c90:609e:ae2c:9c42:1785]:5060>;+sip.instance="<urn:gsma:imei:86443001-000109-0>";+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel";+g.3gpp.smsip;+g.3gpp.accesstype="cellular2"
  33.  
    l: 0 //消息体长度
  34.  
     
  35.  
     
  36.  
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

响应消息

  1.  
    07:42:26.611 [0x156E] IMS SIP Message
  2.  
    Version = 1
  3.  
    Version 1 {
  4.  
    Direction = NETWORK_TO_UE
  5.  
    SDP Presence = 0
  6.  
    SIP Call ID Length = 62
  7.  
    SIP Message Length = 660
  8.  
    SIP Message Logged Bytes = 661
  9.  
    Message ID = IMS_SIP_REGISTER
  10.  
    Response Code = UNAUTHORIZED (401)
  11.  
    CM Call ID = 255
  12.  
    SIP Call ID = 2401194090_2268498504@2409:8804:8015:3c90:609e:ae2c:9c42:1785
  13.  
    Sip Message = SIP/2.0 401 Unauthorized //起始行
  14.  
    //消息头
  15.  
    Via: SIP/2.0/TCP [2409:8804:8015:3C90:609E:AE2C:9C42:1785]:5060;branch=z9hG4bK1716348436
  16.  
    Call-ID: 2401194090_2268498504@2409:8804:8015:3c90:609e:ae2c:9c42:1785
  17.  
    From: <sip:460020823681380@ims.mnc002.mcc460.3gppnetwork.org>;tag=2401194103
  18.  
    To: <sip:460020823681380@ims.mnc002.mcc460.3gppnetwork.org>;tag=wwv00evl
  19.  
    CSeq: 253710442 REGISTER
  20.  
    //鉴权参数
  21.  
    WWW-Authenticate: Digest realm="ims.mnc002.mcc460.3gppnetwork.org",nonce="GNESBD1C3pNj5kalYNrOp1pGUAUOxgAA43j2J3G4eKw=",algorithm=AKAv1-MD5
  22.  
    Security-Server: ipsec-3gpp;alg=hmac-md5-96;prot=esp;mod=trans;ealg=null;spi-c=3141603723;spi-s=3292598667;port-c=9950;port-s=9900
  23.  
    Content-Length: 0
  24.  
     
  25.  
     
  26.  
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

消息体上面消息没有携带,不做介绍了,可根据Content-Length确认。

本文最后介绍下sip注册消息流程
1.发起注册请求
在这里插入图片描述
2.响应
首次注册均返回401,并携带WWW-Authenticate信息给UA,UA收到重新发起注册
在这里插入图片描述

3.重新注册,Authorization中增加了上条返回的鉴权信息有关内容
在这里插入图片描述
4.注册成功,获取到IMPU
在这里插入图片描述

 
版权声明:本文为ZhongGuoRenMei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZhongGuoRenMei/article/details/109056218
 
 
原文地址:https://www.cnblogs.com/tonyxiao/p/15603590.html