Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > SIP学习笔记
【标  题】:SIP学习笔记
【关键字】:SIP
【来  源】:http://blog.csdn.net/StarRib/archive/2007/03/05/1521675.aspx

SIP学习笔记

Your Ad Here SIP Session Initiation Protocol 会话发起协议
能够发起、更改和终止一个会话

[历史]
  • 多媒体系统不能邀请指定的用户加入一个会话
  • M. Handly和E. Schooler于1996年2月向IETF递交草案,即SIPv1
  • H. Schulzrinne同时提交了一份SCIP(Simple Conference Invitation Prorotol)草案
  • 两者合并,96年12月形成SIPv2
  • 99年2月形成RFC2543,2002年定稿RFC3261
  • SIP组织:SIPPING、SIMPLE、PINT、SPIRITS
[特点]
  • 文本协议
[SIP能力]
  • 用户定位
    • 确定主被叫位置
  • 用户能力交换
    • 确定主被叫支持的媒体类型和参数
  • 用户状态判断
    • 确定被叫状态,是否可用,是否空闲
  • 呼叫管理
    • 建立、修改、终止呼叫
    • 呼叫前传
  • 号码传递
    • 支持各种号码的命名形式
  • 个人移动性
    • 通过唯一的、位置无关的地址记录用户
  • 主被叫鉴权
  • 多播会议
  • Instant Message
[SIP URI]

格式
    SIP:User:Pass@Host:Port;Param;Param?Header=Value
例如
    Sip:acn@test.edu.cn
    Sip:acn:pass@test.org;transport=tcp?subject=project
    Sip:acn@59.64.156.88
优点
    支持各种形式,并且全局唯一,很好的支持用户移动性管理

[SIP网元]
  • 用户代理(User Agent)
    • 通常包括User Agent Client和User Agent Server
  • 代理服务器(Proxy Server)
    • 接收、控制、转发消息
  • 注册服务器(Registar)
    • 接受用户注册
  • 定位服务器(Location Server)
    • 记录主被叫的位置
  • 重定向服务器(Redirect Server)
    • 不转发请求,只返回被叫所在服务器地址

[两类代理服务器]

  • 有状态服务器
    • 记录所有的请求和响应,包括接受的、转发的。可以尝试多个可能的用户位置,返回最好的响应
    • 收到INVITE请求时返回100 Trying响应
    • 通过Max-Forwards限制最多转发次数
    • 大多数是Transaction Stateful Proxy
    • 在请求期间保留状态信息,当收到200或失败响应后丢弃保存的状态信息
  • 无状态服务器
    • 只负责转发,不负责记录消息相关的信息
    • 处理速度快,是SIP网络的骨干
[SIP网关]
  • SIP网关作为SIP信令和其他信令的转换接口
  • SIP网关可以看作是一种特殊的UA
  • SIP和H.323的网关可以转化二者信令,但是媒体流可以直接交互,并不需要通过网关。
  • SIP和PSTN的网关相对复杂。首先需要将SIP信令和ISUP或其他电路信令转化,并且需要将RTP媒体流转换成标准的语音信号。
[SIP消息类型]

        SIP消息包括两种类型:请求类消息,响应类消息
  • 请求类消息
    • 基本消息
      • INVITE:呼叫发起消息,通常标志着一个呼叫的开始,相当于ISDN中的Setup和ISUP中的IAM消息.Proxy不能使用.
      • ACK:用于对最终响应消息的确认
      • BYE:终止一个会话,必须在会话建立之后才能发起BYE
      • CANCEL:取消正在进行中的呼叫请求,无法取消已经建立的连接
      • OPTIONS:用于查询UA或服务器的能力,包括这个服务器所支持的方法和会话描述协议
      • REGISTER:注册消息
    • 增加消息
      • REFER:REFER消息用于一个UA请求另一个UA访问某个URI或URL资源
      • SUBSCRIBE:SUBSCRIBE消息用于建立一个“订购关系”
      • NOTIFY:NOTIFY消息用于通知某一事件的发生
      • MESSAGE:SIP可以通过MESSAGE请求发送IM消息
      • UPDATE:UPDATE消息用于修改session的状态,但是不用修改dialog的状态
      • INFO:UA通过INFO消息向另一UA发送会话信令信息,消息中包含已经建立的媒体会话信息
      • PRACK:对1xx消息的确认
    • 其他一些扩展消息
  • 响应类消息
    • 1xx:提供信息类应答(Informational)
    • 2xx:成功应答(Success)
    • 3xx:重定向类应答(Redirection)
    • 4xx:客户请求失败类应答(Client error)
    • 5xx:服务器故障类应答(Server failure)
    • 6xx:全局故障类应答(Global failure)
[SIP消息格式]
  • 消息头(Header)
    • 必选消息头
      • From、To、Call-ID、Cseq等
    • 可选消息头
      • Via、Record-Route、Route等
  • 消息体(Body)
[一个典型SIP消息例子]
    INVITE sip:acn@bupt.org SIP/2.0 (Request-URI)
    Via: SIP/2.0/UDP 12.26.17.91:5060;branch=z9hG4bK454
    Max-Forwards: 70
    From: Charles Babbage <sip:babbage@analyticalsoc.org>;tag=9382
    To: sip:ada@language.org
    Call-ID: f6-32-9a-34-91-e7@analyticalsoc.org
    CSeq: 1 INVITE (CSeq initialized to 1)
    Contact: <sip:babbage@client.analyticalsoc.org>
    Subject: RE: Software
    User-Agent: Difference Engine 1
    Content-Type: application/sdp
    Content-Length: 137
    消息体

[Cseq]
  • 消息序列号,用户在每个请求中加入这个字段
  • 该序号在Call-ID范围内唯一,即在同一个会话期间具有相同的Call-ID,但是Cseq不断加1,cseq的方法可以是各种不同的请求
  • 重发请求序号不变
  • 服务器将cseq序号复制到响应类消息中
[Contact]
  • 该字段用于INVITE、ACK和REGISTER请求以及成功响应、呼叫进ACK和重定向响应消息,其作用是后续和用户直接通信的地址
[Via]
  • 用于指示消息经过的路径。它可以防止请求消息产生环路,并确保响应和请求消息选择同样的路径,以保证通过防火墙或满足其他选路要求。
  • 发起请求的用户必须将自己的主机名或地址插入Via字段,如果未采用缺省端口,则必须加上端口号。消息传递过程中,代理服务器必须将自己的地址添加到已有的Via字段之前。如果Proxy发现自己的地址已经存在于Via中,则返回响应“检测到环路”。
[消息体]
  • 消息体可以包含很多类型的信息
    • SDP、URL、IM、JPEG等
  • 关于消息体的头域
    • Content-Disposition头域指示消息体的用途
    • Content-Type指示消息体的类型
    • Content-Encoding指示消息体编码格式
      • 默认text/plain
    • Content-Length指示消息体长度
      • 如果没有消息体则为0
  • 和Email携带附件的方法相同
    • 可以携带多个部分的消息体,采用MIME
    • Content-Type is listed as multipart/mime
[会话描述协议SDP]
  • SDP用于描述两个用户之间的多媒体会话信息,被叫在接受请求时必须知道
    • 会话地址、端口
    • 使用的音频、视频解码器
    • 会话的一些信息(名称、简单描述)
    • 联系信息
    • 活动时间表
  • SDP的目的是为这类信息定义一个标准语法
  • SDP完全采用文本格式。之所以牺牲带宽没有采用诸如ASN.1的二进制编码格式,是为了提高描述的可携带性,使其可以使用各种传送协议传送,并且可以使用各种文本工具生成、处理和查看绘画描述
[SIP与H.323的比较]
  • SIP
    • IETF, Internet scalable
    • Text based, easily to interpret, log, examine, simulate, test.
    • Signaling, presence and IM.URI will be powerful.
    • 互联网和电信
    • 可扩展性强
    • 安全性,定义了安全机制,并且可以利用Internet安全机制(TLS,SMIME)
    • 媒体协商不理想
  • H.323
    • ITU, PSTN background
    • Binary encoding, smaller but more complexity to implementation
    • Exclusively signaling protocol
    • 主要是电信
    • 可扩展性差
[SIP与H.323的各自优势]
  • H.323
    • widely deployed in small PSTN replacement networks for handling simple phone calls
    • dominates the IP videoconferencing market
    • Prevail in digital based device conference
  • SIP
    • Video conferencing is on the development
    • will play a bigger role in these future software-based video systems than the current dedicated hardware videoconferencing systems
[SIP在3G应用中]
  • 会话过程中信令保持连接
    • 检测终端的状态
  • SIP B2BUA
    • UE失去连接时,P-CSCF将发起BYE(计费考虑)
    • 移除Route, Record-Route, Path, Via, Service-Route 等头域,为了节省无线资源。返回的时候可以再加上。
    • P-CSCF修改From、To(安全考虑)
    • I-CSCF隐藏或加密Via头域,保护S-CSCF的隐私
  • SIP和3GPP共同支持IPv6
  • SIP信令压缩(节省无线资源)
    • Via头域中的参数comp=sigcomp
[Future of SIP and wireless]
  • 当IP在无线网络推广以后,SIP的应用将越来越广泛
  • 当mobile-IP没有提供的情况下,SIP可以很好的解决移动性问题。Mobile-IP和Mobile-SIP的融合也在研究中。
  • 以后的SIP扩展将支持3GPP中更复杂的鉴权和漫游机制


 
开始学习Linux编程,给大家推荐一个好的地方:【上一篇】
安装openSUSE10.2和添加nvidia-driver+compiz+xgl:【下一篇】
【相关文章】
  • SIPANA 一个分布式的SIP Analyzer(分析)开源的SIP协议分析工具
  • Partysip的插件技术研究
  • 自动设置WindowsIP的程序SetupIP
  • SIP协议与多媒体会议系统
  • SIP
  • SER SIP server 快速安裝
  • SER SIP server 進階設定1 -- mysql
  • SER SIP server 進階設定2 -- serctl
  • 会话初始化协议(SIP)简介
  • SIP协议固有的安全漏洞
  • 【随机文章】
  • Oracle培训教材
  • 使用java.util.Timer
  • 如何辨识好女
  • ICQ Lite 5.02.2309 隆重推出
  • 《tcp/ip 最佳入门》与Kerberos笔记
  • 利用SCO OPENSERVER 5.0.5建立自己的电子邮件系统
  • danameic
  • 重返深究Java集合框架
  • Win2000 IIS5.0之WWW设置
  • JAVA面试100题[转载]
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.