IMS SIP register消息中的Contact header field

SIP register中的Contact还要承载User  Agent的能力信息。

实网下抓取的UE log如上,下面就主要看下Contact header field要包含的内容及其含义。

Contact header field设置为包括 UE IP地址或FQDN的SIP URI。 如上图contact中sip:69a5de6a-a03e-46d6-ad7a-b0d974c8f083@[2409:815a:3097:c900:3c5f:52ff:fedd:e9b]:5060对应的是UE的IPV6地址。

如果UE支持GRUU,又支持多次注册且有可用的 IMEI或有可用的MEID时,UE应包括包含“+sip.instance” header field。 仅IMEI会用于生成支持 3GPP 和 3GPP2 定义的multi-mode UE 的instance ID。当UE不支持GRUU且不支持多重注册时,对UE包括基于IMEI或MEID的instance ID的要求并不意味着对网络有任何额外要求。

log中IMEI = 353407230004750 ,而+sip.instance="<urn:gsma:imei:35340723-000475-0>" 

当UE支持多次注册时,就会在contace header 中包含“reg-id”。当一个UA注册多次,针对不同的流程,每次并发注册会获取唯一的reg-id值。每个 UA 都有一个唯一的instance ID,即使UA重新启动或power cycled,该UA也保持不变。 每个UA针对同一 SIP address of record (AOR)通过不同的flow 可以注册多次以实现高可靠性。 每次注册UA instance ID和每个flow都不同的 reg-id标签。 注册商可以使用instance-ID来识别这两个不同的注册是否对应同一个UA。 在reboot或network failure后,注册商可以使用reg-id标签来识别UA是否创建了新流程或刷新或替换旧流程。

当代理将消息路由到它绑定的UA时,它可以使用任意一个已经成功注册的flow。 在某个特定flow上未能成功deliver的request可以在备用流上再次尝试。 代理可以通过比较instance-id来确定哪些flow进入同一个UA。

代理可以通过查看 reg-id 来判断某个流是否替换了之前放弃的流。

UE不支持multiple registration,没有包含reg-id。

UE 应将所有支持的 ICSI 值包含在 g.3gpp.icsi-ref media feature tag中,如上图解释IMS Communication Service Identifier (ICSI)。而其他相关的streaming feature tag 罗列如上,主要在RFC 3840和 RFC 5688 中。g.3gpp.nw-init-ussi代表UE支持 the network initiated USSD over IMS。

g.3gpp.accesstype的用法解释如上。

UE log中,相关的media feature tag为 +g.3gpp.accesstype="cellular2";audio;+g.3gpp.smsip;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel"。   这个UE不支持video call,因而没有带video。

如果 UE 支持 Registration for Multiple Phone Numbers in SIP(RFC 6140)并执行外部连接网络的功能,则对于批量号码联系人的注册,UE 应包括一个不带user portiom并包含“bnc”URI 参数的 contact URI。

如果UE没有特定原因(例如某些UE执行外部附着网络的功能),则UE应该在contact address的URI中包括user part,值得注意的是user part是全球唯一,不会泄露任何私人信息;此时一般根据RFC4122生成time-based UUID(通用唯一标识符),其是全局唯一的,不会泄露任何私人信息。

UE log没有带bnc URI,而sip:69a5de6a-a03e-46d6-ad7a-b0d974c8f083@[2409:815a:3097:c900:3c5f:52ff:fedd:e9b]:5060 对应的就是UUID。

上图是34.229-1 Protocol conformance specification中有关initial IMS registration 中contact header field default 参数的总结。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Synopsys工具使用】2.Verdi的使用

文章目录 用VCS生成波形文件并用Verdi打开生成fsdb文件使用Verdi查看逻辑原理图 用VCS生成波形文件并用Verdi打开 编写Makefile文件&#xff1a; all:find com find:find -name "*.v" > file.list com: …

怎么快速筛选查看postfix的邮件记录

现状 通过分析日志获取记录 1.多个收件人时&#xff0c;日志有多行&#xff0c;而且不宜读 2.日志中默认没有邮件主题信息 3.日志中默认没有年的信息 解决办法 小编今天发现了一个不错的开源小命令&#xff0c;查看和下载请点击&#xff1a;postfixlogparse 直接下载下来…

计算机Java项目|Springboot疫情网课管理系统

项目编号&#xff1a;L-BS-ZXBS-07 一&#xff0c;环境介绍 语言环境&#xff1a;Java: jdk1.8 数据库&#xff1a;Mysql: mysql5.7 应用服务器&#xff1a;Tomcat: tomcat8.5.31 开发工具&#xff1a;IDEA或eclipse 二&#xff0c;项目简介 疫情网课也都将通过计算机…

【鸿蒙4.0】harmonyos Day 01

一. 初次使用鸿蒙原生编译器Dev Ecostudio创建一个新工程&#xff08;项目&#xff09;&#xff0c;控制台报错&#xff1a;ohpm ERROR: NOTFOUND package "ohos/hypium" not found from all the registries https://repo.harmonyos 这个错误应该是一些配置没下载成…

python小技巧

使用列表解析式&#xff08;List Comprehension&#xff09;快速创建列表&#xff0c;例如&#xff1a;[x for x in range(10)] 使用enumerate()函数遍历列表时获取索引和值&#xff0c;例如&#xff1a; for i, value in enumerate(my_list): print(i, value) 使用zip()函数…

