VoIP изнутри

Салиев Александр aka Fagot

Xakep, номер #053, стр. 053-074-3


Два других способа заключаются в упаковке сигнализации H.245 внутрь H.225. Это либо метод FastConnect, когда сигнализация H.245 урезается до блоков, содержащих только информацию, касающуюся логических каналов, и кладется внутрь H.225, в поле, именуемое FastStart, либо пакеты H.245 берутся целиком и кладутся в поле H245Control, этот метод называется H245Tunneling. Такие методы могут применяться как по отдельности, так и вперемешку. Посредством H.245 шлюзы договариваются об открытии необходимого количества логических каналов и их свойствах, сообщая об адресах и UDP-портах для каждого канала со своей стороны. По этим логическим каналам и бежит в обе стороны инфа (звук, видео, данные) в виде UDP-пакетов. Непосредственные интерфейсы общения с пользователем бывают самыми разными: промышленные VoIP-шлюзы обычно принимают в себя ISDN-потоки типа E1 (это АТМ-подобный поток, по которому можно гонять 30 телефонных соединений одновременно), исходящие из городских АТС. В более дешевые VoIP-шлюзы можно вставлять несколько (2-8) самых обыкновенных аналоговых телефонов. Программа-терминал на компьютере может работать с внешней камерой и звуковой картой, но все это никак не влияет на формат соединения, когда оно идет непосредственно по IP.

Новые фишки или H.225

Протокол H.225 призван реализовать все нововведения, которых не было в ISDN. В частности это вся IP-адресация, новые возможности адресации абонента по символьным именам или URL-подобной схеме, описание уникальных идентификаторов сессии (id звонка, id конференции), описание специфичных опций H.323 сессии (правила удержания соединений, методы обмена пакетами H.245, возможность вступления в конференцию и прочее).

Я тебя вижу, я тебя слышу. H.245

Передача информации между абонентами в концепции H.323 осуществляется по так называемым "логическим каналам". Логический канал - это установившееся двустороннее UDP-соединение, по которому в формате RTP/RTCP передаются данные по оговоренным правилам. Также для логического канала существует такое понятие, как "тип сессии". Существует 3 стандартных типа сессий: аудио, видео и данные. Сигнализация H.245 призвана создавать и разъединять эти каналы, а также проводить согласования по форматам передачи данных, которые поддерживаются обеими сторонами. Количество логических каналов может быть различным. Если для простой телефонной сессии хватит двух - один для голоса, и один для контроля, то для навороченной видеосессии понадобится четыре пары каналов - по паре на каждый канал стереозвука, пара для видео, и еще пара для удаленного управления камерой.

RTP+RTCP

В ATM-конвейерах все было замечательно, и можно было быть уверенным, что каждые n-цать микросекунд ты будешь гарантированно получать свой пакет с G.711-данными. В H.323 роль транспортного протокола для полезных данных возложена на UDP, и тут не все так радужно. Пакеты могут приходить совсем не с теми временными интервалами, с которыми отправлялись, могут менять порядок следования и даже вообще теряться в пути, не достигая получателя. Бороться с этими недоразумениями призваны протоколы RTP и RTCP.

Назад на стр. 053-074-2  Содержание  Вперед на стр. 053-074-4