sip
sip网络基本构成
建立ip电话需要3种协议:
- 信令协议:建立链接、删除链接、定位用户等
- 媒体传输协议:实时语音流的传输
- 其他支持类协议:CIA认证协议、地址解析
User Agents
User Agents:用户代理,是一个软终端或者是一个支持SIP协议的电话
UA:对接收到的行为进行代理,发送到SIP网络中
一个发起和终止会话的实体,包含两个功能实体:
- User Agent Clients(UAC)- 发起SIP事务请求的功能实体。比如点击了一个拨号键,会通过UAC翻译成invite请求消息
- User Agent Server(UAS)- 接受SIP事务请求的功能实体。比如sip向用户发送invite请求,会通过uas把这个请求翻译成相应的动作
Proxy Server - 代理服务器
- 对收到的请求消息进行翻译和处理后,传递给其他的服务器
- 为其他的客户机代理,进行SIP消息的转接和转发的功能
- 对SIP请求及响应进行路由
Location Server - 位置服务器
是一个数据库,用于存放终端用户当前的位置
信息为SIP重定向服务器(Redirect Server)或代理服务器(Proxy Server)提供被叫用户可能的位置信息
Redirect Server - 重定向服务器
将用户新的位置返回给呼叫方。呼叫方可根据得到的新位置重新呼叫
Redirect Server 只是对请求消息进行响应
,不产生请求消息
Registrar Server - 登记服务器
接受REGISTER请求完成用户地址的注册
可以支持鉴权
的功能
sip 协议采用的地址
采用了因特网的rul
-
统一的资源定位,是个全球唯一的地址
-
支持因特网地址(IP地址)和PSTN地址
-
一般的地址搁置:
name@domain
比如
sip:alan@wcom.com
alan是名字,wcom.com是域名
sip:J.T.krik <krik@starfleet.gov>
J.T.krik是昵称 <krik@starfleet.gov> 里面是名字@域名
sip:guest@10.64.1.1
guest,10.64.1.1是ip
sip:+1-613-555-1212@wcom.com;user=phone
+1-613-555-1212 是美国电话号码 wcom.com;user=phone是电话运营商的域名
sip消息可提供以下主要功能
-
为sip终端用户提供定位功能
定位方式:sip url,类似于email地址形式
-
进行
媒体属性协商
封装协议:SDP(
会话描述协议
- SessionDescrible Protocol) -
发起会话:采用请求消息:INVITE(邀请)
-
改变会话:采用请求消息:Re - Invite(重发邀请,Cseq增加)
-
结束会话:采用请求消息:BYE、CANCEL
sip基本请求消息(rfc 2543)
消息 | 功能 |
---|---|
INVITE | 发起会话请求 |
ACK | 对INVITE请求的响应消息的确认 |
BYE | 结束会话 |
CANCEL | 取消尚未完成的请求 |
REGISTER | 注册 |
OPTIONS | 查询服务器的能力 |
sip响应消息
消息 | 含义 | 功能 | 举例 |
---|---|---|---|
1XX | 临时响应 | 表示已经接收到请求消息,正在对其进行处理 | 100Trying 180 Ringing(processed locally) 181 Call is Being Forwarded |
2XX | 成功响应 | 表示请求已经被接收、处理并被成功接受 | 200ok |
3XX | 重定向响应 | 表示为完成请求消息需要采取进一步的行动 | 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily |
4XX | 客户端错误 | 表示请求消息中包含语法错误或者sip服务器不能完成对该请求消息的处理 | 401 Unauthorized 408 Request Timeout |
5XX | 服务器错误 | 表示sip服务器故障不能完成对正确消息的处理 | 503 Service Unavailable 505 Version Not Supported |
6XX | 全局错误 | 表示请求不能在任何sip服务器上实现 | 600 Busy Everywhere 603 Decline |