【问题标题】:Twilio does not load the TwiML instructionsTwilio 不加载 TwiML 指令
【发布时间】:2016-07-11 16:35:43
【问题描述】:

我正在尝试使用试用帐户使用 Twilio 服务拨打电话号码。

我在这里关注 Java 示例:https://www.twilio.com/docs/quickstart/java/rest/call-request

我已经使用我的 API 凭据、提供的 Twilio 编号、目标编号和 TwiML 指令 URL 配置了示例。

当我运行 MakeCall 类时,目标号码会被呼叫。

当我接听电话时,我收到“试用帐户”消息,然后它要求我按任意键。当我按下一个键时,通话就挂断了。

正如我所见,Twilio 没有调用 TwiML 指令 url。

我也使用测试凭据进行了测试,但没有成功。

知道为什么不调用 TwiML 指令 url 吗?

【问题讨论】:

  • //1.检查 Twilio twilio.com/user/account/log/calls //2 的日志。使用 TwiML Bin,这样您就知道自己在提供正确的 TwiML twilio.com/blog/2016/05/…
  • 日志显示“没有记录此调用的 HTTP 请求。”
  • 用 TwiML Bins 也试过,同样的行为..
  • 不看你的代码很难弄清楚,但我相信“试用帐户”消息一定来自 TwiML。要求您按一个键的那个,它是从哪里来的?
  • 这里是 Twilio 传播者。你能发布你的Java代码吗?听起来您在调用该方法时可能没有将 URL 传递给 Twilio。

标签: twilio twilio-api


【解决方案1】:

使用twilio-java helper library 和您上面提到的文档中的以下代码:

然后我们实例化一个新的客户端对象,将请求方法设置为 'POST',填写'From','To'和'Url'参数 关联数组,并触发对 Twilio 的请求!

除了您的 URL 的任何潜在问题...您是否还在 the console 中配置您的 twilio 号码时将请求方法设置为 POST?

import java.util.Map;
import java.util.HashMap;

import com.twilio.sdk.TwilioRestClient;
import com.twilio.sdk.TwilioRestException;
import com.twilio.sdk.resource.instance.Account;
import com.twilio.sdk.resource.instance.Call;
import com.twilio.sdk.resource.factory.CallFactory;

public class MakeCall {

    public static final String ACCOUNT_SID = "AC123";
    public static final String AUTH_TOKEN = "456bef";

    public static void main(String[] args) throws TwilioRestException {

        TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
        Account mainAccount = client.getAccount();
        CallFactory callFactory = mainAccount.getCallFactory();
        Map<String, String> callParams = new HashMap<String, String>();
        callParams.put("To", "5105551212"); // Replace with your phone number
        callParams.put("From", "(510) 555-1212"); // Replace with a Twilio number
        callParams.put("Url", "http://demo.twilio.com/welcome/voice/"); // Configure your own URL with TwiML instructions using TwiML Bins
        // Make the call
        Call call = callFactory.create(callParams);
        // Print the call SID (a 32 digit hex like CA123..)
        System.out.println(call.getSid());
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多