【问题标题】:Twilio make a call and IVR in javaTwilio在java中拨打电话和IVR
【发布时间】:2014-05-05 05:16:25
【问题描述】:

使用 twilio,我可以“拨打电话”,并且自动语音正在告诉一些消息。现在我需要在那里添加 IVR 技术来获取 request.getParameter("Digit")。但我很困惑如何去做,而且我是 twilio 的新手。

//make a call process
String twiml = "<Response><Say voice='woman' language='ja-jp' speed='0.5'>" + callText + "</Say></Response>";
TwilioRestResponse response;
        try {
        response = client.request("/"+barberConstants.APIVERSION+"/Accounts/"+client.getAccountSid()+"/Calls", "POST", params);

现在如何添加 TwiMLResponse resp = new TwiMLResponse(); Say say = new Say("Press 1 t accept"); ETC 请帮忙

【问题讨论】:

    标签: java twilio


    【解决方案1】:

    您可能会错过这样一个概念,即在调用的每个步骤中,您的服务器和 Twilio 都会来回“对话”。听起来您是在说您可以发起呼叫并传递消息。您提供的 TwiML 还应包含 GATHER 请求。

    <Response>
        <Say voice="woman" language="ja-jp">[Your call text]</Say>
        <Gather timeout="10" numDigits="1" action="YOUR_VOICE_REQUEST_URL">
            <Say voice="woman" language="ja-jp">Press 1 to accept.</Say>
        </Gather>
    </Response>
    

    一旦对方按下“1”,响应将按照您的 GATHER 动词中 action="YOUR_VOICE_REQUEST_URL" 的指示发送到您的服务器端点。

    如果您还没有,请阅读此 URL 上的文档以获取详细帮助:https://www.twilio.com/docs/api/twiml/gather

    【讨论】:

    • 谢谢。我已经这样做了。但是请我知道这个动作。“如果没有提供‘动作’,Twilio 将默认向当前文档的 URL 发出 POST 请求。”我想在同一个 java 类中获取 request.getParameter("Digit") 来更新数据库。不知道。
    • 您对“行动”的看法是正确的。如果您想在同一个 servlet 中处理请求,请检查 request.getParameter("Digits") != null 并从那里继续。注意:在您的帖子中,您使用“数字”。它是带有“s”的“数字”。
    • 在我提出问题后,我发布了我的函数和返回值...问题出在哪里?
    • 登录您的 Twilio 帐户并检查您的日志文件。你应该在那里看到问题。具体来说,在您按 1 后查看 Twilio 尝试在何处发布请求。我怀疑您的应用程序错误是由错误的端点引起的。查看您的代码后,我再次建议您将此 servlet 的 URL 放在 动词的“action”参数中。
    • action="makeRequestServlet.do" 这样应该可以吧???警告:12200 架构验证警告-----这显示在帐户中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多