Введение

Пионерский VoIP-протокол

Сетевой голосовой протокол (Network Voice Protocol, NVP) был пионерским протоколом компьютерной сети для передачи человеческой речи по сетям связи с пакетной коммутацией. Он являлся ранним примером технологии Voice over Internet Protocol.

История

NVP был впервые определен и реализован в 1974 году, разработка велась проектом “Speech” в ISI, Институте информационных наук Университета Южной Калифорнии (USC), после начальных работ, начатых в 1973 году. Руководил работами в ISI Дэнни Коэн из Института информационных наук (ISI) Университета Южной Калифорнии, при финансировании от программы ARPA Network Secure Communications (NSC). Заявленными целями проекта были "разработка и демонстрация осуществимости безопасной, высококачественной, с низкой пропускной способностью, в режиме реального времени, полнодуплексной (двухсторонней) цифровой голосовой связи по сетям компьютерных коммуникаций с коммутацией пакетов [и] предоставление оцифрованной речи, которую можно защитить существующими устройствами шифрования. Основная цель этого исследования – продемонстрировать возможность высококачественной, низкоскоростной и безопасной обработки голоса в рамках общих военных требований к глобальной защищенной голосовой связи". Первая демонстрация NVP состоялась в августе 1974 года между группами из ISI и MIT Lincoln Laboratory. Это был первый в истории "телефонный звонок" через компьютерную сеть. Это стало возможным благодаря пользователям специализированных кодеков, разработанных компаниями BB&N, Bolt Beranek и Newman. В работе в целом участвовало множество других исследователей по всей стране. Необходимые изменения подсети (между IMP) для пересылки пакетов в реальном времени обсуждались в ISI в марте 1974 года под председательством Боба Кана, директора программы DARPA по проекту “Speech”. В конце встречи он подвел итоги и поручил BB&N внести необходимые обновления в подсеть. NVP использовался для передачи речи между распределенными узлами в ARPANET с применением различных методов кодирования голоса, включая линейное предсказательное кодирование (LPC) и дельта-модуляцию с непрерывно изменяемым наклоном (CVSD). Среди исследователей были Стив Каснер, Рэнди Коул и Пол Равеллинг (ISI); Джим Форджи (Lincoln Laboratory); Майк МакКаммон (Culler Harrison); Джон Маркель (Speech Communications Research Laboratory); Джон Махул (Bolt, Beranek and Newman), а также Род МакГайр и Филипп Рубин (Haskins Laboratories). NVP использовался с экспериментальным оборудованием Voice Funnel (приблизительно в феврале 1981 года), основанным на компьютерах BBN Butterfly, в рамках продолжающихся исследований ARPA в области пакетной передачи аудио. Сотрудники и подрядчики ARPA использовали Voice Funnel и сопутствующие видеосредства для проведения трехсторонних и четырехсторонних видеоконференций между несколькими площадками на восточном и западном побережьях США. Следует также отметить вклад Дэйва Ретца и его группы из Лаборатории речевой коммуникации Калифорнийского университета в Санта-Барбаре. ISI использовал его операционную систему ELF для ранней разработки речевых сетей, включая расширение функциональности до речевых конференций.

Протокол

Протокол состоял из двух различных частей: протоколов управления и протокола передачи данных. Протоколы управления включали относительно простые функции телефонной связи, такие как индикация, кто хочет поговорить с кем; сигналы вызова; согласование кодирования голоса; и завершение вызова. Сообщения данных содержали закодированную речь. Для каждой схемы кодирования (вокодера) фрейм определялся как пакет, содержащий согласованный интервал передачи определенного количества оцифрованных выборок голоса. NVP передавался по протоколу Internet Stream Protocol (ST) и более поздней версии, названной Stream Protocol, версия 2 (ST II), оба являлись версиями, ориентированными на установление соединения, протокола Internet Protocol (IP) и использовали протокол IP версии 5. Эти протоколы можно рассматривать как ранние эксперименты в области качества обслуживания и сетевых протоколов с установлением соединения, таких как режим асинхронной передачи (ATM).