最近学习VoLTE(Voice Vver LTE)相关知识,而学习VoLTE必须要学相关的协议,最基础的就是RFC3261,RFC3261的全称是:SIP: Session Initiation Protocol,英文翻译就是会话初始协议。

  SIP协议并不提供通话的数据传输的具体工作,主要是用在数据传输之前的会话建立阶段,例如我们进行手机通话时,首先我们的手机得先注册到手机附近运营商的基站上,然后得拨下对方的电话号码,然后通过手机基带芯片将信息传输出去,然后到运营商的基站去查询对方的地址,然后与对方建立连接,当拨号信息从UEA到达UEB对端准备好了接听电话,注意此时UEB端手机开始响铃,但还没有接听,UEA端开始听的铃声,如果开通了彩信也就是如果具有回铃音我们此时在UEA端能够听到歌曲。

  在前面的描述中我们看到了:

  1、一个信息的流动即从UEA到UEB,其实整个过程还有从UEB到UEA的流动,类似于TCP的握手,SIP协议也有一个发起和应答的机制,即UEA发起一个动作UEB会产生一个应答。

  2、在开始拨打电话到对方接听电话,这段时间或者说通话这个动作需要一个协调双方的协议,这个协议就是SIP协议,所以说SIP协议主要是对会话建立进行协商和规范。但是很多初学者容易搞混淆的地方是,必须要明白SIP协议它不负责后面的语音数据如何传输,双方的编解码如何协调,它只是负责会话的发起,会话的结束,会话单播到多播或者会议电话的建立。

  3、要完成一次VoLTE通话,仅仅有SIP协议是不够的。就如第二点所讲,数据的传输需要有一个实时的数据传输协议、编解码的协调需要一个协议,所以SIP协议通常会与RTCP和SDP协议共同工作完成一次数据的传输。

  前面在讲SIP协议,突然又说到VoLTE这个可能会让很多人搞不清楚,SIP是什么,VoLTE又是什么,其实要了解这些概念,需要去了解我们的移动通信的发展从2G-4G,马上又要进入5G时代,这些不断进步的技术带来了很多新的概念,当然我得澄清一下SIP是先于VoLTE产生。我们通常讲2-3G是CS call,通话数据的传输和网络数据的传输是分成两个通道的,即通话数据走CS(电路交换)通道,网络数据走PS(分组交换)通道。但是在4G时代没有CS、PS通道的区分了,所有的数据都走PS通道,意思就是我们通话时的数据也和浏览网页产生的数据一样都是通过分组交换实现,这些数据最终都会通过TCP/IP协议借助LTE 4G网络进行传输,这个就是目前VoLTE的一个简单的技术路线,当然要弄清楚这个还需要看很多的协议,最主要的就是IR.92,这个是VoLTE和IMS的提纲挈领的协议,整个IR.92文档内容不多但是是一个总体介绍。

  前面作为了将SIP的一个铺垫,当然要想了解VoLTE可以看这个网页链接,它讲的很详细:http://www.360doc.cn/article/2909773_637471256.html。下面开始介绍SIP协议:

  如下图所示我们将通话双方分为UEA(Alice)、UEB(Bob),图为前面讲的通话接通这个过程SIP协议流程,图为从SIP 3261所截。我们将一个SIP协议讲成SIP Message,如图中Alice发出INVITE请求即发起通话的请求,这个INVITE动作就是一个SIP message,每一个SIP message由一下几部分组成:

  generic-message = start-line

  *message-header
  [ message-body ]
  start-line = Request-Line / Status-Line

  主要由Request-Line由method和状态码(1xx、2xx、3xx、4xx、5xx)组成,method方法在RFC3261中有:INVITE、ACK、BYE、REGISTER、CANCEL、BYE。

  

