VoIP 的全称是 Voice over Internet Protocol。简单说,就是用过 IP 网络进行即时的语音/视频通信。注意,这里只强调了在传输过程中有使用 IP 网络,并没有说只通过 IP 网络。看下面一张图:

图来自知乎用户:幸运星,原文链接传送门

上图基本反映了国内 VOIP 的现状。这里有一个区分,就是传输音/视频消息仅通过 IP 网络,还是同时依靠 IP 网络和电信网络。而这个区分,就牵扯到是否需要运营商牌照的问题,此处就不展开了。

仅通过 IP 网络的 VOIP,在国内比较常见。比如我们用的微信、QQ的音频通话功能。它们的特征是,不管通信双方使用的终端是什么,其上一定会安装有相同的应用软件。表面上看,呼叫双方通过使用同一款软件进行通信。

而另一种情况,则应用得就不那么广泛了。除了企业飞信、易信,还有 skype、eSpace(一款华为内部使用的即时通信软件)等等。它们的特征是,呼叫方可以通过这款软件以拨打对方手机号的形式直接呼叫对方,而被叫一方的手机上不需要安装这个应用。沃天,那我以后给别人打电话完全可以通过这种形式了,岂不省了好多话费?不要高兴的太早,这种要么收费(花钱购买通话时长),要么登录软件有限制(需要企业内部账号)。不过还是可以研究下,跟手机套餐做下对比,看哪种省钱。

补充说明:以上提到的 IP 网络可简单理解为宽带(ADSL、光纤)、WiFi、4G 网络,电信网络可简单的理解为电话网、2G 网络、3G 网络。

  1. 扩展知识:
  2. 1. 我用 4G 手机、4G 套餐,打电话的时候,消息走的哪个网络?
  3. 从你的手机到附近的基站这段距离,话音消息通过 2G/3G 网络承载。
  4. 2. 我用 4G 手机、4G 套餐,上网(浏览网页、玩游戏、微信视频)的时候,消息走的哪个网络?
  5. 在你的手机未连接有效 WiFi 的情况下,从手机到附近的基站这段距离,消息走的是 4G 网络,会消耗你手机套餐中的流量。

极简科普 1:什么是 VOIP的更多相关文章

  1. Nginx 极简教程(快速入门)

    作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4.  ...

  2. nginx极简教程

    Nginx 极简教程 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. examples 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快 ...

  3. CSharpGL(28)得到高精度可定制字形贴图的极简方法

    CSharpGL(28)得到高精度可定制字形贴图的极简方法 回顾 以前我用SharpFont实现了解析TTF文件从而获取字形贴图的功能,并最终实现了用OpenGL渲染文字. 使用SharpFont,美 ...

  4. Vim,极简使用教程,让你瞬间脱离键鼠切换的痛苦

    注:看大家对Vim仇恨极大,其实它只是一种文本操作方式,可以减少键鼠的切换,从而让编辑文本的操作更迅捷.并不等同于IDE,在我看来,它们是两个是包含关系,IDE可以有Vim编辑模式.Vim或许可以通过 ...

  5. CentOS下使用Postfix + Dovecot + Dnsmasq搭建极简局域网邮件系统

    背景 开发环境为局域网,工作内容需要经常查看邮件文件(*.eml),可恶的Foxmail必须验证账户才能进入主界面,才能打开eml文件查看. 无奈搭一个局域网内的邮件系统吧.极简搭建,仅用于通过Fox ...

  6. 在Web应用中接入微信支付的流程之极简清晰版

    在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...

  7. Snabbt.js – 极简的 JavaScript 动画库

    Snabbt.js 是一个简约的 JavaScript 动画库.它会平移,旋转,缩放,倾斜和调整你的元素.通过矩阵乘法运算,变换等可以任何你想要的方式进行组合.最终的结果通过 CSS3 变换矩阵设置. ...

  8. 在Web应用中接入微信支付的流程之极简清晰版 (转)

    在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...

  9. 基于 Node.js 平台,快速、开放、极简的 web 开发框架。

    资料地址:http://www.expressjs.com.cn/ Express 基于 Node.js 平台,快速.开放.极简的 web 开发框架. $ npm install express -- ...

随机推荐

  1. 基于jeesite的cms系统(一):开发环境搭建

    基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...

  2. 题解 P1496 【火烧赤壁】

    蒟蒻的第一篇题解,其实这道题是标准的离散化,模拟可以过,但是就没有训练效果了.我们首先先看数据,n<=20000,数据不多,但是范围大(-10^9<=Ai,Bi<=10^9),这时, ...

  3. C#调用Bartender打印

    BarTender是一款优秀的条形码打印软件,可以支持很多种类型的条形码设计和打印,具体大家可参考他的官网(http://www.seagullscientific.com/aspx/products ...

  4. linux oops调试

    参考文章: arm 指令定位错误 https://blog.csdn.net/songcdut/article/details/41383483 linux mips指令学习 https://www. ...

  5. python matplotlib 简单生成图

    import numpy as np import pandas as pd from matplotlib import pyplot as plt data = pd.DataFrame([[1, ...

  6. centos6.8编译安装mysql

    1.安装编译代码需要的包 yum -y install make gcc-c++ cmake bison-devel ncurses-devel 2.创建mysql用户(但是不能使用mysql账号登陆 ...

  7. codeforces 813E 主席树

    题意: 一个数列多组询问,每次询问[l,r]中最多能选多少个数字,其中每个数字的出现次数不超过k次 题解: 我们保存对于每个位置上,出现超过k次的位置,那么对于每次询问,我们就变成了查询区间[l,r] ...

  8. c++入门篇七

    拷贝构造函数的调用时机: class Person { public: //构造函数 Person() { //无参构造函数 } Person(int a) { //有参构造函数 cout <& ...

  9. php cookie的问题

  10. java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象

    1. java.util.Arrays  数组工具类    Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...