SIP注册

SIP注册过程 SIP的注册过程很容易理解。首先我有一个号码,但我的号码可以移动的话,那服务器如何才能找到我呢?SIP的注册机制将sip终端的位置报告给注册服务器。这里的注册服务器仅仅是一个逻辑角色。并不一定是独立的物理实体。他可以和代理服务器是同一物理设备。 SIP终端如何发现代理服务器。也就是说它是怎么知道向那一台注册服务器注册,而且他又是如何知道这一台注册服务器的IP地址的呢? 这在sip中有详细介绍。 阅读详情


 

注册服务为特定地区的位置服务创建绑定关系,这个绑定关系是用来建立包含一个或者多个联系地址的address-of-record URI。因而,当那个地区的proxy接收到一个请求,这个请求的Request-URI和address-of-record的记录匹配,那么这个proxy会转发请求到这个address-of-record中登记的联系地址中去。
Address-of-Record: 记录地址。一个address-of-record(AOR)是一个SIP或者SIPS URI它指向了一个具有定位服务的主机,这个主机可以把URI映射成为用户真正物理位置的URI。通常情况下,定位服务器是通过登记服务来建立的。一个AOR经常被认为是一个用户的”公共地址” 。

 

需要注意的是,登记服务器(registrar)和proxy服务器都是逻辑上的角色,可以在网络中用一个设备来部属.还需要注意的是如果他们(登记服务器和proxy)本身是分开的,那么UA可以通过proxy服务器发送注册请求。 

 

1 构造一个REGISTER请求
REGISTER请求用来增加、删除、查询绑定资料。

 

下面这些头域,除了Contact,必须在REGISTER头域中包含。Contact头域可选。
Request-URI: 这个头域指明了登记服务所指明的位置服务所在的区域(比如sip:chicago.com)。”userinfo”和”@”元素在SIP URI中不能出现。
To:这个头域包含了被查询、增加、修改的address-of-record。to头域和Request-URI头域通常是不同的,因为这个由用户名组成。这个address-of-record必须是一个SIP URI或者SIPS URI.
From: 这个头域包含了提交这个注册信息的用户的address-of-record资料。这个值和To头域的值相同,除非这个请求是第三方发起的注册请求。
Call-ID: UAC发出的给某个注册服务器(registrar)的所有注册请求都应该有相同的Call-ID头域值。如果相同的客户端用了不同的Call-ID值,注册服务器(registrar)就不能检测是否一个REGISTER请求由于延时的关系导致了故障。
Cseq: Cseq值保证了REGISTER请求的正确顺序。一个UA为每一个具备相同的Call-ID的REGISTER请求顺序递增这个Cseq字段。
Contact: REGISTER请求可以有一个Contact头域。这个头域可以有0个或者多个包含绑定地址信息的值。 “expires”参数表明UA的绑定的有效时间。以秒为单位的整数。如果本参数没有制定,那么这个参数的值就是Expires头域的值。实现中,可以把超过2**32-1的值(4294967295秒或者136年)认为是2**32-1。非法的值应当视同3600。
UA在没有收到上一个注册请求的应答或者上一个REGISTER请求超时之前,禁止发送新的注册请求(就是说,包含一个新的Contact头域值,而不是重发)。 

 

1.1 增加绑定
1.1.1 设置Contact地址的过期参数

当一个客户端发出一个REGISTER请求,它可能包含一个过期参数用来表示这个注册的地址的有效期。
客户端设置有效期的方法有两种:一个是通过设置Expires头域,一个是通过设置”expires”contact头域的参数来设置。后一种允许针对同一个REGISTER请求中的多个绑定联系地址中的每一个联系地址单独设定有效期,然后所有没有带”expires”参数的Contact头域的值都使用Expires的设置。
如果REGISTER中没有两种有效期都没有设置,这就表明这个有效期由服务器来决定。
1.1.2 Contact Adress的参数选择
如果在一个REGISTER请求中包含多个Contact,这说明UA想要把这些Contact头域的内容都和To头域中制定的address-of-record地址绑定起来。这个列表可以用”q”参数来区分Contact头域的优先级。”q”参数用来标志特定Contact头域值和其他绑定的address-of-record的联系地址之间的优先级。

 

