跳到正文

工作原理

浏览器打电话的原理:从标签页里的WebRTC到对方响铃的电话

在 Google 上将 callfrombrowser.org 设为首选来源

要点速览

浏览器通话基于WebRTC,这是一套内置于所有主流浏览器的开放标准[1]:你允许使用麦克风后[2],网页会压缩你的声音,加密后发送给通话服务[3]。同一应用的两个用户之间,通话始终在互联网上进行,这就是WhatsApp网页版通话能够免费的原因[4]。要打座机或手机,服务商的网关会把通话转换成普通电话[5],而号码所属的网络会按分钟收取送达费用[6]:你付的钱,就是为了这最后一段。

关键事实

WebRTC是什么?

WebRTC(Web实时通信)是浏览器里的通话引擎:它由一个JavaScript API和一组通信协议组成,让网页无需插件或单独的应用就能传送实时音频和视频[7]。W3C和IETF于2021年1月26日将其定为正式标准[7],所有主流浏览器都内置了它[1]。

开源的WebRTC项目由Apple、Google、微软和Mozilla支持[1],也就是Safari、Chrome、Edge和Firefox背后的公司,所以同一个拨号网页能在这四种浏览器里使用。浏览器以免版税方式内置它[7],因此这项技术本身对你和通话服务商都不收许可费。

我查阅了浏览器通话背后的标准,想弄清楚拨打电话号码时哪些部分起作用。一共五个:

电话通话用到的WebRTC组成部分
组成部分作用你会注意到什么
麦克风访问(getUserMedia)把你的麦克风交给网页,仅限HTTPS网页,且必须经你允许[2]权限提示框;Chrome让你选择在访问期间允许、仅限这一次或永不允许[11]
编解码器(Opus和G.711)压缩你的声音;每个浏览器都必须同时支持这两种[8]通常毫无感觉:Opus的码率从窄带语音的6 kbit/s到510 kbit/s不等[12]
加密(DTLS-SRTP)对每个WebRTC连接上的音频加密:每条媒体通道都必须提供DTLS-SRTP,不允许未加密的音频[3]不需要你打开,也没办法关闭
连接建立(ICE、STUN、TURN)穿过路由器和防火墙寻找路径,直连被阻断时通过服务器中转音频[13]通常毫无感觉;在阻断直连的网络上,音频会走中转
按键音(telephone-event)把数字0到9、*和#作为独立事件发送,每个终端都必须能处理[8]提示“请按1”的电话语音菜单会响应网页上的拨号盘

资料来自IETF和W3C标准以及MDN,查阅于。

能拨打电话号码的浏览器拨号服务都在自己的文档里点名了WebRTC:PopTox[14]、Globfone[15]、TwinPhone[16]、Call2Friends[17]和Zadarma的网页电话[18]都说自己基于WebRTC。

浏览器通话是怎样打到座机或手机上的?

通过网关。网页采集你的声音,WebRTC把它加密传给通话服务,服务商的网关再把它转换成普通电话,由运营商送达你拨的号码。用美国联邦通信委员会(FCC)的话说,打给普通号码的通话在到达目的地之前,会被转换成普通的电话信号[5]。

浏览器通话如何接通到电话你的浏览器通过 WebRTC 把语音发送到服务商,网关把它转换成普通电话呼叫,再由电话网络拨通你输入的号码。加密语音SIPPSTN振铃你的浏览器服务商(WebRTC)SIP 网关电话网络对方的电话浏览器通话如何接通到电话你的浏览器通过 WebRTC 把语音发送到服务商,网关把它转换成普通电话呼叫,再由电话网络拨通你输入的号码。加密语音SIPPSTN振铃你的浏览器服务商(WebRTC)SIP 网关电话网络对方的电话
打到电话的五个环节:你的标签页、WebRTC、服务商的网关、电话网络和对方的手机。

