
本文详解如何通过 Twilio PHP SDK 发起外呼,并在接通后自动将呼叫转接到另一真实电话号码,实现真正的“语音对语音”连接,而非仅播放语音提示。核心在于正确使用 TwiML 的 动词替代 。
本文详解如何通过 twilio php sdk 发起外呼,并在接通后自动将呼叫转接到另一真实电话号码,实现真正的“语音对语音”连接,而非仅播放语音提示。核心在于正确使用 twiml 的 `
要实现 Twilio 外呼并完成主叫(Twilio 号码)→ 被叫(你指定的外部号码)→ 实时双向语音通话,关键不在于初始 calls->create() 的调用方式(你的代码本身已正确),而在于回调 URL(即 gomi.xml)返回的 TwiML 内容——它决定了通话接通后的行为。
你当前的 gomi.xml 仅使用
✅ 正确做法:更新 gomi.xml 为以下内容(支持国际号码,推荐显式指定 callerId):
<?xml version="1.0" encoding="UTF-8"?><response><dial callerid="+81yyyyyyyyyy" record="false" timeout="30"><number>+81xxxxxxxxxx</number></dial></response>
⚠️ 注意事项:
- callerId 必须是你在 Twilio 控制台已验证或购买的号码(即你代码中传入的 +81yyyyyyyyyy),否则 Twilio 将拒绝转接;
中填写目标被叫号码(如 +81xxxxxxxxxx),务必使用 E.164 格式(含国家代码,无空格/横线); - timeout 控制拨号超时时间(秒),避免长时间等待无人接听;
- record="false" 可按需设为 "true" 开启通话录音(需确保账户已启用录音功能);
- 确保 Web 服务器能被 Twilio 公网访问(开发时推荐使用 ngrok 暴露本地 http://development.example.com/gomi.xml)。
? 进阶示例:若需在接通前播放提示音(如“正在为您连接…”),可组合使用
<response><say voice="alice">正在为您连接,请稍候。</say><dial callerid="+81yyyyyyyyyy"><number>+81xxxxxxxxxx</number></dial></response>
? 总结:Twilio 的“语音对语音”本质是两段独立呼叫的智能桥接——第一段由你触发(calls->create),第二段由 TwiML 中的
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