1.2 删除绑定
注册信息是一个纯粹软件的状态,并且如果不刷新会过期。如果需要,也可以被删除。一个客户端可以设置注册服务器(registar)的有效期(10.2.1)。一个UA可以通过发出有效期为”0”的REGISTER请求,使某一个联系地址立刻失效。UAS都需要实现这个机制使得在联系地址过期前能够被删除。
REGISTER规范中的Contact头域如果设置成为”*”则表示需要操作所有的注册项。但是也只能在具有一个Expires头域并且这个头域为’0’的情况下能够使用。(这就是说,只能够在要删除所有的注册项的时候使用”*”)。
用”*”来删除所有的注册项有一个好处,就是使得UA不需要知道每一个注册项的精确值。

 

1.3 访问绑定
无论请求是否包含了Contact头域,给任何REGISTER请求的成功应答都包含了一个完整的绑定列表。如果REGISTER请求头域中不包含Contact头域,那么注册服务器的绑定列表将不会改变。

 

1.4 刷新绑定
每一个UA都对先前它建立的绑定信息由刷新的义务。禁止对其他UA建立的绑定信息进行刷新。于是在这些绑定信息过期前,UA为每个绑定发出REGISTER请求来刷新绑定。也可以通过一个REGISTER请求来刷新数个绑定请求。
UA在一个刷新周期中,应该使用相同的Call-ID来进行注册调用。

 

1.6 寻找注册服务器
UA有3种方法来决定向哪里发出注册请求:通过配置,使用address-of-record,广播方式。
1)一个UA可以用非本文档规定的方式,配置一个注册服务器的地址。
2)用请求的Request-URI部分种的address-of-record的服务器部分(host part),用普通的SIP服务器定位机制。比如,用户”sip:carol@chicago.com”地址的注册服务应该是”sip:chicago.com”。
3)UA可以通过监听广播的形式来获得注册服务器地址。

 

1.8 错误响应
如果UA接收到一个423(间隔太简略)应答,它可能需要更改REGISTER请求中的所有有效期,使得这些有效期必须大于等于423应答头中的Min-Expires头域中的有效期,并且重新尝试发送这个REGISTER请求。 

 


2 处理REGISTER请求
一个注册服务器(registrar)就是一个UAS,这个UAS用来响应REGISTER的请求,并且维持一个绑定表,这个绑定表用来提供给它所管理的区域中的proxy服务器和重定向服务器的。
一个注册服务器禁止产生6xx应答。
一个注册服务器可以适当的转发REGISTER请求。通常用于一个注册服务器(registar)监听一个多点广播,并且通过302应答(临时转移)转发这个多点广播的REGISTER请求到它正确的处理位置。
一个注册服务器必须知道(例如,通过配置)它所管理的区域。注册服务器一定需要按照接收到的REGISTER请求顺序进行处理。


当接收到一个REGISTER请求,注册服务器(registrar)按照如下步骤处理:
1、注册服务器(registrar)检查Request-URI来决定是否它属于本注册服务器所管理的区域的Request-URI。如果不是,并且如果这个服务器同时也作为一个proxy服务器,那么这个服务器应当转发这个请求到指定的区域。
2、为了保证注册服务器能够支持所需要的扩展,注册服务器必须处理Require头域。
3、 一个注册服务器应当对UAC进行身份认证。
4、注册服务器应当检查认证的用户是否通过认证来更改这个address-of-record的登记权限。
5、注册服务器(registrar)从REGISTER请求的To头域中解出address-of-record。如果这个address-of-record并非在这个Request-URI指明的区域中合法,那么注册服务器必须发出一个404(没有找到)的应答,并且跳过后续步骤。接着URI必须转换成为标准的格式。所有的URI参数都必须删去(包括用户参数user-param),并且任何非法(escaped)字符必须转换成为合法字符(unescaped)格式。最后形成一个可以用于绑定的列表。
6、注册服务器(registrar)检查是否请求包含了一个Contact头域。如果没有包含,它跳过到最后一步。如果Contact头域包含了,注册服务器检查是否有一个Contact头域值是”*”,并且包含了一个Expires头域。如果请求有其他的Contact头域或者任何有效期的值是非0的,这个请求就是非法请求,并且服务器必须送回一个400(非法请求)的应答,跳过后续步骤。如果没有,那么注册服务器检查是否Call-ID复核每一个绑定的值。如果不符合,它必须删除绑定。如果符合,它必须仅仅删除保存的绑定表中CSeq值小于请求中的Cseq值的记录。否则,更新必须终止,请求失败。
7、现在注册服务器(registrar)可以依次处理Contact头域中的联系地址了。
8、注册服务器(registrar)返回一个200(OK)应答。这个应答必须包含Contact头域,并且这个头域的值中列举了所有当前绑定的注册信息。每一个Contact值都必须包含一个”expires”参数,用来标志还有多久这个绑定信息就过期了。应答也必须包含一个Date头域。

 