从按下“拨打”到听见振铃,中间一步步发生了什么:

  1. 拨号网页通过HTTPS加载。在未加密的网页上,浏览器根本不会提供麦克风[2]。
  2. 你允许使用麦克风。Chrome按网站逐个询问,被你拦截的网站无法进行通话[11]。
  3. 网页发出呼叫信令。它把你输入的号码发给服务商。WebRTC把这一步留给各个服务自行处理[19];一种标准做法是通过WebSocket承载SIP[20]。
  4. 你的声音传到服务商。浏览器对声音进行压缩,首选编解码器是Opus[8],并用SRTP加密[3]。如果路由器阻断了直连路径,就由中转服务器转发音频[13]。
  5. 网关进入电话网络。服务商把音频流转换成普通电话信号[5],必要时使用G.711,也就是WebRTC与传统电话系统共用的编解码器[8],然后把通话交给电话运营商。
  6. 号码所属的网络让电话响铃。它向主叫一方收取送达(即“终接”)通话的费用[6],而接电话的人只需要一部普通电话[5]。

如果通话接通的是电话语音菜单,你的按键也能传过去,因为每个WebRTC终端都必须能把按键数字作为独立的按键音事件发送[8]。网关之后的那半程,也就是从运营商到对方手机的部分,请看PSTN是什么、它如何路由通话。

WebRTC和SIP有什么区别?

WebRTC负责传送音频,SIP负责建立通话。WebRTC有意把通话建立(即信令)留给各个服务自行处理[19]。SIP即会话发起协议,是IETF的信令标准,用于建立、修改和结束互联网电话之类的会话[21]。浏览器电话可以两者并用:标签页里用WebRTC,朝电话网络那一侧用SIP。

WebRTC与SIP对比
问题WebRTCSIP
它做什么?采集并发送音频,寻找网络路径[13]建立、修改和结束通话[21]
在哪里运行?在浏览器里,无需安装任何东西[22]在软电话应用、服务商和办公电话系统(PBX)上[23];在网页里则通过WebSocket运行[20]
音频加密吗?总是加密:媒体必须使用SRTP[3]可选:例如Zadarma的设置指南把SRTP列为需要手动开启的选项[24]
用什么登录?网站自己的账号SIP账号,通用应用可以接入任何SIP服务商的账号[23]

资料来自RFC 3261、RFC 7118、RFC 8827、MDN和服务商文档,查阅于。

我读过的面向个人用户的网页拨号服务,没有一家说明它的拨号盘用的是哪种信令,所以我无法告诉你其中哪些基于SIP。企业平台则公开得多:Google Voice的SIP Link可以把企业现有的运营商合约和设备接入Google Voice[25],Zadarma既提供WebRTC网页电话[18],也提供通过SIP连接办公电话系统的指南[24]。

软电话是浏览器电话的“安装版表亲”:它用SIP账号登录,而不是网站账号。软电话与浏览器电话对比讲了哪种适合哪类人。

为什么应用之间通话免费,打电话号码却要花钱?

因为只有打电话号码才会用到另一家公司的网络。WhatsApp网页版通话在两个互联网用户之间进行,所以你不花钱[4]。打座机或手机的通话必须交给拥有该号码的运营商,而运营商之间会按分钟收取在各自网络上送达(即“终接”)通话的费用[6]。

FCC也做了同样的区分:一类VoIP服务只能联系同一服务内的人,另一类能打给任何有电话号码的人[5]。免费的应用间通话属于前者;网页拨号服务属于后者,每接通一分钟都要向电话网络付费。

终接费取决于你打到哪个网络。在欧盟,打手机每分钟上限为US$0.002,打座机为US$0.001[6][6],但这些上限不适用于来自欧盟以外号码的通话[6]。零售资费表也体现了同样的差别:Yolla打英国座机每分钟US$0.06,打英国手机US$0.10[9];Quo则说它的费率在同一国家内也因运营商而异[26]。

在此之上,还要叠加各个服务自己的商业模式。从美国拨打,Google Voice打美国和加拿大号码几乎全部免费[27],但个人账号只在美国提供[28]。TwinPhone没有免费方案[29],第一次通话前至少要充值US$10[30],打英国手机每分钟US$0.12[10],比Yolla贵。

以下是五个服务在覆盖范围、免费使用、接听来电和加密方面的情况,依据公布的信息:

