Начать звонок с текстового сообщения - PullRequest
0 голосов
/ 21 февраля 2019

Я использую пакет Asterisk-Manager для NodeJs

https://www.npmjs.com/package/asterisk-manager

и получаю объявление на ленте в виде текста, который должен быть переведен из текста в речь.Когда я пытаюсь позвонить по исходящему номеру телефона, как я могу настроить переменную преобразования текста в речь и получателя?Примером может быть

ami.action({
    'action': 'originate',
    '??? phonenumber ???': '12345',
    '??? text to be spoken ???': 'Hello, this is a tape announcement'
  }, (err, res) => {
    if (err) {
        throw err;
    }

    console.log('everything was fine');
  });

Редактировать:

Я знаю, что FreePbx используется для администрирования.Насколько я знаю, есть модуль TTS для механизма Asterisk.

Я думаю, я мог бы пойти на этот код

const { phoneNumber, announcement } = phoneInfo; // the required data

ami.action({
    channel: `SIP/${phoneNumber}`,
    application: 'SendText',
    data: announcement
}, (err, res) => {
    if (err) {
      throw err;
    }

    console.log(res);
});

, и механизм будет управлять свойством данных

1 Ответ

0 голосов
/ 26 февраля 2019

Само приложение-отправитель отправляет только вызываемый номер в приложение или добавочный номер.Вы должны создать аудиофайл перед вызовом приложения воспроизведения.Таким образом, ваш код будет выглядеть так:

let filePath = await yourTtsService.generateAudioFile('Hello, this is a tape announcement')

ami.action({
    'action': 'originate',
    'channel': 'SIP/123', // target number, depend on your trunk type
    'application': 'Playback',
    'data': filePath
})

Для создания аудиофайла вы можете использовать API Google, см. Примеры в https://cloud.google.com/text-to-speech/docs/reference/libraries

...