SPEC-RFC3261总述的更多相关文章

  1. Java的多线程机制系列:(一)总述及基础概念

    前言 这一系列多线程的文章,一方面是个人对Java现有的多线程机制的学习和记录,另一方面是希望能给不熟悉Java多线程机制.或有一定基础但理解还不够深的读者一个比较全面的介绍,旨在使读者对Java的多 ...

  2. 三国杀3v3心法——总述篇

    昔日,独孤求败前辈精研剑法,将其中奥妙化为独孤九剑,破尽天下武功.其中开篇总诀式提纲挈领,从宏观的层面阐述剑道,是领悟后面八式的基石,而之后各式则深入微观,可各破一类具体的武功.笔者亦曾苦心研究三国杀 ...

  3. Web应用程序系统的多用户权限控制设计及实现-总述【1】

    中大型的Web系统开发均需要权限的配置,基于多角色,多用户的操作权限管理是一个系统开发的基础.搭建好一套权限,用户,角色,页面一体的开发架构,可以用于后期业务的开发,同时也可用于不同业务的系统开发. ...

  4. Linux makefile教程之总述二[转]

    Makefile 总述——————— 一.Makefile里有什么? Makefile里主要包含了五个东西:显式规则.隐晦规则.变量定义.文件指示和注释. 1.显式规则.显式规则说明了,如何生成一个或 ...

  5. Solr4.8.0源码分析(5)之查询流程分析总述

    Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...

  6. 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序

    很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...

  7. STL特性总述——写在前面

    所谓的容器,见名知意,容纳其他数据的"器具": 特点 1)支持泛型: 2)保存副本:本质上传入对象的拷贝. 3)内存托管 :构建对象于堆,无需人工干预,自动管理内存的生存周期. S ...

  8. [转] Makefile 基础 (2) —— Makefile 总述

    该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...

  9. 基于ASP.Net Core开发一套通用后台框架记录-(总述)

    写在前面 本系列博客是本人在学习的过程中搭建学习的记录,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 前期我不会公开源码,我想是一点点敲代码,不然复制.粘贴那就没意思了. ...

  10. 自顶向下深入分析Netty(七)--ChannelPipeline和ChannelHandler总述

    自顶向下深入分析Netty(七)--ChannelPipeline和ChannelHandler总述 自顶向下深入分析Netty(七)--ChannelPipeline源码实现 自顶向下深入分析Net ...

随机推荐

  1. DNS欺骗&嗅探监听

    承接上一章,除了arp欺骗之外对的欺骗方法 a)使用kali,对dns文件进行编辑 使用的欺骗工具是ettercap.对dns文件编辑: 添加一个A记录,解释到kali自身: b)进行欺骗 通过命令行 ...

  2. 网际互连__OSI七层模型

    概述 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义.一个规范.它把网络从逻辑上分为了7层.每一层都有相关. ...

  3. Java反射开窍--1

    1.通过案例引出反射并体会反射的好处 案例:美团外卖 --->付款 --->要么用微信支付 要么用支付宝支付 package com.zhaoss.test01; //接口的制定方:美团外 ...

  4. python内置常量是什么?

    摘要:学习Python的过程中,我们会从变量常量开始学习,那么python内置的常量你知道吗? 一个新产品,想熟悉它,最好的办法就是查看说明书! 没错,Python也给我们准备了这样的说明书--Pyt ...

  5. BSGS及其扩展

    目录 定义 原理 朴素算法 数论分块 例题 Luogu2485 [SDOI2011]计算器 题解 代码 扩展 例题 Luogu4195 [模板]exBSGS/Spoj3105 Mod 代码 之前写了一 ...

  6. P2805 [NOI2009]植物大战僵尸 (拓扑排序 + 最小割)

    题意:N*M的矩阵 每个点上都有一颗植物 僵尸只能从每一行的最右边向左进攻 每个植物有攻击范围 可以保护在攻击范围内的植物 同时每一颗植物也保护他左边的植物 摧毁每个植物能获得价值 如果这个植物被保护 ...

  7. ZeptoLab Code Rush 2015 B. Om Nom and Dark Park

    Om Nom is the main character of a game "Cut the Rope". He is a bright little monster who l ...

  8. hdu517 Triple

    Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submissio ...

  9. hdu5501 The Highest Mark

    Problem Description The SDOI in 2045 is far from what it was been 30 years ago. Each competition has ...

  10. Codeforces Round #481 (Div. 3) D. Almost Arithmetic Progression (暴力)

    题意:有一个长度为\(n\)的序列,可以对所有元素++或--,求最少的操作次数,如果无论如何都不能构成,则输出\(-1\). 题解:一个等差数列一定由首项\(a_{1}\)和公差\(d\)来决定,而这 ...