Nexmo-Vonage: выполнить вызов с VoIP-устройства Vonage на телефон, инициировать на сервере

#voip #voice #nexmo #outbound #vonage

#voip #голос #vonage #исходящий

Вопрос:

У моего клиента есть бизнес-аккаунт Vonage, в который входит небольшой штат сотрудников, работающих из дома, использующих жесткие VoIP-телефоны Vonage для звонков клиентам.

Звонки от персонала клиентам автоматически инициируются с сервера с помощью URL-адреса webhook. Этот API webhook устарел (что-то, что Vonage приобрела у Vocalocity), и Vonage издает звуки, что они прекратят его. Вместо этого они нажимают Nexmo.

Документация Nexmo и GitHub содержит примеры того, как выполнять исходящий вызов. Тем не менее, все примеры, похоже, написаны вокруг воспроизведения записи преобразования текста в речь с программного телефона Nexmo #. Это не то, что нужно моему клиенту. Нам нужно инициировать вызов с сервера моего клиента, чтобы персоналу не приходилось вручную набирать номер телефона, чтобы поговорить с клиентом.

Как я могу настроить Nexmo для выполнения вызова с уже существующей учетной записи / номера телефона Vonage?

Я использую Python и написал следующий код:

 from nexmo import Client, Voice
import sys

APPLICATION_ID = sys.argv[1]
PRIVATE_KEY = sys.argv[2]
callFrom = sys.argv[3]
callTo = sys.argv[4]
answer_url = 'https://developer.nexmo.com/ncco/tts.json'

client = Client(application_id=APPLICATION_ID, private_key=PRIVATE_KEY)
voice = Voice(client)
response = voice.create_call({
  'to': [{'type': 'phone', 'number': callTo}],
  'from': {'type': 'phone', 'number': callFrom},
  'answer_url': [answer_url]
})

print(response)
  

Ответ №1:

Чтобы подключить существующий добавочный номер VBC к новому разговору Vonage Voice API, сначала необходимо инициировать разговор с ТСОП, используя в качестве номера виртуально подготовленный номер телефона Vonage from (подробнее здесь).

Затем вы можете использовать connect действие в NCCO для подключения добавочного номера VBC к разговору.

Последующий connect NCCO будет выглядеть следующим образом:

 [
  {
    "action": "talk",
    "voiceName": "Russell",
    "text": "Hi there, connecting you to your Vonage Business Cloud Extension"
  },
  {
    "action": "connect",
    "endpoint": [
      {
        "type": "vbc",
        "extension": "111" // supply your VBC extension here
      }
    ]
  }
]