我们可以在 Twilio 的电话会议中拨打一个号码吗?

吉安·库马尔·米什拉

我是这个领域的新手。来提问。我想在电话会议期间拨打一个号码并将该参与者添加到当前会议中。我曾尝试给会议的样本代码在这里的Java有什么方法可以收集输入然后拨打该号码并将参与者添加到同一个会议中。

这是我尝试过的。我创建了一个会议,它将返回以下响应

<Response>
<Dial hangupOnStar="true">
<Conference startConferenceOnEnter="true" endConferenceOnExit="true">My Conference</Conference>
</Dial>
<Gather timeout="10" action="/twilio-tut/add/participant?confName=My%20Conference" finishOnKey="#">
<Say>Please enter the number you want to connect followed by hash key.</Say></Gather>
</Response>

现在,会议的一位参与者说A按下*并拨打了另一个他想要添加到会议中的人的号码。

现在关于Gather动词的动作,我正在拨打一个号码,代码如下所示

Number number = 
                    new Number.Builder(some_valid_phone_number)
                    .statusCallback("https://xxxxxxx.ngrok.io/twilio-tut/to/conference")
                    .statusCallbackMethod(Method.POST)
                    .statusCallbackEvents(Arrays.asList(Event.ANSWERED))
                    .build();

            Dial dial = new Dial.Builder()
                    .number(number)
                    .conference(new Conference.Builder(conferenceName).build())
                    .build();

            twiml = new VoiceResponse.Builder().dial(dial)
                    .build();

在 statusCallback 上,我正在更新呼叫以重定向到主叫方和被叫方的会议,其中主叫方是按*ie A离开会议的人,被叫方是some_valid_phone_number代码如下图

Call callee = Call.updater(callSid)
                    .setUrl("https://xxxxx.ngrok.io/twilio-tut/voice").setMethod(HttpMethod.POST).update();
            Call caller = Call.updater(parentCallSid)
                    .setUrl("https://xxxxx.ngrok.io/twilio-tut/voice").setMethod(HttpMethod.POST).update();

上面的代码转移被调用者并用异常断开调用者

com.twilio.exception.ApiException: Call is not in-progress. Cannot redirect.

我想要做的是一个调用一些其他的号码,最后他们将连接到同一个会议。并且A应该能够呼叫其他号码并将它们添加到同一个会议中。我正在使用手机连接号码。

提前致谢。

菲尔纳什

Twilio 开发人员布道者在这里。

您遇到的问题是您试图在 TwiML 中执行两次拨号以响应<Gather>. 而不是让一个<Dial><Number>你同拨的号码<Gather>,您应该创建一个使用REST API该呼叫并使用TwiML直接在手机放回原会议的人。

要把它变成清晰的步骤,它应该是这样的:

  1. 用户拨打 Twilio 号码
  2. TwiML 响应,使用 hangUpOnStar 将用户添加到会议
  3. 用户按星号,Gather 要求拨一个号码
  4. 在对 Gather 号码的响应中,使用 REST API 创建呼叫并将该呼叫定向到原始入站 URL(“/conference”)
  5. 在对 Gather 操作的响应中,返回 TwiML 以将原始呼叫者返回到会议(重定向到原始入站 URL)

我不是 Java 开发人员,所以这可能是错误的,但您想要看起来有点像这样的东西:

@WebServlet("/dial/participant")
public class AddParticipantToConference extends HttpServlet {

    public static final String MODERATOR = System.getenv("MY_PHONE_NUMBER");
    public static final String ACCOUNT_SID = System.getenv("TWILIO_ACCOUNT_SID");
    public static final String AUTH_TOKEN = System.getenv("TWILIO_AUTH_TOKEN");