Java实现SIP注册协议详解与代码示例 SIP URI是标识SIP网络中的一个用户或服务的唯一方式。它的格式类似于电子邮件地址或HTTP URL,通常以"sip:"为前缀,后跟用户名、主机名或IP地址,以及可能的端口号和参数。一个标准的SIP URI示例如下:user=phone其中:username- 用来标识用户的用户名部分。hostname- SIP服务器的域名或IP地址。port- 可选的端口号,默认是5060。transport- 指定传输协议,常见的有UDP和TCP。user。 阅读详情

相关推荐

第一论坛

第一论坛 ПроектсБДможноскачатьпоhttps://drive.google.com/file/d/1xSncq48XbFGbu0Awtq7BRSh03s1U66Yl/view usp sharing ПостановказадачиРазработатьWeb-cайтфорумсоследующимфункционалом: ●через电子邮件; ●созданиеновойтемынафоруме; ●созданиесообщениявтеме; ●редактированиесвоихсообщений; ●валидациявведенныхданных。 注释●ASP.NET MVC; ●实体框架; ●MS SQL Server; ●引导程序; ●MS Visual Studio。

SIP协议学习(2)

IMS的注册介绍

通信小黑的博客 6813

sram设计流程+memory compiler整理

→。

qq_50761108的博客 1万+

SIP术语的名词解析

以下讲述的名词对SIP有着额外的意义: Address-of-Record: 记录地址。一个address-of-record(AOR)是一个SIP或者SIPS URI它指向了一个具有定位服务的主机,这个主机可以把URI映射成为用户真正物理位置的URI。通常情况下,定位服务器是通过登记服务来建立的。一个AOR经常被认为是一个用户的”公共地址” Back-to-Back...

weixin_34319640的博客 347

【深大计算机网络】实验三 可靠传输机制 实验报告 附代码

【内附代码】【深大计算机网络】实验三 可靠传输机制 实验报告 附代码

m0_74268508的博客 1654

别再写爬虫了!用Trae平台5分钟搞定一个能聊天的网页数据抓取Agent

本文介绍了如何利用Trae平台快速构建无需编程的网页数据抓取智能体,实现对话式数据采集。通过自然语言指令,用户可在5分钟内完成从数据抓取到分析的全流程,显著降低技术门槛和维护成本。文章详细解析了Trae智能体的核心能力,包括自然语言理解、智能页面解析、数据清洗和可视化配置,并提供了多个实战案例,展示其在竞品监控和舆情分析中的高效应用。

weixin_29038303的博客 718

SIP Multiple Address of Record (AOR)

Multiple Address of Record (AOR) 对应的协议 RFC 5947 - Requirements for Multiple Address of Record (AOR) Reachability Information in the Session Initiation Protocol (SIP) https://tools.ietf.org/html/rfc594...

dreamfly130的博客 673

RealSense D435i深度相机实战:从像素坐标到三维空间的精准映射(Python实现)

本文详细介绍了使用RealSense D435i深度相机实现从二维像素坐标到三维空间坐标精准映射的两种Python实战方法:深度图反投影法与点云直接查找法。文章涵盖环境搭建、相机对齐、代码实现、性能对比及与YOLO等检测模型结合的进阶应用,并提供了关键的避坑指南和参数调优建议,帮助开发者在机器人、三维重建等项目中高效应用。

weixin_29291573的博客 382

