позвонить с субсчета twilio (makeCall) - PullRequest
1 голос
/ 03 мая 2020

Я использую twilio voice-quickstart- ios. В настоящее время я пытаюсь сделать звонок с субсчета, используя twilio REST API. Вот моя конечная точка makeCall

exports.handler = function(context, event, callback) {
  console.log("event :" + JSON.stringify(event));
  var to = event.to;
  var from = event.from;
  let subaccountSid = event.sid;
  let subaccountAuthToken = event.token;
  const accountSid = context.ACCOUNT_SID;
  const authToken = context.AUTH_TOKEN;

  const client = require('twilio')(accountSid, authToken, {
     accountSid: subaccountSid
  });

  client.calls
    .create({
        url: 'http://twimlets.com/message?Message%5B0%5D=Hello%20from%20your%20subaccount',
        to: to,
        from: from
    }, function(err, call) {
        if (err) {
            console.log("err : " + err);
            callback(null, JSON.stringify(err));
        } else {
            console.log("call Sid " + call.sid);
            callback(null, call);
        }
  });
};

А ниже приведен код для выполнения голосового вызова из моего приложения.

func performVoiceCall(uuid: UUID, client: String?, completionHandler: @escaping (Bool) -> Swift.Void) {
    guard let accessToken = fetchAccessToken() else {
        completionHandler(false)
        return
    }
    let dictionary = userdefaults.getSelectedNumbersSidAndAuth()
    let sid = dictionary["sid"]!
    let token = dictionary["token"]!
    let from = self.dialView.selectedNumberInDropdown

    let connectOptions: TVOConnectOptions = TVOConnectOptions(accessToken: accessToken) { (builder) in
        builder.params = [twimlParamTo : self.outgoingValue!, "sid" : sid, "from" : from, "token": token]
        builder.uuid = uuid
    }
    let call = TwilioVoice.connect(with: connectOptions, delegate: self)
    self.activeCall = call
    self.activeCalls[call.uuid.uuidString] = call
    self.callKitCompletionCallback = completionHandler
}

Теперь проблема заключается в том, что ни одна из функций обратного вызова twilio не вызывается. (например: если вызываемый или вызывающий абонент отключает вызов, делегаты не вызывают). Если я звоню с главной учетной записи, используя Twml , все работает нормально. но я должен позвонить с субсчета. Как я могу это исправить? мне нужно вызвать конечную точку makeCall из функции executeVoiceCall? Если так, то как я могу это назвать? пожалуйста, дайте мне знать.

...