注册流程
流程图

流程描述
为方便理解,SIP代理简单理解为“摄像头”,SIP服务器简单理解为这个Java项目。 注册流程有以下四个步骤:
- 1.1、摄像头向Java服务,发送
REGISTER注册请求,此时请求中未包含Authorization身份认证字段; - 1.2、Java服务向摄像头,发送响应
401 Unauthorized,并在响应的消息头WWW_Authenticate字段中给出认证方式和参数; - 1.3、摄像头再次向Java服务,发送
REGISTER注册请求,在请求的Authorization身份认证字段中携带身份认证信息; - 1.4、Java服务对请求进行验证,如果检查摄像头的身份认证通过,则向摄像头发送成功响应
200 OK,否则发送拒绝服务响应403 Forbidden;
GB/T28181—2016 9.1.1 注册和注销基本要求
- SIP客户端、网关、SIP设备、联网系统等 SIP代理(SIP UA)使用IETFRFC3261中定义的方法Register进行注册和注销。
- 注册和注销时应进行认证,认证方式应支持数字摘要认证方式,高安全级别的宜支持数字证书的认证方式,数字证书的格式符合附录I中的规定。
- SIP代理在注册过期时间到来之前,应向注册服务器进行刷新注册,刷新注册消息流程应与9.1.2.1的流程描述一致,并遵循IETFRFC3261对刷新注册的规定。
- 若注册失败,SIP代理应间隔一定时间后继续发起注册过程,与上一次注册时间间隔应可调,一般情况下不应短于60s。
- 系统、设备注册过期时间应可配置,缺省值为86400s(1d),应在注册过期时间到来之前发送刷新注册消息,为SIP服务器预留适当刷新注册处理时间,注册过期时间不应短于3600s。
- SIP代理注册成功则认为SIP服务器为在线状态,注册失败则认为SIP服务器为离线状态;
- SIP服务器在SIP代理注册成功后认为其为在线状态,SIP代理注册过期则认为其为离线状态。
消息示范
注意
注意观察整个注册流程中下面几个字段的变化规律:
Via的branch、From的tag、To的tag、Call-ID
下面是四个流程的消息示范:
1.1 注册

1.2 响应401 Unauthorized

1.3 注册(带认证信息)

1.4 响应200 OK

概念理解
- 在SIP协议中,一个SIP会话可能包含多个SIP事务,
Call-ID唯一标识一个SIP会话 - 一个SIP事务是由一个请求和它的所有响应组成的,Via的
branch唯一标识一个SIP事务 - From的
tag是在发起SIP会话时设置的,它与From中的URL和Call-ID一起,可以唯一标示一个SIP会话的一方。它在会话中保持不变。 - To的
tag是在回复SIP响应时设置的,对于每个新的请求,在响应时都会填充一个新的toTag