一 SIP会话发起协议 - 先知道是什么

少年,思无邪 , 最最动人 。
协议概述
  • SIP会话发起协议是VoIP技术中最常用的协议之一 。它是一种应用层协议,与其它应用层协议协同工作 , 通过Internet控制多媒体通信会话
  • SIP采用SDP(会话描述协议)的帮助,它描述了用于通过IP网络传送语音和视频的会话和RTP(实时传输协议)
  • SIP可用于双方(单播)或多方(多播)会话 。
  • 其它SIP应用包括文件传输,即时通讯、视频会议、网络游戏、以及流媒体分发
网络元素
  • 用户代理
  • 代理服务器
  • 注册服务器
  • 重定向服务器
  • 位置服务器
用户代理用户代理是SIP网络中最智能的设备或网络原件 。它可以是软电话、手机或笔记本电脑 。
用户代理在逻辑上分为两部分:
  • 用户代理客户端(UAC):发送请求并接收响应的实体 。
  • 用户代理服务器(UAS):接收请求并发送响应的实体 。
SIP基于客户机 - 服务器架构,其中呼叫者的电话充当发起呼叫的客户端,被叫方的电话充当响应呼叫的服务器 。即:一部电话既可以做客户端,也可以做服务器端 。
代理服务器网络元素接收来自用户代理的请求并将其转发给另外一个用户 。
  • 作用类似路由
  • URI的帮助下进行转发
  • 位于两个用户代理之间
代理服务器的两种类型
  • 无状态代理:只是转发收到的消息,不存储任何呼叫或交易的信息 。
  • 有状态代理:可以跟踪收到每个请求与响应,在有需要的时候,将来可以使用 , 对方没有响应,可以重新发送请求 。
注册服务器注册服务器接受用户代理的注册请求 。帮助用户在网络中进行身份认证 。将URI和用户的位置存储在数据库中,以帮助同一域内的其它SIP服务器 。
设备注册流程图:
一 SIP会话发起协议 - 先知道是什么

文章插图
注册流程描述:
  1. 设备向服务器发送 Register请求;
  2. 服务器向设备发送响应401,并在响应的消息头 WWW_Authenticate字段中给出适合设备的认证体制和参数;
  3. 设备重新向服务器发送 Register请求,在请求的 Authorization字段给出信任书, 包含认证信息;
  4. 服务器对请求进行验证,如果检查出 设备身份合法,向设备发送成功响应 200 OK,如果身份不合法则发送拒绝服务应答 。
重定向服务器重定向服务器接收请求 , 并在注册器创建的位置数据库中查找请求的预期收件人 。使用数据库获取位置信息,并以3xx(重定向响应)响应给用户 。
位置服务器位置服务器提供有关呼叫者可能的位置到重定向服务器或代理服务器的信息 。
SIP系统架构图
一 SIP会话发起协议 - 先知道是什么

文章插图
呼叫流程图
一 SIP会话发起协议 - 先知道是什么

文章插图
会话基本呼叫流程图
一 SIP会话发起协议 - 先知道是什么

文章插图
说明:
  • 发送到代理服务器的INVITE请求负责启动会话 。
  • 代理服务器发送100 尝试立即响应呼叫者(lijiatu)以停止INVITE请求的重新发送 。
  • 代理服务器在位置服务器中搜索nuonuo的地址 。获取地址后,进一步转发INVITE请求 。
  • 此后,nuonuo手机生成的180 振铃(临时响应)返回给lijiatu
  • nuonuo拿起手机后一个200 OK响应很快产生 。
  • 一旦200 OK到达lijiatu , nuonuolijiatu 收到一个ACK 。
  • 同时,会话建立,RTP数据包(会话)从两端开始流动 。
  • 会话结束后,任何参与者(lijiatunuonuo)都可以发送一个BYE请求来终止会话 。
  • BYE直接从lijiatunuonuo绕过代理服务器 。
  • 最后,nuonuo发送200 OK响应来确认BYE,会话终止 。
  • 在上述基本呼叫流程中,可以使用三个事务(标记为1,2,3) 。
完整的呼叫(从INVITE到200 OK)称为对话Dialog 。

推荐阅读