大多数用户习惯于短信验证:代码以文本形式到达,输入到表单中。但短信有竞争对手 — 语音OTP,当服务拨打链接的号码并且机器人读出代码时。这个方法被大平台使用 — Google、Facebook、Amazon、某些银行 — 特别是当短信递送受阻或当系统额外检查能否接收来电时。理解语音OTP和接收它的正确基础设施是单独的技能,可以节省时间和精力。

什么是语音OTP

Voice OTP(语音一次性密码)是一种验证机制,其中安全系统启动对用户号码的语音通话。自动化语音合成器读出数字代码(通常6位数字)一次或两次。用户在1-3分钟内在验证表单中输入此代码。

从技术上讲,语音OTP通过专业的CPaaS平台实现 — 它们启动传出通话并实时合成语音。

何时服务使用语音OTP而不是短信

不可抗力情况

某些平台在1-2分钟内未递送短信时自动切换到语音OTP。Google特别在界面中直接提供"改为拨打"作为短信的替代选项。

增强的安全级别

金融服务使用语音OTP进行大型交易 — 被认为比短信更难拦截(尽管从SS7攻击的角度来看这是有争议的)。Stripe和某些美国银行对超过特定限额的交易使用通话。

实际电话验证

接收语音通话的能力是额外的"生活性"检查。接受短信但不接收通话的VoIP号码无法通过语音验证。这是针对某些类型虚拟号码的过滤器。

哪些服务使用语音OTP

  • Google:提供语音通话作为账户验证的短信替代。
  • Facebook/Meta:账户真实性检查的语音通话。
  • Amazon:某些安全场景中带代码的通话。
  • Stripe:商人在某些交易中的语音验证。
  • 某些银行:确认大额转账的语音通话。
  • LinkedIn:账户恢复的语音通话。

如何接收语音OTP:基础设施

号码要求

要接收语音OTP,需要物理上接受传入语音通话的号码。这意味着:

  • 不仅仅是短信号码 — 许多虚拟号码默认禁用传入通话。
  • SIP端点可用性用于通话接收。
  • 通话时刻可用性 — 号码必须在网络中注册并"接听通话"。

用于通话接收的SIP客户端

接收语音通话的最简单方法是设置SIP客户端(Zoiper、MicroSIP、Groundwire for iOS/Android),其中包含虚拟号码凭证。当服务启动通话时,SIP客户端在你的设备上"响铃" — 你接听并听到代码。

自动应答机用于自动化

对于自动化工作,你可以设置自动应答机(IVR或Asterisk脚本),它接收传入通话、录制音频或识别语音(语音转文本)、提取代码并将其传递给系统。这对于大规模账户工作是相关的,当手动接收每个通话是不现实的。

自动化:用于代码提取的语音转文本

完全自动化语音OTP链:

  • Asterisk在DID号码上接收传入通话。
  • 录制合成语音音频(WAV文件)。
  • 将音频发送到Google语音转文本API或Whisper。
  • 使用regex从转录中提取6位代码。
  • 通过webhook或消息队列将代码传递给自动化脚本。

整个链延迟 — 5-15秒。语音OTP TTL通常2-3分钟 — 充分足够。

语音OTP vs短信:不同任务的比较

参数短信OTP语音OTP
速度5-30秒15-60秒(连接)
接收复杂性简单需要SIP设置
自动化简单(SMS API)更复杂(STT)
VoIP阻止问题常见罕见
离线可用性GSM网络需要SIP/互联网

支持语音的号码提供商

并非所有虚拟号码提供商都包括传入语音通话。选择提供商时,验证:

  • 此号码是否支持传入语音通话。
  • SIP凭证是否可用于连接。
  • 语音通话通过其基础设施的延迟(延迟)是多少。
  • 是否支持语音转发到另一个号码。

turbon.rent提供支持传入语音通话和SIP路由的号码 — 用于手动语音OTP接收和自动化处理。

实际建议

用于手动工作

安装Zoiper或类似软件,配置SIP账户。在等待验证时将应用程序保持在后台启用。代码通常读出2次 — 设法记下。

用于自动化

使用AGI脚本部署Asterisk,它接收通话、写入音频并返回转录。通过消息队列(Redis、RabbitMQ)与主自动化管道集成。

备用场景

始终有短信号码作为主要方法,语音作为备用。不要仅依赖语音OTP — 并非所有服务都提供它。

结论

语音OTP是专业账户工作中的利基但重要工具。使用它的平台通常是故意这样做的 — 为了增强验证。正确的语音代码接收基础设施可以访问否则不可用的服务。支持语音和SIP设置的虚拟号码可在turbon.rent获得。