async function newCall()

in src/index.js [72:121]


async function newCall(event) {
  console.log({ event });
  const from = event.CallDetails.Participants[0].From;
  const callid = event.CallDetails.Participants[0].CallId;
  const start = event.CallDetails.Participants[0].StartTimeInMilliseconds;
  const keybase = "welcome.wav"

  console.log(from, callid, start);

  if (!from) {
    console.log("failed to parse from number");
    return [hangupAction];
  }

  const d = new Date();
  const h = d.getHours();
  const m = d.getMinutes();
  const hour = pad(h, 2);
  const min = pad(m, 2);

  let phrase = "";
  const key = callid.toString() + "-" + keybase;

  const timePhrase = "The time is <break/><prosody rate=\"slow\">" + hour + "<break/>" + min + "</prosody><break/>U T C<break/>"
  const goodbyePhrase = "Goodbye!</speak>";

  const knownCaller = await getCaller(from);
  if (knownCaller) {
    const welcomeBackPhrase = "<speak><break/>Welcome back!<break/>";
    phrase += welcomeBackPhrase + timePhrase + goodbyePhrase;
    console.log(event.CallDetails.Participants)
    putCaller(from, callid, start);
  } else {
    const welcomePhrase = "<speak><break/>Welcome!";
    const phoneNumberPhrase = "You are calling from <prosody rate=\"slow\"><say-as interpret-as=\"characters\">" + from + "</say-as></prosody><break/>";
    phrase += welcomePhrase + phoneNumberPhrase + timePhrase + goodbyePhrase;
    console.log(event.CallDetails.Participants)
    putCaller(from, callid, start);
  }
  console.log("phrase is " + phrase);
  try {
    await synthesizeWelcomeSpeech(phrase, key);
  }
  catch (error) {
    console.log(error);
    return [hangupAction];
  }
  playAudioAction.Parameters.AudioSource.Key = key;
  return [playAudioAction];
}