SIP协议(一)
¶VoIP技术
- PC-PC
- PC-Phone
- Phone-Phone(电话银行)
¶SIP协议概述
- 应用层的信令控制协议
- 类似于HTTP基于文本,易于读取调试
- 可以用于众多应用和服务
¶SIP协议结构
¶SIP协议特点
- 应用层协议,独立于较低层次的传输协议
- 基于文本的消息编码,使用UTF-8,易于实现、调试
- 具有多个层次的可实现性
- 通过代理、重定向支持用户的移动性
- 易实现性
- 易扩展性
¶SIP系统组成
组成 | 功能 |
---|---|
用户代理 | 用于创建和管理SIP会话的移动电话、多媒体手持设备、PC、PDA等,用户代理客户机发出消息,代理服务器对消息进行响应 |
注册服务器 | 包含域中所有用户代理的信息 |
代理服务器 | 接收SIP UA的会话请求并查询SIP注册服务器获取UA收件方的地址信息 |
重定向服务器 | 允许SIP代理服务器将SIP会话邀请信息定向到外部域 |
位置服务器 | 配合代理服务器和重定向服务器提供可能的被叫用户地址 |
¶SIP功能实体
- SIP用户代理(UA):包括逻辑实体
- UAC:用于发起一个呼叫请求
- UAS:用于对呼叫请求进行回应
- UA=UAC+UAS,一个UA既可以作为UAC发起呼叫,也可以作为UAS接收呼叫,UAC和UAS是逻辑上的不同角色,不是独立的物理实体
- SIP网络服务器
- 接受用户的注册请求,记录终端的IP地址,记录用户当前位置信息,是实现号码移动性的基础
- 代理服务器 完成路由功能,将SIP用户请求发送到下一跳代理或用户
- 重定向服务器 提供地址解析,类似于DNS
- 位置服务器
SIP协议(二)
¶SIP通话过程
¶VoIP by SIP的相关协议
¶SIP消息格式
- SIP协议是一个基于文本的协议,其消息包括请求和响应
- 请求UAC到UAS: INVITE、ACK、OPTIONS、BYE、CANCEL、REGISTER等
- 响应UAS到UAC: 1XX、2XX、3XX、4XX、5XX、6XX等
- 消息格式
开始行(请求行|状态行)
消息头域
空行(CRLF)
[消息体]
消息体包含媒体信息,采用SDP协议描述
¶SIP消息——请求
- 呼叫控制请求
- INVITE 发起呼叫,并对会话进行描述
- ACK 主叫确认收到被叫发送的对INVITE的确认响应
- BYE 释放连接,可以由主叫方发出,也可以由被叫方发出
- CANCEL 主叫取消呼叫,在连接建立起来之前发送
- 注册请求
- REGISTER 在注册服务器上注册用户代理
- 能力查询请求
- OPTION 查询服务器的能力
¶SIP消息——响应
- 1XX:通知服务器或代理正在执行处理,终端应该等待响应
- 100:Trying
- 180:Ringing
- 2XX:请求成功
- 200 :OK
- 3XX :重定向响应,终端应向新地址发起新请求
- 4XX :请求失败,终端的请求被拒绝
- 5XX :服务器内部错误造成请求不能被响应
- 6XX :全局错误,所有未来的对该用户的请求都将失败
¶过程举例
SIP请求例子
SIP协议(三)
¶消息体
- 消息体主要是SDP会话描述协议
- 用于描述这次会话的媒体信息
- 话音流使用RTP/RTCP传输
SDP包含在INVITE、200OK、ACK中
¶6.SIP流程举例
- 注册流程
- 注销流程
- 基本呼叫建立过程
- 正常呼叫释放过程
- 被叫忙呼叫释放
- 被叫无应答流程一
- 被叫无应答流程二
- 跨域呼叫流程
- SIP与PSDN的呼叫过程