zoukankan      html  css  js  c++  java
  • 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
     
     
  • 相关阅读:
    docker-ce版本19.03.8修改docker镜像的存储地址的方法
    Django自带的用户认证模块auth auth.authenticate
    怎么用Python pip怎么升级pip?
    Python import Module加载模块失败 in ImportError: No module named
    系统如何查看某个端口的应用进程pid,关闭进程,解决应用端口占用问题
    琐碎知识点(2)
    琐碎知识点(1)
    微信小程序开发笔记6——小程序添加并使用外部字体(亲测可用)
    Gitlab教程2 —— 多人协同工作(清晰)
    Gitlab教程1 —— 安装和基本使用
  • 原文地址:https://www.cnblogs.com/tonyxiao/p/15603590.html
Copyright © 2011-2022 走看看