Twilio呼出会议

时间:2016-09-26 07:27:17

标签: twilio twilio-php twilio-api

我需要帮助。我有代理和客户的情况。如果代理进行外拨呼叫并且客户端应答,则我的系统上有一个按钮,该按钮应将代理和客户端重定向到会议。下面的代码是我的函数,它拨打代理输入的号码。

function dialCall(num)
{
   params = {"phoneNumber": num, "record":"record-from-answer", "callStatus":"call", "callerId": callerId, "caller":agent_id};
   conn = Twilio.Device.connect(params);
   initializeStatus('Busy');
   isDialCall = true;
   return conn;
}

所以问题是可以同时将来电者和被叫者安排到会议中吗?

1 个答案:

答案 0 :(得分:2)

绝对有可能这样做。 在上面提到的代码中,Twilio.Device.connect(params)会调用与您帐户中TwiML App相关联的语音网址。

通过执行以下两项操作,此语音网址可以执行在同一会议中拨打主叫方和主叫方的功能

  1. 通过回馈TwiML响应<Dial><Conference>
  2. 在会议中拨打呼叫者
  3. 启动对目标的REST API调用,并将URL设置为将其拨入同一会议的端点。
  4. 下面列出了示例代码(nodejs)

    app.get("/handleOutgoingAsConference",function(i_Req,o_Res)
    {
      var ivrTwilRes = new twilio.TwimlResponse();
      var agentNum=i_Req.query.phoneNumber;
      /*read other params here */ 
      ivrTwilRes.dial(
        function(node) {
          node.conference('Conference_Caller_Callee', { beep:'false' , endConferenceOnExit:'true'})
        }
      );
      var restClient = new twilio.RestClient(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);
      restClient.calls.create(
        {
          url: "/justDialIntoConference",
          to: agentNum,
          from: "+yourCallerId",
          method: "GET",
        }, 
        function(err, call) 
        {
          if(err)
            {
              console.log(err.message);
            }
        }
      ); 
      o_Res.set('Content-Type','text/xml');
      o_Res.send(ivrTwilRes.toString());
    });
    
    app.get("/justDialIntoConference",function(i_Req,o_Res)
    {
      var ivrTwilRes = new twilio.TwimlResponse();
      ivrTwilRes.dial(
        function(node) {
          node.conference('Conference_Caller_Callee', { beep:'false' , endConferenceOnExit:'true'})
        }
      );
      o_Res.set('Content-Type','text/xml');
      o_Res.send(ivrTwilRes.toString());
    });
    

    你可以结合上面两个功能,为了简单起见,我把它分开了。

    希望有所帮助