VoIP
VoIP (англ. voice over IP — голос через IP) — технологія передачі медіа-даних у реальному часі за допомогою сімейства протоколів TCP/IP. IP-телефонія — система зв'язку, в якій аналоговий звуковий сигнал абонента дискретизується (кодується в цифрову форму), компресується й пересилається цифровими каналами зв'язку до іншого абонента, де проводиться зворотня операція — декомпресія, декодування й відтворення аналогового сигналу.
Частина протоколів із сімейства VoIP затверджується Інтернет-співтовариством як RFC (англ. request for comments), частина — міжнародними організаціями (IETF тощо).
Основу технології VoIP складає протокол RTP (англ. real time protocol — протокол реального часу) RFC 1889 чи RFC 3550, надбудований над протоколами UDP/IP, а також протоколи (методи) кодування медіа-даних (для кодування голосу — це протоколи G.711, G.723, G.729, GSM, Speex та інші, для кодування відео — протоколи RFC ???).
Існують розширення (профілі) протоколу RTP, наприклад, SRTP (secure RTP), (RFC 1890, RFC 2198, RFC 3711 тощо).
Протоколи забезпечують реєстрацію IP-пристрою (шлюз, термінал або IP-телефон) на сервері або гейткіпері провайдера, виклик і/або переадресацію виклику, встановлення голосового з'єднання, передачу імені і/або номера абонента. Зараз широкого поширення набули такі протоколи VoIP:
- SIP — забезпечує передачу голосу, для сигналізації зазвичай використовує порт 5060 UDP;
- H.323 — протокол, більш прив'язаний до систем традиційної телефонії, ніж SIP, сигналізація — через порт 1720 TCP;
- IAX2 — через 4569 UDP-порт передаються і сигналізація, і медіа;
- MGCP;
- SIGTRAN;
- SCTP;
- SGCP;
- Skinny/SCCP;
- Unistim — закритий протокол передачі сигнального трафіку в продуктах компанії Nortel.
Джерело інформаційних даних — мовний сигнал, можливою моделлю якого є нестаціонарний випадковий процес. У першому наближенні можна виділити такі типи сигнальних фрагментів: вокалізування, невокалізування, перехідні і паузи. При передачі мови в цифровій формі кожен тип сигналу при одній і тій же тривалості й однаковій якості вимагає різного числа біт для кодування q передачі. Отже, швидкість передачі різних типів сигналу також може бути різною, що обумовлює застосування кодеків зі змінною швидкістю. В результаті передача мовних даних у кожному напрямі дуплексного каналу розглядається як передача асинхронних логічно самостійних фрагментів цифрових послідовностей (транзакцій) з датаграмною синхронізацією усередині транзакції, наповненої блоками різної довжини.
У основі кодека мови зі змінною швидкістю лежить класифікатор вхідного сигналу, що визначає ступінь його інформативності і, таким чином, задає метод кодування і швидкість передачі мовних даних. Найпростішим класифікатором мовного сигналу є VAD (англ. Voice Activity Detector, детектор мовної активності), який виділяє у вхідному мовному сигналі активну мову і паузи. Фрагменти сигналу, що класифікуються як активна мова, кодуються якимось із відомих алгоритмів (як правило, на базі методу Code Excited Linear Prediction — CELP) із базовою швидкістю 4 — 8 кбіт/с. Фрагменти, класифіковані як паузи, кодуються й передаються з низькою швидкістю (порядку 0.1 — 0.2 Кбіт/с) або не передаються взагалі. Коли спрацьовує VAD, на приймальній стороні може автоматично генеруватися так званий «комфортний шум», щоб у співбесідника не виникало відчуття пропажі зв'язку. При цьому надається перевага передачі мінімальної інформації про фрагменти пауз. Ця стратегія дозволяє оптимізувати швидкість кодування до 2 — 4 кбіт/с при достатній якості мови, що синтезується. При цьому для особливо критичних фрагментів мовного сигналу виділяється велика швидкість передачі, для менш відповідальних — менша.
Вокодер вносить додаткову затримку порядку 15 — 45 мс, що виникає з таких причин:
- використання буфера для накопичення сигналу й обліку статистики подальших відліків (алгоритмічна затримка);
- математичні перетворення, що виконуються над мовним сигналом, вимагають процесорного часу (обчислювальна затримка).
Цю затримку необхідно враховувати при розрахунках повних затримок. Проведений у різних дослідницьких групах аналіз якості передачі мовних даних через мережу Інтернет показує, що основним джерелом виникнення спотворень, зниження якості й розбірливості синтезованої мови є переривання потоку мовних даних, викликане:
- втратами пакетів при передачі через мережу зв'язку;
- перевищенням допустимого часу доставки пакету з мовними даними.
Це вимагає вирішення задачі оптимізації затримок у мережі й створення алгоритмів компресії мови, стійких до втрат пакетів (із відновленнями втрачених пакетів).
Відкриті:
- GSM
- G.711 uLaw інакше (Mu-law)
- G.711 aLaw
- G.722
- G.726
- Speex
- iLBC
Пропрієтарні:
- G.729
- G.729A
- G.723
- G.723.1
Для відновлення мовного потоку (з урахуванням можливих втрат пакетів у мережі) на приймальній стороні використовується протокол реального часу — Real Time Protocol (RTP). У заголовку цього протоколу, зокрема, передаються часова мітка й номер пакету. Ці параметри дозволяють при мінімальних затримках визначити порядок і момент декодування кожного пакету, а також інтерполювати втрачені пакети. Відновлена послідовність (із можливими пропусками як поодиноких пакетів, так і їх груп) поступає на декодер. Декодер має забезпечити відновлення мовної інформації, заповнення пауз фоновим шумом, а також ехо-компенсацію кодованого сигналу, виявлення й детектування телефонної сигналізації.
Можливість передачі голосових повідомлень через мережу з пакетною комутацією вперше була реалізована в 1993 році. Ця технологія отримала назву VoIP (Voice over IP). Одним із окремих застосувань цієї технології є IP-телефонія — послуга передачі телефонних розмов абонентів засобом протоколу IP.
Основними перевагами технології VoIP є скорочення необхідної смуги пропускання каналу передачі, що забезпечується обліком статистичних характеристик мовного трафіку:
- блокуванням передачі пауз (діалогових, складових, смислових і ін.), які можуть складати до 40 — 50 % часу зайнятості каналу;
- високою надмірністю мовного сигналу і його стисненням (без втрати якості при відновленні) до рівня 20 — 40 % початкового сигналу.
З іншого боку, трафік VoIP критичний до затримок пакетів у мережі, але толерантний (стійкий) щодо втрат окремих пакетів. Так втрата до 5 % пакетів не призводить до погіршення розбірливості мови.
TLS (Transport Layer Security) — це протокол шифрування, розроблений для захисту / шифрування SIP-повідомлень, що відправляються програмним телефоном або УАТС. Він захищає зв'язок, який відбувається між додатком (зазвичай вашим браузером) та сервером.[1]
- ↑ Кращі практики для захисту ваших дзвінків VoIP: Протокол TLS. Архів оригіналу за 1 жовтня 2020.
- Номадичні номери в Україні, Маргарита Ормоцадзе, Telecomer [Архівовано 8 лютого 2012 у Wayback Machine.]
- 360 млн грн щорічно оптимізуються завдяки схемам із рефайлом, Маргарита Ормоцадзе, тижневик «Власть денег» № 318
- Як і хто в Україні ставить перепони розвитку IP-телефонії, Станіслав Юрасов, Telecomer
- VoIP independent discussion and support topics relating to Voice over IP. [Архівовано 1 квітня 2022 у Wayback Machine.] (англ.)
- Атака на VoIP: Перехоплення [Архівовано 3 квітня 2008 у Wayback Machine.] і Підслуховування [Архівовано 30 березня 2012 у Wayback Machine.]