对协议的理解:连接在网络上的各种设备因为业务需要需要彼此通信,但是呢他们的操作系统,硬件,软件等等很可能会不一样,为了达到通信的目的,需要在它们之间形成一种约定,规范,或者标准。这样的规范,约定,或者标准,我们可以称之为协议。
SIP全称是 session initiation protocol, 是一个基于文本的应用层控制协议,用于创建,修改和释放一个或者多个参与者的回话。1.分层结构协议。
sip协议是一个分层结构协议,从下到上分为三层,分别是语法和编码层,传输层,事务层。
最底层: 是语法和编码,
传输层: 规定了定义客户端和服务器端发送请求和响应请求的方式。
事务层:由客户端事务和服务器事务组成,一个事务由客户端事务发送给服务器事务的请求,和对应的响应组层。
2.唯一确定一个session: Call-id, from tag, to tag. 三者相同。
3.唯一确定一个事务:branch相同。
4.csep:包含一个32位的字符串, 和一个方法。
用于将一个回话中的消息序列号,用于重复消息的检测,迟到消息的检测,请求消息和响应消息的匹配.
作用域为一个会话。
5、 Transaction(事务)
事务发生于客户端和服务器端之间,包含从客户端发出请求给服务器,到服务器响应给客户端的最终消息(non-1xx message)之间的所有消息.
6.SIp 四大组件
6.1 User agent (SIP 用户代理)
主要用用创建,发送,和接受SIP消息。
分为两类: user agent client(UAC) and user agent service(UAS)
user agent client(UAC),用于创建和发送消息,user agent service(UAS) 主要用于接受sip 消息,发送sip响应。
6.2 Proxy (代理服务器)
位于UAC和UAS之间,主要用于UAC和UAS之间的消息路由,比如,执行路由策略控制(检测消息的合法性,确认消息是否被路由,根据需要修改sip 的某些部分)
6.3 Register 注册服务器
用于接受sip 注册请求,并保存发送注册的UA的位置信息。
6.4 Sip 重定向服务器
位于UAC和UAS之间,主要用于UAC和UAS之间的消息路由,以重定向方式路由sip信息(区别于代理服务器,其以代理方式路由sip信息)