对比
服务能否拨打电话号码免费方案来电与来电显示隐私
WhatsApp仅限 WhatsApp 联系人和通过链接加入的访客[31]有,无时长限制[4]WhatsApp 用户的来电在标签页中响铃[31]端到端加密[32]
TwinPhone固话和手机,145多个国家[16]没有:只能付费充值,无试用[29]需租用美国/加拿大号码,US$0.02/分钟[33]传输中加密,非端到端[34]
Google Voice美国、加拿大及国际号码[27]有,个人方案,从美国拨打[35]有:你的免费号码会在标签页中响铃[36]未声称端到端加密;Google 会存储通话数据[37]
Yolla全球手机和固话[38]没有;Yolla 用户之间的免费通话仅限应用内[38]不支持:只能呼出[38]连接加密;未声称端到端加密[38]
PopTox手机和固话;自称覆盖246个国家[39]有:同一号码每天最多5次[40]未发现;共用来电显示号码218-414-1141[41]网站与2016年条款对加密的说法矛盾[42]

在手机上,左右滑动表格即可查看所有列。

免费选项及其附加条件见应用之间的免费浏览器通话,各目的地的每分钟价格见各国资费,我评过分的所有服务见浏览器通话服务完整对比。

VoIP是什么、怎么工作?浏览器通话算VoIP吗?

算,浏览器通话就是把浏览器当电话用的VoIP。VoIP把你的声音变成数字信号,经互联网传输;打给普通号码的通话在到达之前会被转换成普通电话信号[5]。各种VoIP产品的主要区别在于设备:电脑、VoIP座机,或者接了适配器的普通电话[5],如今又多了浏览器标签页。

拨打网络电话的几种方式,以及浏览器处在什么位置
通话方式需要安装什么用什么登录能打电话号码吗?
网页拨号服务(Yolla Web、TwinPhone、PopTox)什么都不用装:网页使用浏览器的WebRTC[16]网站账号;PopTox的免费通话无需账号[43]能,通过服务商的网关[34]
标签页里的即时通讯(WhatsApp网页版、Google Meet)什么都不用装[4]你的即时通讯账号或Google账号WhatsApp:只能打给WhatsApp联系人和通话链接访客[31][44];Meet:仅限Workspace会议[45]
软电话应用(MicroSIP)电脑上的一个应用任何服务商的SIP账号[23]如果SIP服务商出售拨打号码的通话,就能
VoIP座机或适配器接在宽带线路上的设备[5]服务商账号取决于套餐[5]
运营商Wi-Fi通话不用装;它是你手机号套餐的一部分[46]你的SIM卡和运营商套餐能:你的普通通话改走Wi-Fi而不是蜂窝网络[47]

资料来自FCC、运营商和服务商页面,查阅于。

有两种看起来相似的功能根本不是浏览器通话。运营商Wi-Fi通话是手机套餐的一项功能,只有你的运营商提供时才能用[46];微软的Phone Link则是通过你自己已关联的手机打电话,两台设备都要开蓝牙[48]。Wi-Fi通话与浏览器通话对比解释了各自适合什么场景。

VoIP总体上有一些已知弱点:有些服务在停电时无法使用[5],也不是所有服务都能直接接通911[5]。家用VoIP与座机对比针对家庭电话线权衡了这些利弊。

通话离开互联网时会发生什么变化?

加密、来电显示和能拨打的号码,都会在网关处发生变化。WebRTC对从你的浏览器到服务商这一段音频加密[3],但过了网关就以普通电话的形式传输,所以打电话号码的通话从来不是端到端加密的。应用之间的通话从不经过网关,这正是WhatsApp能对其进行端到端加密的原因[32]。

应用之间通话与拨打电话号码的对比
问题应用之间通话(WhatsApp网页版、Meet)拨打电话号码(网页拨号服务)
能打给谁?同一应用的用户,或打开通话链接的访客[44]服务商接通的国家里的座机和手机[5]
花多少钱?WhatsApp网页版免费[4]按分钟计费,例如TwinPhone打美国每分钟US$0.02[10]
端到端加密吗?WhatsApp是[32];Meet个人账号之间的通话需手动开启[49]不是:加密到服务商为止,之后适用运营商自己的安全机制[34]
对方看到什么?你在该应用上的账号服务发送的号码:PopTox是一个共享号码[41],Yolla据其首页说是你自己的号码[50],TwinPhone是共享、租用或已验证的号码[16]
能拨打紧急号码吗?WhatsApp不能[51]TwinPhone不能[29],免费版Google Voice也不能[27]
对方需要联网吗?需要,而且要用同一个应用不需要,一部普通电话就够了[5]

