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

如何通过STATUS CALLBACK URL获取Twilio CallStatus及参数接收方式?

嗨,我来帮你搞定Twilio呼叫状态回调的问题!

接收Twilio呼叫状态参数的具体方法

首先明确:当呼叫状态发生变化时(包括无人接听的情况),Twilio会向你设置的STATUS CALLBACK URL发送一个POST请求,所有呼叫相关的状态信息都会通过表单参数传递过来。针对你用的C# Web API场景,有两种直观的接收方式:

1. 直接读取Form表单参数

Twilio发送的是application/x-www-form-urlencoded格式的请求,你可以直接从Request.Form里提取需要的参数,核心的CallStatus就是你要找的状态标识:

[System.Web.Http.HttpPost]
public void TwilioCallbackEvent()
{
    // 获取核心状态参数
    string callStatus = Request.Form["CallStatus"];
    string callSid = Request.Form["CallSid"]; // 唯一呼叫ID,方便后续排查问题
    
    // 按需获取其他常用参数
    string fromNumber = Request.Form["From"];
    string toNumber = Request.Form["To"];
    string duration = Request.Form["Duration"];
    
    // 根据状态处理业务逻辑
    switch(callStatus)
    {
        case "no-answer":
            // 这就是你要处理的「无人接听」场景
            break;
        case "completed":
            // 呼叫正常完成
            break;
        case "busy":
            // 对方占线
            break;
        case "failed":
            // 呼叫失败
            break;
        // 还有ringing(响铃中)、in-progress(通话中)等状态
    }
}

2. 使用模型绑定(更优雅的写法)

你可以定义一个对应参数的模型类,让框架自动帮你完成参数绑定,代码会更整洁易维护:

// 定义Twilio回调参数模型
public class TwilioCallCallbackModel
{
    public string CallStatus { get; set; }
    public string CallSid { get; set; }
    public string From { get; set; }
    public string To { get; set; }
    public string Duration { get; set; }
    // 可根据需求添加更多参数,比如AccountSid、ApiVersion等
}

// 控制器方法
[System.Web.Http.HttpPost]
public void TwilioCallbackEvent(TwilioCallCallbackModel model)
{
    if (model != null)
    {
        if (model.CallStatus == "no-answer")
        {
            // 处理无人接听的业务逻辑
        }
    }
}

几个关键注意事项

  • 你的回调URL必须是公网可访问的,Twilio无法访问本地localhost地址,开发阶段可以用内网穿透工具把本地端口映射到公网。
  • Twilio传递的所有参数都是字符串类型,比如呼叫未完成时Duration的值会是"0"。
  • 一定要确保你在Twilio应用或呼叫请求中正确设置了StatusCallback属性,否则Twilio不会发送回调请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:05:00