h1. Медиа прокси !>media_proxy_ru.gif! *Медиа прокси* - это вспомогательный модуль, отсутствующий в стандартной поставке Asterisk. Он был спроектирован и разработан нашей компанией с нуля. Его назначением является ускорение обработки медиа потоков, текущих через систему. Для некоторых бизнес приложений, например, [[Оптовая перепродажа|Оптовой перепродажи]], это очень важно, потому что оптовики обрабатывают сотни одновременных сессий. Проблема со стандартным методом обработки медиа потоков заключается в том, что для обработки одного пакета (приема и отправки) происходит несколько переключений контекста (между ядром и приложением) и несколько копирований самого пакета в памяти, что забирает значительное кол-во ресурсов процессора при большом кол-ве одновременных соединений. Улучшение производительности достигается за счет короткого медиа пути, поскольку *Медиа прокси работает полностью в режиме ядра операционной системы*. Таким образом, не делается переключений контекста между режимами ядра и приложения и ненужного копирования для обработки одного голосового пакета. Совместно с режимом FreeBSD "быстрый форвардинг" это дает скорость, ограниченную только возможностями системы как TCP/IP-маршрутизатора. CPU задействован практически только для подсчета контрольных сумм и маршрутизации. Хотя в целом идея не нова (FreeBSD уже имеет NAT(Network Address Translation) и маршрутизацию в ядре), при применении ее в VoIP мы получаем значительное улучшение производительности и это является единственным способом поддерживать высокую медиа нагрузку через систему (кроме кластеризации). *Медиа прокси* поддерживает: * аудио/видео RTP; * RTCP; * UDPTL (факсы по Т.38); * устройства за NAT. *Медиа прокси* активируется только когда: * каналы соединены; * медиа не идет напрямую от пира к пиру; * соединенные каналы имеют идентичные медиа форматы; * SBC (астериску) не нужно получать медиа из каналов (непример, запись разговоров не активирована); * [[Джиттер буфер]] не активирован. Тестирование показало впечатляющие результаты: до 1100 одновременных сессий с g711 кодеком (максимальная нагрузка) и двухсторонним аудио проходили через единственную Core 2 Duo систему. _Tаблица 1. Сравнение технологий соединения каналов._ |Технология соединения|Кол-во сессий| |*Самостоятельное*. Голос идет напрямую от пира к пиру.|неограниченное| |*Перекодировка*. Медиа формат перекодируется между соединенными каналами в режиме приложения.|зависит от кодеков| |[[Джиттер буфер]]. Медиа пакеты проходят через джиттер буфер в режиме приложения для сглаживания задержек.|380| |*Пакет к пакету*. Медиа пакеты копируются в режиме приложения между соединенными каналами.|580| |*Медиа прокси*. Медиа пакеты проходят только через ядро операционной системы.|1100| [[Media proxy|English translation]]