SIP协议 会话发起协议(一)

会话发起协议(SIP)是VoIP技术中最常用的协议之一。它是一种应用层协议,与其他应用层协议协同工作,通过Internet控制多媒体通信会话。 SIP - 概述 以下是有关SIP的几点注意事项 - SIP是用于通过因特网协议创建,修改和终止多媒体会话的信令协议。会话只不过是两个端点之间的简单调用。端点可以是智能电话,笔记本电脑或可以通过因特网接收和发送多媒体内容的任何设备。 ...

weixin_30839881的博客 674

ArcGIS 10.4 Desktop安装步骤。

步骤 1 :安装 LicenseManager 有了安装包以后,我们进入安装包文件目录,如图所示,首先需要安装ArcGIS license manager,即点击打开图中红色框中exe文件。 PS:安装 LicenseManager,关于 License 的安装路径一般默认即可,因为很小的,装C 盘也无所谓了,当然了自己改了也可以的,但是不建议! 即便修改路径,建议只改盘符,不修改相对路径方式! 如:C:\Program Files (x86)\ArcGIS\License10.6 修改为 D:\.

IT爱好者 2万+

YOLO26涨点改进 | 全网首发Conv独家改进篇 | CVPR 2025 | 引入GCConv卷积改进YOLO26,含GCC3k2二次创新,能够捕捉更加丰富和复杂的特征信息,助力高效涨点

本文提出了一种基于GCConv模块的YOLO26目标检测模型改进方案。GCConv模块通过多路径结构增强特征学习能力,在训练阶段采用垂直多卷积和水平多路径配置,推理时重参数化为单一3x3卷积,显著提升推理速度而不损失性能。实验表明,该模块在复杂场景和多尺度目标检测任务中表现优异,特别适合资源受限的实时应用场景。文章详细介绍了GCConv的网络结构、核心代码实现、YAML配置文件修改方法,并提供了两种改进方案(GCConv和GCC3k2)的具体配置指导。

Ai缝合怪、助力小伙伴高效发论文 321

SIP注册流程

今天先研究下设备注册的流程,模拟一个IPC向SPVMN系统注册,记录下交互的消息,详细研究了下: UAC(模拟IPC): IP:192.168.10.117 Port:5061 UAS(模拟SIP服务器): IP:192.168.10.177 Port:5060 第一步:UAC --> UAS UAC向UAS注册,下面是具体注册消息: REGISTER sip:1...

phymat.nico的专栏 2260

【人工智能】《Deep Dive into LLMs like ChatGPT 》—— Andrej Karpathy 第三阶段:强化学习(Reinforcement Learning, RL)

摘要:强化学习(RL)阶段通过让模型自主生成并验证答案,突破SFT阶段的模仿局限,使其在数学、代码等领域形成独特的推理路径。RL流程包括批量生成解答、自动批改筛选正确路径,并采用PPO/GRPO算法优化模型。模型会自发涌现自我检查、回滚等策略,显著提升正确率(如AIME竞赛准确率从15%升至56%)。与SFT模型相比,RL模型具备主动链式思维、验算能力,响应时间更长但效果更优,形成真正的“思考模型”。三阶段对比显示,RL通过可验证题的对错奖励机制,赋予模型超越人类范式的推理能力。

奶爸的编程之路,也就一周冷个三天 149

JAIN-SIP注册

import gov.nist.javax.sip.SipStackExt; import gov.nist.javax.sip.clientauthutils.AuthenticationHelper; import gov.nist.javax.sip.clientauthutils.UserCredentials; import gov.nist.javax.sip.stack.NioMe...

axjzf的博客 2797

基于 MATLAB BP 神经网络的财务预测

通过基于 MATLAB BP 神经网络的财务预警模型,我们可以对企业的财务风险进行有效地识别和预测。在具体实现过程中,需要注意对财务数据的预处理、模型参数的调整以及结果的解释等问题。MLP模型的输入层、输出层和隐含层之间均为全连接,每个神经元都是上一层神经元的加权求和再加偏置后的非线性变换。其中,输入层接受财务数据,输出层输出财务预测结果,隐含层则对输入数据进行处理和抽象。其中,X’是标准化后的值,X是原始值,μ_i 和σ_i 分别是指标 i 在样本中的均值和标准差。其中,X’是标准化后的值,X是原始值。

