Візуалізація (WebRTC)

Цей розділ описує конфігурацію візуалізації як учасника WebRTC. У розділі SIP-учасники подальше інтегрування учасників пояснюється.

Важлива помітка: WebRTC працює лише за допомогою HTTPS і дійсного сертифікату. В іншому випадку голосове з'єднання не буде встановлено.

Сигнальна станція

Телефон на візуалізації не можна досягти за допомогою дзвінка. Тому сигнал повинен окремо передаватися через Повідомлення або фізичний гонг. Після цього користувач може встановити голосове з'єднання з іншою стороною за допомогою дзвінка з візуалізації.

Щоб отримати сигнал, можна надіслати безпосередньо команду через TCP/UDP- або HTTP-інтерфейс від іншої сторони, якщо це підтримується. Альтернативно, вхідний дзвінок можна виявити за допомогою Asterisk AMI-інтерфейсу або з подією Плану вибору. Останній варіант найпростіший для реалізації.

Конфігурація

На відміну від телефону, конфігурацію адреси візуалізації автоматично створює сервер. Тому не потрібно конфігурувати SIP-адреси.

Щоб використовувати телефон на візуалізації, він додається до сторінки за допомогою плагіна Бібліотека. Якщо конфігурація телефону завершена і Asterisk-телефонна станція успішно запущена, кнопка FAB (Floating Action Button) відображається в правому нижньому куті візуалізації. Ця кнопка дозволяє користувачеві встановлювати з'єднання.

Конфігурація VoIP-телефонії поділена на два частини. Конфігурація серверів для візуалізації виконується в Мережевому інтерфейсі або в Віддаленому доступі. Всі налаштування для телефонної станції виконуються в Інфраструктурі під Мережа Телефонія. Налаштування схожі, тому слід уважно відноситися до того, де виконуються налаштування. Зазвичай використовуються ті самі налаштування, якщо сервер знаходиться в тій же мережі. За замовчуванням налаштування телефонії розповсюджуються на всі мережеві з'єднання.

Використання по всій світу

Щоб візуалізація могла встановлювати голосове з'єднання по всьому світу, WebRTC-UDP-пакети повинні надходити до внутрішньої телефонної станції. Якщо ви знаходитеся в тій же мережі або підключаєтеся через VPN, пакети безпосередньо надходять до сервера і зв'язок працює. Інша ситуація, коли візуалізацію відкривають з іншої мережі. Тоді IP-адресу сервера вже не можна досягти. Для цього є два рішення:

  • STUN-сервер: цей сервер розкриває кожну NAT-IP і надає ці адреси візуалізації. Візуалізація спробує встановити з'єднання з кожною з цих IP-адрес.
  • TRUN-сервер: голосове з'єднання встановлюється безпосередньо через TURN. Це означає, що зв'язок перенаправляється до TURN.

Всі інформації щодо конфігурації ви знайдете в розділі STUN- і TRUN-сервери.

Клавіатура

Під правою вкладкою в конфігурації телефону можна встановити клавіатуру для візуалізації. Ось приклад звичайної телефонної панелі клавіш:

!1;!2;!3
!4;!5;!6
!7;!8;!9
[icon:material/emergency]:*;!0;!#

Або використання відкривача дверей:

[icon:material/door_open] [txt:Open]:*1234#

Кожна цифра розділена крапкою з комою в кожному рядку. Якщо вміст залишається порожнім, кнопка відповідно пропускається. Кожна кнопка може містити індивідуальний текст. Текст просто пишеться перед кодом за допомогою подвійного двокрапки. Підтримуються також замісники [icon:] і [txt:] для перекладів. Вискокання перед текстом збільшує розмір шрифту панелі клавіш. Якщо використовується лише код, він не передається. Якщо вставляється порожній рядок, починається нова таблиця.

Важливо: Кожен код відображається у відкритому вигляді на візуалізації і може бути легко прочитаний.

Дійсні символи - 0-9, A-D, * і #. Також можна вставити паузу за допомогою коми (,). Для довших пауз повторюйте кому кілька разів.

Пошук помилок

Щоб перевірити, чи можна дійсно встановити зовнішнє з'єднання, рекомендується використовувати консоль браузера Chrome. До неї можна отримати доступ через URL chrome://webrtc-internals/.

У розділі ICE candidate grid можна, наприклад, показати вимоги до IP-адрес.

Відомі проблеми

  • На старих пристроях iOS не можна встановити з'єднання, якщо веб-додаток використовується у повноекранному режимі (PWA). Станом на 01.10.2019 (iOS13.1).
  • На деяких пристроях iOS гучність може бути дуже низькою. Подвійне натискання на мікрофон (голосове управління) збільшує гучність.
  • Не можна встановити з'єднання без HTTPS, оскільки більшість браузерів вимагають захищеного голосового зв'язку.