Как реализовать звонок WebRTC?

Пишу бота для одного online сервиса звонков WebRTC
С сервера присылаются данные для подключения к TURN серверам.
Подскажите, как можно реализовать передачу аудио и получение его от звонящего?

Нужно готовое решение или пример кода на PHP или Node JS.

Передача пакетов по SRTP с защитой ZRTP.
Готовые аудиофайлы в подходящем формате для озвучки ботом уже лежат на сервере.

Пример конфига ICE серверов для подключения:
Спойлер
"ice_servers": [  
   {  
      "urls":[  
         "stun:59.213.22.11:8443"
      ]
   },
   {  
      "urls":[  
         "turn:59.213.22.11:8443?transport=udp"
      ],
      "username":"1234567891:3d6077641c0ff83f2baf8721657dce03-987654321",
      "credentialType":"password",
      "credential":"Po\/9QZBYu4hsWXCV30Plu+8l9y4="
   },
   {  
      "urls":[  
         "turn:59.213.22.11:8443?transport=tcp"
      ],
      "username":"1234567891:3d6077641c0ff83f2baf8721657dce03-987654321",
      "credentialType":"password",
      "credential":"Po\/9QZBYu4hsWXCV30Plu+8l9y4="
   }
]

Остальные, возможно, нужные данные:
Спойлер
"zrtp-hash" : "1.10 397ca930186c896dde33b896b793100364151820887f088020a3ad0d4c4dcda1",
"candidate": [
    {
      "generation": 0,
      "ip": "222.111.22.11",
      "name": "audio_rtp",
      "network_name": "wlan0",
      "password": "f13o7dtcakjh316",
      "port": "45591",
      "priority": 1.0,
      "proto": "udp",
      "type": "local",
      "username": "P3O+VUco5nipV1RY"
    }
  ],
"fast_connect": 2,
"jb_flags": 3,
"peerList": [],
"timeoutSec": 60,
"useragent": {
    "caps": 3847,
    "state": 7,
    "ua_ver": "com.adroid.app 1.1",
    "voip_ver": "voip android release version:1.2.0.569 date:Jul 12 2018 19:23:12"
}
  • Вопрос задан
  • 378 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Wexter
freeswitch + sipml5
Ответ написан
Комментировать
@aylarov
Немного не то что вы спросили, но можно попробовать https://voximplant.com
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы