• SIP学习笔记 -- RFC 3261


    1.SDP (rfc 4566)
       1)用于交换参数
       2)内容分三部分Session description, Time description and Media description (m-line)
       3)SDP用于描述会话的媒体属性,通常放在SIP协议的消息体中携带,基于文本的编码方式
    format:
             Session description
             v=  (protocol version)
             o=  (originator and session identifier)
             s=  (session name)
             i=* (session information)
             u=* (URI of description)
             e=* (email address)
             p=* (phone number)
             c=* (connection information -- not required if included in
                  all media)
             b=* (zero or more bandwidth information lines)
             One or more time descriptions ("t=" and "r=" lines; see below)
             z=* (time zone adjustments)
             k=* (encryption key)
             a=* (zero or more session attribute lines)
             Zero or more media descriptions
     
          Time description
             t=  (time the session is active)
             r=* (zero or more repeat times)
     
          Media description, if present
             m=  (media name and transport address)
             i=* (media title)
             c=* (connection information -- optional if included at
                  session level)
             b=* (zero or more bandwidth information lines)
             k=* (encryption key)
             a=* (zero or more media attribute lines)
      
     
    2. SIP
    1) request/respones的应用层文本协议
    SIP和XMPP都是应用层的协议,主要用来在互联网上发送语音和即时通信IM。
    RFC3261定义了SIP,RFC3920定义了XMPP。XMPP来自即时通信系统,而SIP类似语音和视频通信。
    XMPP增加了Jingle扩展协议来支持面向连接的业务,如语音和视频;而SIP增加了SIMPLE协议来支持即时通信业务。
    SIP协议是一个Client/Sever协议,因此SIP消息分两种:请求消息和响应消息。
    请求消息是SIP客户端为了激活特定操作而发给服务器端的消息。
     
     
    2). Request:
    常用的SIP请求消息如下:
    INVITE:表示主叫用户发起会话请求,邀请其他用户加入一个会话。也可以用在呼叫建立后用于更新会话(此时该INVITE又称为Re-invite)。
    ACK:客户端向服务器端证实它已经收到了对INVITE请求的最终响应。
    BYE:表示终止一个已经建立的呼叫。
    CANCEL:表示在收到对请求的最终响应之前取消该请求,对于已完成的请求则无影响。
    REGISTER:表示客户端向SIP服务器端注册列在To字段中的地址信息。
    OPTIONS:表示查询被叫的相关信息和功能。 
    ----------------------------------------------------------------------------
     
    Example:
    INVITE sip:bob@biloxi.com SIP/2.0
    Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
    Max-Forwards: 70
    To: Bob <sip:bob@biloxi.com>
    From: Alice <sip:alice@atlanta.com>;tag=1928301774
    Call-ID: a84b4c76e66710@pc33.atlanta.com
    CSeq: 314159 INVITE
    Contact: <sip:alice@pc33.atlanta.com>
    Content-Type: application/sdp
    Content-Length: 142
    ----------------------------------------------------------------------------
     
     
    3). Respones:
    100试呼叫(Trying)
    180振铃(Ringing)
    181呼叫正在前转(Call is Being Forwarded)
    200成功响应(OK)
    302临时迁移(Moved Temporarily)
    400错误请求(Bad Request)
    401未授权(Unauthorized)
    403禁止(Forbidden)
    404用户不存在(Not Found)
    408请求超时(Request Timeout)
    480暂时无人接听(Temporarily Unavailable)
    486线路忙(Busy Here)
    504服务器超时(Server Time-out)
    600全忙(Busy Everywhere)
     
    ----------------------------------------------------------------------------
    Example:
     
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP server10.biloxi.com
    ;branch=z9hG4bKnashds8;received=192.0.2.3
    Via: SIP/2.0/UDP bigbox3.site3.atlanta.com
    ;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
    Via: SIP/2.0/UDP pc33.atlanta.com
    ;branch=z9hG4bK776asdhds ;received=192.0.2.1
    To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
    From: Alice <sip:alice@atlanta.com>;tag=1928301774
    Call-ID: a84b4c76e66710@pc33.atlanta.com
     
    CSeq: 314159 INVITE
    Contact: <sip:bob@192.0.2.4>
    Content-Type: application/sdp
    Content-Length: 131
    ----------------------------------------------------------------------------
  • 相关阅读:
    C#泛型学习
    C#事件复习
    C#学习笔记之接口
    C#委托复习
    C#图解教程学习笔记(二)
    C#图解教程学习笔记
    Linq学习2
    Linq学习
    转载 协变与逆变的概念
    SqlServer在关联的情况下的增删改查
  • 原文地址:https://www.cnblogs.com/awiki/p/4340926.html
Copyright © 2020-2023  润新知