    @Override
    protected void doPost(HttpServletRequest servletRequest, HttpServletResponse servletResponse)
            throws IOException {    
        String selectedOption = servletRequest.getParameter("Digits");

        VoiceResponse twiml;

        if(selectedOption != null){
            Call call = Call.creator(new PhoneNumber("+" + selectedOption), new PhoneNumber(MODERATOR),
        new URI("https://example.com/conference")).create();
        }

        twiml = new VoiceResponse.Builder().redirect("/conference").build();

        servletResponse.setContentType("text/xml");

        try {
            servletResponse.getWriter().print(twiml.toXml());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

你现在不需要 statusCallback 了。

让我知道这是否有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以将电话转接到twilio中的另一个号码吗

来自分类Dev

Twilio:主持人可以使电话会议中的特定参与者静音吗?

来自分类Dev

我们可以在PHP Twilio Api中更改SMS的主题吗

来自分类Dev

我们可以在PHP Twilio Api中更改SMS的主题吗

来自分类Dev

我们可以在 php 应用程序中使用 twilio 进行视频通话吗

来自分类Dev

使用Twilio,可以在电话会议期间接收用户输入吗?

来自分类Dev

我们可以理解吗?

来自分类Dev

我们可以关闭MouseEvents吗?

来自分类Dev

Twilio-获得最新的电话会议

来自分类Dev

我们可以将我们的编程放在android的doInBackground()中吗

来自分类Dev

我们可以在“Quickblox”中重新加入我们错过的群组通话吗?

来自分类Dev

Twilio可以用来接听电话并按一个键吗?

来自分类Dev

我们可以在C中与变量一起声明一个函数吗?

来自分类Dev

我们可以在ocaml中定义一个参数为0的函数吗?

来自分类Dev

我们可以将IBOutlets放在一个类别中吗?

来自分类Dev

我们可以从SSRS订阅报告中创建一个只读文件吗

来自分类Dev

在C ++中,我们可以为每个整数创建一个类吗?

来自分类Dev

我们可以在NEXT JS中建立一个门户吗

来自分类Dev

我们可以在WSO2ESB中设置一个数组吗?

来自分类Dev

我们可以在类声明中声明一个类类型的指针吗?

来自分类Dev

我们可以在同一个对象中实现多个 QtRO 接口吗?

来自分类Dev

我们可以在 cassandra 中截断表吗,如果任何一个节点宕机了

来自分类Dev

我们可以设置一个在 BIOS 中关闭的设备吗

来自分类Dev

我们可以在 Flutter 中创建一个新的小部件吗?

来自分类Dev

Twilio:可以使用Sip召开Twilio会议吗?

来自分类Dev

我们可以从ember js中的组件路由吗?

来自分类Dev

我们可以在文件中存储多个对象吗?

来自分类Dev

我们可以得到R中的因子矩阵吗?

来自分类Dev

我们可以缩短/ etc / sudoers中的脚本吗?

Related 相关文章

  1. 1

    我可以将电话转接到twilio中的另一个号码吗

  2. 2

    Twilio:主持人可以使电话会议中的特定参与者静音吗?

  3. 3

    我们可以在PHP Twilio Api中更改SMS的主题吗

  4. 4

    我们可以在PHP Twilio Api中更改SMS的主题吗

  5. 5

    我们可以在 php 应用程序中使用 twilio 进行视频通话吗

  6. 6

    使用Twilio,可以在电话会议期间接收用户输入吗?

  7. 7

    我们可以理解吗?

  8. 8

    我们可以关闭MouseEvents吗?

  9. 9

    Twilio-获得最新的电话会议

  10. 10

    我们可以将我们的编程放在android的doInBackground()中吗

  11. 11

    我们可以在“Quickblox”中重新加入我们错过的群组通话吗?

  12. 12

    Twilio可以用来接听电话并按一个键吗?

  13. 13

    我们可以在C中与变量一起声明一个函数吗?

  14. 14

    我们可以在ocaml中定义一个参数为0的函数吗?

  15. 15

    我们可以将IBOutlets放在一个类别中吗?

  16. 16

    我们可以从SSRS订阅报告中创建一个只读文件吗

  17. 17

    在C ++中,我们可以为每个整数创建一个类吗?

  18. 18

    我们可以在NEXT JS中建立一个门户吗

  19. 19

    我们可以在WSO2ESB中设置一个数组吗?

  20. 20

    我们可以在类声明中声明一个类类型的指针吗?

  21. 21

    我们可以在同一个对象中实现多个 QtRO 接口吗?

  22. 22

    我们可以在 cassandra 中截断表吗,如果任何一个节点宕机了

  23. 23

    我们可以设置一个在 BIOS 中关闭的设备吗

  24. 24

    我们可以在 Flutter 中创建一个新的小部件吗?

  25. 25

    Twilio:可以使用Sip召开Twilio会议吗?

  26. 26

    我们可以从ember js中的组件路由吗?

  27. 27

    我们可以在文件中存储多个对象吗?

  28. 28

    我们可以得到R中的因子矩阵吗?

  29. 29

    我们可以缩短/ etc / sudoers中的脚本吗?

热门标签

归档