核实于。

本站赞助商TwinPhone在其浏览器通话原理说明中描述了同样的桥接过程:浏览器这一段是加密的,然后接入公共电话网络,在那里适用接听方运营商的安全机制[34]。相比之下,PopTox的首页宣传WebRTC端到端加密[39],而终点是电话线路的通话不可能做到这一点。

来电显示、紧急呼叫以及WebRTC可能暴露的IP地址[52]都属于安全问题;我的隐私与安全检查逐个服务做了解答。

本指南内容

常见问题

WebRTC免费吗?

免费。浏览器以免版税功能的形式内置WebRTC[7],参考实现项目是开源的,由Apple、Google、微软和Mozilla支持[1]。在标签页里使用它,谁都不用付费。真正花钱的是打到电话号码,因为号码所属的网络要收取送达通话的费用[6]。这就是为什么网页拨号服务按分钟计费,而应用之间通话免费。

WebRTC通话是点对点的吗?

可以是。WebRTC能让两个浏览器不借助插件、点对点直接交换音频[22],但当路由器或防火墙阻断直连路径时,就由TURN服务器中转音频[13]。打电话号码的通话从来不是点对点的:你的浏览器连接到服务商,由服务商的网关把音频流转换成普通电话信号,再送到你拨的号码[5]。

哪些网站和应用用WebRTC通话?

大多数在标签页里打电话的服务都用。PopTox和TwinPhone等网页拨号服务在文档里写明了这一点[14][16],Ringover[53]和JustCall[54]等企业电话系统也是如此。Telegram的开源网页客户端只在浏览器支持WebRTC时才开启通话功能[55]。

用浏览器打电话需要安装什么吗?

不需要。WebRTC是浏览器的一部分,所以通话不需要插件或额外软件[22]。你需要一个较新的浏览器、一个麦克风和网络连接;例如TwinPhone列出了电脑和手机上的Chrome、Edge、Firefox、Brave和Safari[16]。你唯一要授予的是麦克风权限,浏览器会按网站逐个询问[11]。

浏览器通话要用多少带宽或流量?

不多。以Google Voice为例,Google要求每位通话参与者至少32 kbps,并建议超过50 kbps以获得良好音质[56]。按50 kbps计算,单向一小时的音频大约是22 MB。浏览器首选的编解码器Opus[8]在窄带语音下最低可降到6 kbit/s[12]。

浏览器通话是端到端加密的吗?

只有同一应用的用户之间、而且该应用明确这样说时才是:WhatsApp对通话进行端到端加密[32]。打电话号码的通话做不到,因为服务商的网关会把它转换成普通电话。WebRTC对从你的浏览器到服务商这一段加密[3];例如TwinPhone就说,最后的运营商这一段遵循接听方运营商的安全机制[34]。

为什么打手机比打座机贵?

原因之一是接听方网络收取的通话送达费[6]:移动网络被允许收得更多。在欧盟,打手机每分钟上限为US$0.002,打座机为US$0.001[6][6]。零售资费表也有同样的差距:TwinPhone打英国座机每分钟US$0.06,打英国手机US$0.12[10]。

浏览器能接听电话吗?

只有服务给你分配了电话号码时才能:Google Voice在你登录且窗口打开时会在浏览器里响铃[36];租用的TwinPhone美国、加拿大或波多黎各号码会在标签页里响铃[16],接听每分钟US$0.02[33]。Yolla Web只能拨出[38],PopTox对所有人显示同一个共享来电号码[41];你的通话显示哪个号码、能否回拨,取决于具体服务。

为什么浏览器要请求使用我的麦克风?

因为网页在你授权之前无法访问麦克风,而且只能在安全的HTTPS网页上访问[2]。Chrome让你选择在访问期间允许、仅限这一次或永不允许,并在设置里列出已允许和已拦截的网站[11]。在Mac上,浏览器本身也需要在“系统设置”里获得麦克风权限[57];在Windows上,桌面应用(包括浏览器)需要开启麦克风访问权限[58]。

WebRTC是怎么工作的?