2 万字详解,吃透 ES!

生活中的数据 搜索引擎是对数据的检索&#xff0c;所以我们先从生活中的数据说起。 我们生活中的数据总体分为两种&#xff1a;结构化数据 和 非结构化数据 。 结构化数据 &#xff1a;也称作行数据&#xff0c;是由二维表结构来逻辑表达和实现的数据&#xff0c;严格地遵循…

年少不懂宋公明,读懂已是中年人

及时雨宋江及时的不是雨&#xff0c;而是银子。 年轻的时候&#xff0c;以为聚义厅聚的是义&#xff0c;中年以后才看明白&#xff0c;聚义厅聚的是利。 利益是纽带&#xff0c;是动力。 懂得从他人利益的角度出发&#xff0c;我们才能调动更多的人和资源&#xff0c;成就一…

Qt编程之基础模块和扩展模块介绍

Qt (发音为“cute”&#xff0c;而不是“cu tee” )是一个跨平台框架,通常用作图形工具包&#xff0c;不过它在创建命令行&#xff08;CLI&#xff09;应用程序方面非常出色。它可以运行在 3个主要的桌面操作系统&#xff08;Windows、Linux 和 Mac&#xff09;以及移动设备操作…

MYSQL多种提权方式

&#x1f419;MYSQL-提权条件 - 数据库的最高权限用户的密码 - secure-file-priv没进行目录限制 - 拿下了网站的权限&#xff08;通过webshell或者其他方式&#xff09; - 获取到了数据库的账号密码 &#xff08;获取密码&#xff1a;D:/phpstudy/MySQL/data/mysql/user.MYD…

win10报错“zlib.dll文件丢失,软件无法启动”,修复方法,亲测有效

zlib.dll文件是一个由Zlib创建的动态链接库文件&#xff0c;它是用于Windows操作系统的数据压缩和解压缩的软件。Zlib是一个广泛使用的软件库&#xff0c;广泛应用在许多不同类型的软件中&#xff0c;包括游戏、浏览器和操作系统。 zlib.dll的主要作用是提供数据压缩和解压缩的…

input中typedate的属性都有那些

自我扩展‘ type 中date属性 自我 控制编辑区域的 ::-webkit-datetime-edit { padding: 1px; background: url(…/selection.gif); }控制年月日这个区域的 ::-webkit-datetime-edit-fields-wrapper { background-color: #eee; }这是控制年月日之间的斜线或短横线的 ::-webki…

【Delphi 基础知识 13】匿名方法的使用

在Delphi中&#xff0c;匿名方法是一种无需显式声明函数名的方法。它通常在事件处理、回调函数等场景中使用。 下面是一个简单的Delphi示例&#xff0c;演示如何使用匿名方法 unit MainForm;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Control…

详细讲解MybatisPlus中的BaseMapper类中的CRUD功能(全)

目录 前言1. 基本概念2. CRUD2.1 插入2.2 删除2.3 修改2.4 查询 前言 大部分CRUD都来源这个类&#xff0c;对此有意义剖析&#xff0c;方便之后的功能开发 完整的CRUD可看我之前的文章&#xff1a; 详细讲解MybatisPlus中的IService类中的CRUD功能&#xff08;全&#xff09…

redis黑马点评项目启动指南(含mac m1pro | windows11 wsl2 ubuntu环境配置 持续更新中~)

redis黑马点评项目学习笔记 mac m1pro windows 含项目配置教学 mac M1pro环境配置windows11 wsl2 ubuntu 环境配置一.短信登录1. 1发送验证码1.2短信登录注册1.3登录校验拦截器补缺Cookie Session Token1.4基于redistoken认证实现短信登陆1.5完善token认证的刷新机制 2.商户查询…

Python浪漫520表白代码

系列文章 序号文章目录直达链接表白系列1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏飘字表白代码https://want595.blog.csdn.net/article/details/1349149703无限弹窗表白代码https://want595.blog.csdn.net/article/details/1297945184跳…

springboot基础

一 springboot 1 spring 的缺点 在spring boot出现以前&#xff0c;使用spring框架的程序员是这样配置web应用环境的&#xff0c;需要大量的xml配置。下图展示了在xml配置的时代和SpringBoot的配置量的差别。 随着web项目集成软件的不断增多&#xff0c;xml配置也不断的增多&…

编程笔记 html5cssjs 026 HTML输入类型(2/2)

编程笔记 html5&css&js 026 HTML输入类型&#xff08;2/2&#xff09; 输入类型&#xff1a;date输入类型&#xff1a;color输入类型&#xff1a;range输入类型&#xff1a;month输入类型&#xff1a;week输入类型&#xff1a;time输入类型&#xff1a;datetime输入类型…

java数据结构与算法刷题-----LeetCode63. 不同路径 II

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难&#xff0c;但它就是固定套路而已。其实动态规划只…

第3章-指标体系与可视化-3.3-指标体系

目录 为什么要构建指标体系 什么是指标体系 如何构建指标体系 指标库

C#编程-实现继承

C#允许您通过扩展现有类的功能以创建新类来实现继承。 从基类创建派生类 使用以下语法在C#中创建派生类: class <derived_class>:<base_class>{...}确定继承的层次结构 要确定继承层次结构,必须检查派生类与基类之间的关系种类。确保派生类是一种基类。 请考虑以…