用途:通过 Twilio Programmable Voice REST API 发起外呼电话。每次外呼需提供 from(Twilio 号码)、to(接收方)和定义接听行为的 TwiML(内联或 webhook URL)。
主要能力:基础外呼 calls.create();应答机检测(AMD)区分真人或语音信箱;基于会议(<Conference>)的坐席桥接与耳语、监听、保持;SIP Trunking;通话录音;Voice Insights 通话质量指标;结合 ConversationRelay 与 LLM 构建 AI 语音代理。
前置条件:具备语音能力的 Twilio 号码;环境变量 TWILIO_ACCOUNT_SID、TWILIO_AUTH_TOKEN;SDK 安装:pip install twilio 或 npm install twilio;试用账户仅能呼叫已验证号码。
用法要点:可传 url 让 Twilio 在通话接通时请求服务器执行动态 TwiML;用 status_callback 跟踪状态(queued → ringing → in-progress → completed,或 failed/busy/no-answer);record=True 录音;AMD 支持 Enable(立即判定)和 DetectMessageEnd(等待留言结束)两种模式,并可通过 async_amd 异步回调。
限制:外呼不可逆且可能产生费用;自动化系统需考虑 TCPA 合规(事先同意、尊重本地 8 AM–9 PM 静默时段、维护 Do Not Call 名单)。TwiML URL 必须公开可访问,本地开发可用 ngrok;内联 twiml 约不超过 4096 字符;AMD 准确率约 85–90%,且不能与 SIP Trunking 同用;AMD 会增加约 $0.0075/通成本。常见错误包括 21211(号码无效)、13224/13225(TwiML 或 webhook 异常)。
适用场景:销售外呼、通知提醒、回访、语音代理等。