SPEC-RFC3261总述
最近学习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总述的更多相关文章
- Java的多线程机制系列:(一)总述及基础概念
前言 这一系列多线程的文章,一方面是个人对Java现有的多线程机制的学习和记录,另一方面是希望能给不熟悉Java多线程机制.或有一定基础但理解还不够深的读者一个比较全面的介绍,旨在使读者对Java的多 ...
- 三国杀3v3心法——总述篇
昔日,独孤求败前辈精研剑法,将其中奥妙化为独孤九剑,破尽天下武功.其中开篇总诀式提纲挈领,从宏观的层面阐述剑道,是领悟后面八式的基石,而之后各式则深入微观,可各破一类具体的武功.笔者亦曾苦心研究三国杀 ...
- Web应用程序系统的多用户权限控制设计及实现-总述【1】
中大型的Web系统开发均需要权限的配置,基于多角色,多用户的操作权限管理是一个系统开发的基础.搭建好一套权限,用户,角色,页面一体的开发架构,可以用于后期业务的开发,同时也可用于不同业务的系统开发. ...
- Linux makefile教程之总述二[转]
Makefile 总述——————— 一.Makefile里有什么? Makefile里主要包含了五个东西:显式规则.隐晦规则.变量定义.文件指示和注释. 1.显式规则.显式规则说明了,如何生成一个或 ...
- Solr4.8.0源码分析(5)之查询流程分析总述
Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...
- STL特性总述——写在前面
所谓的容器,见名知意,容纳其他数据的"器具": 特点 1)支持泛型: 2)保存副本:本质上传入对象的拷贝. 3)内存托管 :构建对象于堆,无需人工干预,自动管理内存的生存周期. S ...
- [转] Makefile 基础 (2) —— Makefile 总述
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...
- 基于ASP.Net Core开发一套通用后台框架记录-(总述)
写在前面 本系列博客是本人在学习的过程中搭建学习的记录,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 前期我不会公开源码,我想是一点点敲代码,不然复制.粘贴那就没意思了. ...
- 自顶向下深入分析Netty(七)--ChannelPipeline和ChannelHandler总述
自顶向下深入分析Netty(七)--ChannelPipeline和ChannelHandler总述 自顶向下深入分析Netty(七)--ChannelPipeline源码实现 自顶向下深入分析Net ...
随机推荐
- csv的读写操作
cvs简介: CSV 全称 Comma-Separated Values,中文叫逗号分隔值或字符分隔值,它以纯文本形式存储表格数据(数字和文本),其本质就是一个字符序列,可以由任意数目的记录组成,记录 ...
- Lambda表达式及相关练习
语法格式一无参数无返回值 语法格式二有一个参数并且无返回值 语法格式三若只有一个参数小括号可以省略不写 语法格式四有两个以上的参数有返回值并且Lambda体中有多条语句 语法格式五若Lambda体中只 ...
- docker(4)解决pull镜像速度缓慢
前言 上一篇讲到pull 镜像,但是pull镜像的时候下拉的速度实在感人,有什么解决办法吗?我们只需将docker镜像源修改为国内的 将docker镜像源修改为国内的: 在 /etc/docker/d ...
- BZOJ-1086 [SCOI2005]王室联邦 (树分块)
递归处理子树,把当前结点当作栈底,然后递归,回溯回来之后如果栈中结点数量到达某一个标准时,弹出栈中所有的元素分到一个块中,最后递归结束了如果栈中还有元素,那么剩下的这些元素放在新的块中 题目:BZOJ ...
- 2015 Multi-University Training Contest 1(7/12)
2015 Multi-University Training Contest 1 A.OO's Sequence 计算每个数的贡献 找出第\(i\)个数左边最靠右的因子位置\(lp\)和右边最靠左的因 ...
- Redundant Paths POJ - 3177 把原图变成边—双连通图
无向图概念:(这里的x->y表示x和y之间有一条无向边)1.桥:对于一个无向图,如果删除某条边后,该图的连通分量增加,则称这条边为桥 比如1->2->3->4这样一个简单得图一 ...
- servlet接口实现类HttpServlet以及开发中一些细节
1. 但是eclipse不会帮我们改web.xml配置文件,所以我们也要在web.xml文件里面手动改 2. 这个样子的话你在用浏览器访问的时候链接的映射就改成了t_day05,这个主要用于你建立完一 ...
- AtCoder Beginner Contest 177 E - Coprime (数学)
题意:给你\(n\)个数,首先判断它们是否全都__两两互质__.然后再判断它们是否全都互质. 题解:判断所有数互质很简单,直接枚举跑个gcd就行,关键是第一个条件我们要怎么去判断,其实我们可以对所有数 ...
- Chapter Zero 0.2.2 内存
目录 内存 内存的多通道设计 DRAM 和 SRAM 只读存储器(ROM) RAM.ROM以及硬盘的区别(转自百度) 内存 CPU的数据都是来自主存储器(main memory),个人计算机的主寄存器 ...
- Leetcode(104)-二叉树的最大深度
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例:给定二叉树 [3,9,20,null,null,15,7], ...