Twilio StatusCallback“到”

问题描述

当我在应用程序中获取StatusCallback时。我看到“收件人”字段为空。我正在使用Twilio JS客户端SDK初始化调用。如何将“收件人”字段设置为我要呼叫的客户端ID?

到目前为止,我的twilio TwiML函数设置如下:

function voiceResponse(event) {
  // Create a TwiML voice response
  const twiml = new VoiceResponse();

  if(event.To) {
    // Wrap the phone number or client name in the appropriate TwiML verb
    // if is a valid phone number
    const attr = isAValidPhoneNumber(event.To) ? 'number' : 'client';

    const dial = twiml.dial({
      callerId: event.From,answerOnBridge: "true"              // answerOnBridge starts the duration when both parties are connected,but might be 1-2s off during connectivity
    });
    dial[attr]({
      statusCallbackEvent: 'completed',statusCallback: 'https://aaaa.com/statuscallback',statusCallbackMethod: 'POST'
    },event.To);
  } else {
    twiml.say('Thanks for calling!');
  }

  return twiml.toString();
}
function tokenGenerator(user_uid,match_uid) {
  const capability = new ClientCapability({
    accountSid: config.accountSid,authToken: config.authToken,// time that the token is alive,call does NOT terminate if token expired,time in seconds,24hr max
    ttl: 60
  });

  capability.addScope(new ClientCapability.IncomingClientScope(user_uid));
  capability.addScope(new ClientCapability.OutgoingClientScope({
    applicationSid: config.twimlAppSid,clientName: user_uid,}));

  return {
    identity: user_uid,token: capability.toJwt(),};
};

解决方法

因为To是Twilio,所以没有为Twilio Client SDK填充To。这被视为呼叫的“父”分支。您需要查看正在告诉Twilio代表客户端执行的TwiML(通过您作为访问令牌提供的Application SID)来查看另一条腿(“子”腿)要去哪里。