TechPulseZ的博客 923

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

sip 协议注册流程

本人主要用于工作笔记,如果有什么写的不对的地方欢迎大家批评指正,如有侵权,请联系本人。我写的是IP话机在注册到SIP服务器的流程。 什么是Sip? 两个话机需要通信,但是只知道对方的号码,这就需要一个服务器充当媒介,服务器负责接收一方的通信请求并通知另一方,直到他们建立通信,同样的,在一方请求结束通信,服务器应该回复请求,并且通知另一方。 但是实际上,通信流程中有很多坑,我来列举两个大家特别...

xiaoyu8388的博客 3211

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

sip协议之注册说明

注册是SIP协议中重要的功能,所谓注册,就是用户A客户端将自己的联系地址告知服务器,以便后续有其它用户呼叫用户A时,服务器能够将呼叫转接到用户A. SIP协议中的联系地址是指由账号、IP/PORT、传输方式等组成的地址记录,也称为URI。 一、注册流程: 二、流程说明 1. 客户端首先发起注册,此时没有鉴权头 2. 服务器返回401进行鉴权 3. 客户端带上鉴权信息Authorization(账号、密码等)再次注册 4. 返回200-OK注册成...

szkbsgy的专栏 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

sip注册流程 一步一光年_SIP注册失败故障排查

一、常见现象1、 配置注册信息,提交后状态为“注册中”,过半分钟后,状态为“注册失败”;2、 配置注册消息,提交后状态为“注册失败”;3、 使用一段时间后,注册状态为“注册失败”;二、现象分析&处理方式注册失败的情况都可以通过PCAP抓包跟踪注册过程,分析具体原因;备注:(1)PCAP抓包操作说明另参考相关文档。(2)测试的SIP账号如下:服务器IP地址 172.19.151.161,端口...

weixin_33451125的博客 7585

doubango sip/ims 注册流程

本人承接 sip/ims 视频客户端定制开发,支持 语音,视频,即时通信功能,视频格式支持 h263,h264,mpeg4 软编软解,提供硬件编解码接口对接,提供服务器,有兴趣请联系我。 注册流程(java-->C++-->C)   register(NgnSipService.java)     | register(NgnRegistrationSession.java)

RTC hacker 5122

gb28181-sip注册流程

当客户端第一次接入时,客户端将持续向Server端发送REGISTER消息,直到Server端回复"200 OK"后结束。

jianfeng123123的博客 2458

sip注册流程

sip注册流程图      1. 客户端发送一条不带认证信息的REGISTER 2. 服务器返回401(未授权) 3. 客户端发送带有认证信息的REGISTER 4. 服务器进行验证, 合格返回200OK

u014457656的专栏 1万+

sip注册流程 一步一光年_sip 注册流程

基本注册流程示意图:注册流程描述如下:1、 SIP代理向SIP服务器发送REGISTER请求;2、 SIP服务器向SIP代理发送响应401,并在响应的消息头WWW-Authenticate字段中给出适合SIP代理的认证体制和参数;3、 SIP代理重新向SIP服务器发送REGISTER请求,在请求的Authorization字段给出信任书,包含认证信息...

weixin_39724287的博客 1382

sip注册协议格式

192.168.110.247 ---> 192.168.110.237 不带转发路由 REGISTER sip:192.168.110.237:20101;transport=tcp SIP/2.0 Via: SIP/2.0/TCP 192.168.110.247:50250;rport;branch=z9hG4bKPjda05353a7a96...

sleep技术讨论区 1643

SIP之GB28181注册、注销详解

GB28181定义了基于SIP架构的视频监控互联规范,而对于多数私有协议实现的监控如果想接入SIP架构,就要借助网关,GB28181规范了实现 SIP 监控域与非SIP 监控域互联。基本注册采用IETF RFC 3261规定的基于数字摘要的挑战应答式安全技术进行注册,具体注册流程: 注册流程...

zuiyijiangnan的博客 7814
上一篇: SIP出错原因码
下一篇: Spring 官方 下载地址
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值