You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Twilio API PHP发起呼叫报错:已购号码仍提示未验证求协助

解决Twilio PHP API电话呼叫报错:号码未验证的问题

看起来你遇到的这个报错虽然明确指向号码未验证,但结合你已经购买号码并升级账户的情况,大概率是一些容易忽略的细节导致的。我来帮你梳理几个排查方向:

  • 先确认号码的状态与归属
    登录Twilio控制台,进入「Phone Numbers」页面找到你购买的+151**********号码:

    • 检查它的状态是否为「Active」,如果是「Suspended」之类的状态,需要先恢复激活;
    • 确认这个号码确实属于你当前使用的API账户(如果有多个Twilio账户,很容易搞混)。
  • 严格检查API请求中的号码格式
    Twilio对号码格式要求非常严格,必须是标准E.164格式(带+号+国家代码,无任何符号/空格)。你的PHP代码里From参数一定要准确,比如:

    $twilio = new Client($accountSid, $authToken);
    $call = $twilio->calls->create(
        "+12345678901", // 被叫号码,同样要符合E.164格式
        "+151**********", // 你的Twilio号码,必须完全匹配控制台显示的格式
        ["url" => "https://your-domain.com/twiml-response.xml"]
    );
    

    别用带括号、短横线的格式(比如(51X) XXX-XXXX),这会直接导致Twilio识别失败。

  • 确认账户升级是否完全生效
    有时候升级账户后,系统可能需要几分钟同步状态。你可以在控制台的「Account Settings」里查看账户类型:

    • 如果还是显示「Trial」,说明升级流程可能没完成,检查支付信息是否有效、是否收到Twilio的升级确认邮件;
    • 正式账户下,购买的号码默认是可以直接作为主叫发起呼叫的,不需要额外验证(除非你用的是自己的手机号而非Twilio号码)。
  • 排查Twiml URL的有效性
    虽然报错提示的是号码问题,但如果你的Twiml URL无法访问或返回错误,也可能触发异常。确保:

    • URL是公开可访问的(不能是本地localhost地址);
    • 返回的是标准Twiml格式,比如:
      <Response>
        <Say voice="alice">Hello, this is a test call from Twilio.</Say>
      </Response>
      

    可以用浏览器直接访问这个URL,确认能正常返回XML内容。

  • 查看详细错误日志
    登录Twilio控制台,进入「Logs」→「Calls」,找到失败的呼叫记录,查看「Details」里的完整错误信息。有时候会有更具体的提示,比如号码被限制、账户权限不足等。

如果以上步骤都排查过还是不行,建议直接联系Twilio支持团队,提供你的账户SID和失败呼叫的SID,他们能帮你快速定位账户层面的问题。

内容的提问来源于stack exchange,提问作者Slimen Chrif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:33:03