zoukankan      html  css  js  c++  java
  • SIP协议栈基础笔记

    //------------------SIP基础------------------------//

    SIP是基于UDP的协议

    UA(user Agent)用户代理

    UAC(client)发起SIP请求一方

    UAS(server)接收请求并发送响应的一方

    //SIP协议6中基本方法

    REGISTER   注册联系信息

    INVITE    初始化一个会话,可以理解为发起一个呼叫

    ACK     对INVITE消息的最终响应

    CANCEL    取消一个等待处理或正在处理的请求

    BYE     终止一个会话

    OPTIONS    查询服务器和能力,也可以用作ping测试

    //扩展

    SUBSCRIBE NOTIFY MESSAGE REFER INFO

    //SIP必须包含的头域

    Call-ID    用于区分不同会话的唯一标志

    CSeq    顺序号,用于在同一会话中区分事务

    From    说明请求来源

    To     说明请求接收方

    Max-Forwards  限制跳跃点数和最大转发次数

    Via     描述请求消息经过的路径

    //扩展的头域

    Contact    Alice(某人)的联系地址

    Expires    本次注册的有效期

    Allow    Alice(某人)的UA所能支持的功能

    User-Agent   UA的型号

    Content-Length  消息正文的长度

    //注册流程  

      Alice           Freeswitch    

        REGISTER(1)  

      ---------------------------->   

        SIP/2.0 401 unauthorized(未认证(http摘要认证))  

      <----------------------------    

        REGISTER(2)  

      ---------------------------->   

        SIP/2.0 200ok  

      <----------------------------

    //呼叫流程  

      Bob            Alice   

      INVITE alice@example.com  

      ---------------------------->    

        100Trying  

      <----------------------------  //收到请求,等待响铃    

        180Ringing  

      <----------------------------  //响铃后回180,Bob收到180后提示对方正在响铃    

        200OK  

      <----------------------------  //Alice接听后,回200OK    

        ACK   

      ---------------------------->  //收到200OK回复ACK证实    

        RTP

      --------------------------------------- //语音通话走的是SIP之外的RTP    

        BYE  

      <----------------------------  //Alice挂断    

        200OK 

       ---------------------------->  //收到BYE后回200OK  

    响应消息=状态码和原因短语(如Trying、Ringing)

    1XX:为临时状态,表明呼叫的进展情况;

    2XX:请求被成功收到;

    3XX:重定向,SIP请求转到另一个UAS处理;

    4XX:请求失败,一般由客户端或网络引起,如密码错误、空号

    5XX:服务器内部错误,服务器出错不能响应错误的请求;

    6XX:全局性错误,600 Busy Everywhere;  

  • 相关阅读:
    MVC4中常用的短句及配置归结(部分)
    结合EF5.0讲MVC4(四)将我们的程序改成数据库优先模式
    结合EF5.0讲MVC4(二)为先前程序添加查询及主外键关系
    【译】《Pro ASP.NET MVC4 4th Edition》第二章(一)
    XtraReport应用(1)(XtraReport From File)
    结合EF5.0讲MVC4(一)创建一个MVC4应用程序
    Scrum实际应用(一)
    结合EF5.0讲MVC4(三)为我们的程序添加过滤器
    C# LINQ详解(一)
    如何在 Windows Server 2008 上打开 SQL Server 防火墙端口
  • 原文地址:https://www.cnblogs.com/baiduboy/p/6098261.html
Copyright © 2011-2022 走看看