SIP注册流程

拈花ヽ惹草 提交于 2020-01-26 05:41:42

SIP Client                                SIP Server

-------------------------register-------------------->

<-----------------401Unauthorize--------------

-------------------------register-------------------->

<----------------------200 ok------------------------

再看注册流程之前需要先了解几个名词

User-Agent 用户代理

用户代理是发送或接收SIP消息并管理SIP会话的逻辑网络端点。用户代理具有客户端和服务器组件。用户代理客户端(UAC)发送SIP请求。用户代理服务器(UAS)接收请求并返回SIP响应。与其他固定客户端和服务器角色的网络协议(例如,HTTP)不同,在网络协议中,Web浏览器仅充当客户端,而不充当服务器,SIP要求两个对等方都实现这两个角色。UAC和UAS的角色仅在SIP事务期间持续。

User Agent Client:用来发起SIP请求的客户程序。

User Agent Server: 收到SIP请求后负责与用户联系并代表用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。

请求消息类型包括: INVITE,ACK,OPTIONS,BYE,CANCEL 和 REGISTER 消息等

 

INVITE:用于邀请用户加入一个呼叫。

ACK:用于对请求消息的响应消息进行确认。

OPTIONS:用于请求能力信息。

BYE:用于释放已建立的呼叫。

CANCEL:用于释放尚未建立的呼叫。 REGISTER:用于向SIP网络服务器登记用户位置信息。

 

响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明,包括:1xx,2xx,3xx,4xx,5xx,6xx 1xx:临时响应,表示已经接收到请求消息,正在对其进行处理; 2xx:成功响应,表示请求已经被接收、处理并被成功接受 3xx:重定向响应,表示为完成请求消息需要采取进一步的行动 4xx:客户机错误,表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理。 5xx:服务器错误,表示SIP服务器故障不能完成对正确消息的处理 6xx:全局故障,表示请求不能在任何SIP服务器上实现

具体的请参考:https://blog.csdn.net/keyanting_2018/article/details/81704833

 

SIP消息一般有起始行、消息头两部分组成。 起始行一般包含消息名称、URI、版本。 请求消息头至少包括From、To、CSeq、Call-ID、Max-Forwards、Via 六个头字段,它们是构建SIP消息基本单元 消息体一般采用SDP(Session Description Protocol)协议,会话描述协议

通过强大wirshark我们可以很清晰的看懂四步交互过程。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!