Как использовать Twilio Proxy в Node.js - PullRequest
0 голосов
/ 05 июля 2019

Я пытался в течение 3 дней правильно настроить серверную часть, которая будет анонимно соединять два телефона для голосовой связи с помощью Twilio.Вот что я пытаюсь сделать:

1

Я смотрел пример живого кодирования , и это не таквсе работает.

  1. Я установил гем с помощью `gem install twilio-ruby -v 5.25.0 '
  2. Введен в REPL
  3. И началдля просмотра видео:

$ irb

требуется клиент 'twilio-ruby' = Twilio :: REST :: Client ('...', '... ') client.service.create (friendly_name:' Test 1 ') NoMethodError: неопределенный метод `service' для #

ОК, видео от 2 лет назадСправедливо, что SDK изменился.Итак, я следовал интерактивному учебнику, который доступен на веб-сайте, вот этот.

Прежде чем продолжить ... есть выделенная страница о новой функции прокси и в одном из разделовесть следующее изображение:

enter image description here

Это явно Python, так что я пойду ... Я установил Python SDK, запустил REPLи пытался следовать коду ... это не работает.Чертов Twilio, обнови свои вещи!(Или я здесь тупой?) ...

В любом случае ... давайте перейдем к учебнику node.js , я уверен, что по крайней мере интерактивный учебник работает (такЯ подумал).

Итак, я подошел к своей консоли и создал там службу, затем написал код:

import twilio from 'twilio'

const client = twilio('accountSid', 'authToken')

async function test() {
  // create session
  const session = await client.proxy.services('<MY_SERVICE>')
            .sessions
            .create({uniqueName: 'MyFirstSession'})

  // add participant 1 to session
  client.proxy.services('<MY_SERVICE>')
            .sessions(session.sid)
            .participants
            .create({ friendlyName: 'Me', identifier: '<my_number>'})

  // add participant 2 to session
  client.proxy.services('<MY_SERVICE>')
            .sessions(session.sid)
            .participants
            .create({ friendlyName: 'Me 2', identifier: '<my_number_2>'})
}

test()

Тогда что?

В документах говорится:

If your Twilio Phone Numbers are voice capable, you're now ready for a proxied voice conversation. Following the names from the previous steps, get Alice to make a call to her Proxy Identifier number. Twilio's Proxy service will then make a call from Bob's Proxy Number to his real number and connect the two calls.

Это не работает ... Я пытался дозвониться до номера идентификатора прокси-сервера, и это не работает.

Я не уверен, что делатьбольше, я пытался связаться с ними, никто не отвечает ...

1 Ответ

2 голосов
/ 05 июля 2019

Я посмотрел "учебник по node.js" и вижу, как это может сбить с толку.

Вот что вы можете сделать, чтобы заставить это работать и лучше понять, как это работает:

<ч />

Требования:

  • У вас есть учетная запись Twilio и приобретенный номер телефона Twilio. Этот телефонный номер Twilio будет номером «прокси».
  • У вас есть два других телефонных номера, с которых вы можете совершать или принимать звонки (или текстовые сообщения), это ваши телефонные номера.

<ч /> Шаг 1.

  • войдите в свою учетную запись Twilio и запишите свои «SID ACCOUNT SID» и «AUTH TOKEN», они находятся на «панели инструментов». (https://www.twilio.com/console)
  • перейдите на страницу телефонных номеров (https://www.twilio.com/console/phone-numbers/incoming) и убедитесь, что у вас есть номер телефона. Это нормально, если вы просто запишите номер, потому что в этом руководстве я расскажу вам, как настроить основной номер телефона). вещи через консоль, а не через код Node.js.
<ч />

Шаг 2.

  • все еще в Twilio, перейдите на «Панель прокси-сервера» (https://www.twilio.com/console/proxy) и здесь «Добавить новую службу прокси» (там есть красный знак плюс). Дайте ему имя, нажмите «Создать», затем на на следующей странице вам не нужно ничего заполнять, просто прокрутите вниз и нажмите «Сохранить»
  • теперь у вас есть сервис, который отображается на странице «Услуги» (https://www.twilio.com/console/proxy/services)
  • запишите SID службы (KSxxxxx ...)
<ч />

Шаг 3.

  • пока вы все еще на странице «Услуги» (https://www.twilio.com/console/proxy/services), справа, вы можете увидеть «ЧИСЛА ПРОКСИ», это ссылка, нажмите на нее, чтобы сообщить службе использовать ваш номер Twilio для этого «Прокси»). Сервис "Вы только что создали.
  • на следующей странице вы увидите «Эта служба не имеет прокси-номеров» и кнопку «Добавить номера», нажмите на нее и «Назначьте» свой номер Twilio.
  • нажмите «Закрыть» после того, как увидите сообщение о том, что номер был успешно присвоен.
<ч />

Шаг 4.

  • теперь вам нужно создать сеанс для этого сервиса, вернитесь к «Proxy Dashboard» (https://www.twilio.com/console/proxy) и вы увидите свой сервис в списке
  • снова справа, есть ссылка для "СЕССИЙ", нажмите на нее
  • вы увидите сообщение «У вас нет сеансов» и кнопку «Создать новый сеанс», нажмите на нее и введите имя, вы также можете выбрать «РЕЖИМ» (текст, голос или оба)
  • нажмите «Создать», затем прокрутите вниз и нажмите «Сохранить»
  • запишите SID сессии (KCxxxxx ...)
  • теперь у вас есть сервис и сеанс
<ч />

Шаг 5.

Это этап, на котором вы добавляете участников, что касается двух ваших телефонных номеров. Насколько мне известно, эту часть нельзя выполнить на консоли Twilio. Я сделал это с кодом Node.js.

На вашем компьютере должен быть установлен Node.js (https://nodejs.org/en/),, затем:

  • создать новую папку
  • в Терминале, смените каталог на новую папку
  • пробег npm init --yes
  • пробег npm install twilio
  • создать новый файл index.js

вот код для index.js

const accountSid = 'ACxxxxx...';
const authToken = 'xxxxx...';
const client = require('twilio')(accountSid, authToken);

client.proxy.services('KSxxxxx...')
    .sessions('KCxxxxx...')
    .participants
    .create({ friendlyName: 'Alice', identifier: '+19997775555' })
    .then(participant => console.log(participant.proxyIdentifier));  

В приведенном выше коде замените значения для

  • accountSid // sid вашего аккаунта Twilio
  • authToken // ваш токен аутентификации Twilio
  • KSxxxxx... // идентификатор услуги
  • KCxxxxx... // идентификатор сессии
  • +19997775555 // ваш первый номер телефона

Далее запустите этот код, чтобы добавить первого участника, в Терминале запустите node index.js

Последнее, что нужно добавить второго участника, в приведенном выше коде заменить Alice, скажем, Bob, а также заменить your first phone number своим вторым номером телефона, а затем снова запустить node index.js.

<ч />

После того, как вы добавили второго участника, вы готовы. Теперь вы можете попытаться позвонить или отправить текстовый номер вашего телефона Twilio (который действует как прокси-сервер) с любого из ваших номеров (телефонов), а другие ваши номера (телефоны) получат текст или звонок.

<ч />Примечание: то, что вы делали на консоли Twilio, можно выполнить с помощью кода Node.js, снова прочитайте учебник и попытайтесь понять шаги и принципы работы кода.Если вам нужна дополнительная помощь, вы всегда можете задать еще один более конкретный вопрос здесь.

Удачи!

...