WebRTC在浏览器里做三件事。它获取麦克风,仅限HTTPS网页,且必须经你允许[2]。它寻找通往另一端的网络路径,如果路由器或防火墙阻断了直连,就由TURN服务器中转音频[13]。然后它压缩你的声音,首选Opus[8],并用SRTP加密[3]。在我读过的标准里,通话建立(即信令)是留给各个服务自行处理的[19]。

SIP通话是什么?

SIP通话是用SIP(会话发起协议)建立的网络通话。SIP是IETF的标准,用于建立、修改和结束互联网电话之类的会话[21]。MicroSIP等软电话用它连接任何SIP服务商或办公电话系统[23],登录时填写服务商提供的服务器地址、用户名和密码[59]。网页可以通过WebSocket运行SIP[20],但我读过的面向个人用户的网页拨号服务,没有一家说明它的拨号盘是否这样做。更多内容见SIP账号是什么。

VoIP电话是什么?

VoIP电话就是通过互联网传输的电话:VoIP是Voice over Internet Protocol(互联网协议语音)的缩写[5]。服务把你的声音变成在网上传输的数字信号;如果你拨的是普通电话号码,它会在到达前被转换成普通电话信号[5]。你可以用电脑、VoIP电话或接了适配器的普通电话来打[5],所以从浏览器标签页打出的电话也算VoIP电话。接电话的人不需要任何特殊设备[5]。

有没有能拨打电话号码的浏览器VoIP服务?

有好几个。在我针对美国读者的排名中,TextNow第一、Google Voice第二:两者都能在浏览器标签页里拨打[60][37],打美国和加拿大号码大多免费[61][27],但只服务美国,TextNow另加加拿大[28][62]。排第三的TwinPhone是本站赞助商,只需邮箱或Google账号注册,不需要手机号[16],但没有免费方案[29]。排第四的Yolla打英国手机更便宜[9][10]。

价格按2026年10月30日的汇率(ExchangeRate-API (open access endpoint))换算为USD。将鼠标悬停在价格上,可查看运营商公布的原价。

让 AI 解读这项调研

每个按钮都会在新标签页中打开对应的 AI 助手,请它总结本页内容,并附上本页链接作为来源。

