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 参数的总结。

相关推荐
jixunwulian10 小时前
5G工业路由器的园区无人配送车联网
5g
DXDZ202210 小时前
ESD9L5.0ST5G SOD923封装单向低容静电保护器件 DL0501D9 DL0301D9
5g
BuffaloBit1 天前
5G 核心网架构入门
网络协议·5g·架构
eve杭2 天前
AI、大数据与智能时代:从理论基石到实战路径
人工智能·python·5g·网络安全·ai
无线图像传输研究探索2 天前
5G单兵图传
服务器·5g·无人机·图像传输·5g单兵图传·单兵图传·无人机图传
刘孬孬沉迷学习2 天前
WebRTC 协议
学习·5g·webrtc·信息与通信·信号处理
yy我不解释2 天前
关于电脑支不支持5Gwifi、无法找到5Gwifi、5Gwifi没有网络的配置问题
网络·5g·电脑
BuffaloBit2 天前
5G为何强调“NR”?
网络协议·5g
刘孬孬沉迷学习3 天前
GTP协议
开发语言·学习·5g·php·信息与通信
ALINX技术博客3 天前
【新品解读】5G/6G 基带系统级验证,AXVU13G 如何缩短高速系统研发周期
5g·fpga开发·fpga