SIP协议学习笔记(1)——总体结构

1.简介

SIP(Session Initiation Protocol)是一种类似于http协议的纯文本应用层协议。SIP可以用来控制会话的建立、取消、关闭等操作。主要可以实现以下功能:

  • 用户定位:检查终端用户的位置,用于通信;
  • 用户有效性:检查用户参与会话的意愿程度;
  • 用户能力:检查媒体和媒体参数;
  • 建立会话:“振铃”,在呼叫和被叫方同时建立会话的参数;
  • 会话管理:包括会话的传输和终止,修改会话参数以及请求服务

2.SIP的结构

在SIP协议中主要包含以下几种逻辑上的角色:UA、Proxy Server、 Register/Location Server、Redirect Server。

  • UA:用户代理(User Agent)类似于http协议中浏览器的角色,是用户操作的终端界面,用户代理需要符合SIP协议的要求,但是结合其他的协议根据不同的应用场景,会有不同的实现逻辑。比如,SIP协议结合H.323VoIP协议可以实现软件电话功能。用户代理分为UAC(UA Client)和UAS(UA Server)两种逻辑实体,UAC发送SIP Request并接受Response,UAS接收SIP Request并返回Response,一个物理设备既可以是UAC同时也可以是UAS。
  • Proxy Server:代理服务器的作用主要是转发Request和Response给其他的Proxy Server或者UA,Proxy Server分为有状态代理服务器(Stateful Proxy)和无状态代理服务器(Stateless Proxy),前者会保留一次通信事务的状态,通过一个有限状态机来控制转发操作,而后者不保存状态,只是实现透明的转发操作。
  • Registration/Location Server:注册和定位服务器用于登记和定位UA,在线的UA会定时的向Registration服务器发送SIP消息来表明UA当前的位置(如IP地址、端口号等),Registration服务器会将该信息存入数据库(或者散列表)中,当其他UA向该UA发送request时就能获得该UA的位置。
  • Redirect Server:用于重定向,在逻辑上相当于一个特殊功能的UA。

image

 

 

image

posted @ 2012-10-04 21:05  wulax  阅读(1131)  评论(0编辑  收藏  举报