资料来源

  1. WebRTC · Google WebRTC team · 核实于2026年11月1日
  2. MediaDevices: getUserMedia() method - Web APIs | MDN · MDN Web Docs (Mozilla) · 核实于2026年11月1日
  3. RFC 8827: WebRTC Security Architecture · IETF (RFC Editor) · 核实于2026年11月1日
  4. Introducing Web Calling on WhatsApp, Plus More New Updates (WhatsApp Blog, July 28, 2026) · 核实于2026年11月1日
  5. Voice Over Internet Protocol (VoIP) | Federal Communications Commission · FCC · 核实于2026年11月1日
  6. The EU-wide voice-call termination rates become applicable today · European Commission · 核实于2026年11月1日
  7. Web Real-Time Communications (WebRTC) transforms the communications landscape; becomes a World Wide Web Consortium (W3C) Recommendation and multiple Internet Engineering Task Force (IETF) standards | W3C · W3C · 核实于2026年11月1日
  8. RFC 7874: WebRTC Audio Codec and Processing Requirements · IETF · 核实于2026年11月1日
  9. Cheap Online International Calls to the United Kingdom - Yolla · 核实于2026年11月1日
  10. International Calling Rates — Pay As You Go, Per Minute - TwinPhone · 核实于2026年11月1日
  11. Use your camera and microphone in Chrome - Computer - Google Chrome Help · Google · 核实于2026年11月1日
  12. RFC 6716: Definition of the Opus Audio Codec · IETF · 核实于2026年11月1日
  13. Introduction to WebRTC protocols - Web APIs | MDN · MDN Web Docs (Mozilla) · 核实于2026年11月1日
  14. Frequently Asked Questions | PopTox · 核实于2026年11月1日
  15. Globfone FAQ – Free Calls, SMS, Verification & Limits · 核实于2026年11月1日
  16. Call a phone from your browser - TwinPhone · 核实于2026年11月1日
  17. Free call | Call2Friends - Online call · 核实于2026年11月1日
  18. Calls from a computer or phone | Zadarma · 核实于2026年11月1日
  19. Signaling and video calling - Web APIs | MDN · MDN Web Docs (Mozilla) · 核实于2026年11月1日
  20. RFC 7118: The WebSocket Protocol as a Transport for the Session Initiation Protocol (SIP) · IETF (RFC Editor) · 核实于2026年11月1日
  21. RFC 3261: SIP: Session Initiation Protocol · IETF (RFC Editor) · 核实于2026年11月1日
  22. WebRTC API - Web APIs | MDN · MDN Web Docs (Mozilla) · 核实于2026年11月1日
  23. MicroSIP - Reliable SIP Softphone for Windows · MicroSIP · 核实于2026年11月1日
  24. FreePBX PJSIP setup | Zadarma · 核实于2026年11月1日
  25. Google Voice, SIP Link, and Carrier Link supported countries · 核实于2026年11月1日
  26. Quo International Rates · 核实于2026年11月1日
  27. Make a call with Google Voice - Computer - Google Voice Help · 核实于2026年11月1日
  28. The end of legacy Google Voice for personal accounts - Google Voice Help · 核实于2026年11月1日
  29. Can I call a phone from my browser for free? - TwinPhone Help Center · 核实于2026年11月1日
  30. How does TwinPhone billing work? - TwinPhone Help Center · 核实于2026年11月1日
  31. How to make a 1:1 voice call (Web) - WhatsApp Help Center · 核实于2026年11月1日
  32. About end-to-end encryption - WhatsApp Help Center · 核实于2026年11月1日
  33. Do I pay to receive calls on my TwinPhone number? - TwinPhone Help Center · 核实于2026年11月1日
  34. Call From Your Browser Without a SIM Card - TwinPhone · 核实于2026年11月1日
  35. Identify Google Voice subscription types - Google Voice Help · 核实于2026年11月1日
  36. Set up your phone to make & receive Google Voice calls - Computer - Google Voice Help · 核实于2026年11月1日
  37. Set up Google Voice - Computer - Google Voice Help · 核实于2026年11月1日
  38. Make Phone Calls from Your PC, Laptop, or Browser - Yolla · 核实于2026年11月1日
  39. Free Internet Calls | Free Online Calls | PopTox · 核实于2026年11月1日
  40. International Calling Rates | PopTox · 核实于2026年11月1日
  41. About us | PopTox · 核实于2026年11月1日
  42. Terms of Use | PopTox · 核实于2026年11月1日
  43. Free International Calls | PopTox · 核实于2026年11月1日
  44. Now You Can Invite Anyone to a WhatsApp Call: No Account Needed, No Cost, No Time Limit (WhatsApp Blog, October 14, 2026) · 核实于2026年11月1日
  45. Use a phone for audio in a video meeting - Google Meet Help · 核实于2026年11月1日
  46. Make a call with Wi-Fi Calling - Apple Support · Apple · 核实于2026年11月1日
  47. Wi-Fi Calling at Verizon FAQs | Verizon Support · Verizon · 核实于2026年11月1日
  48. Make and receive phone calls from your PC | Microsoft Support · Microsoft · 核实于2026年11月1日
  49. Learn about call & meeting encryption in Google Meet - Google Meet Help · 核实于2026年11月1日
  50. Yolla: International Calling App · 核实于2026年11月1日
  51. WhatsApp Terms of Service · 核实于2026年11月1日
  52. RFC 8828: WebRTC IP Address Handling Requirements · IETF (RFC Editor) · 核实于2026年11月1日
  53. Browsers compatible with Ringover – Ringover Help Center · 核实于2026年11月1日
  54. Web Dialer | JustCall · 核实于2026年11月1日
  55. Telegram Web K source (official repo linked from telegram.org/apps): callSupport.ts · 核实于2026年11月1日
  56. Voice connectivity requirements - Google Workspace Admin Help · Google · 核实于2026年11月1日
  57. Control access to the microphone on Mac - Apple Support · Apple · 核实于2026年11月1日
  58. Turn on app permissions for your microphone in Windows | Microsoft Support · Microsoft · 核实于2026年11月1日
  59. MicroSIP setup manual - Zadarma · Zadarma · 核实于2026年11月1日
  60. Which browsers are supported by TextNow? – TextNow Support · 核实于2026年11月1日
  61. Affordable International Calling : No Contract or Credit Check - TextNow · 核实于2026年11月1日
  62. Terms of Use – TextNow · 核实于2026年11月1日