Одно из самых важных новшеств в готовящейся к релизу Asterisk 15 – создание базового многопоточного мультимедийного фреймворка. Благодаря новой архитектуре, платформу теперь можно использовать для избирательного форвардинга видео.
В версиях до 15 для обмена информацией между оконечными устройствами использовался только один поток. И, несмотря на наличие поддержки разных видов данных (аудио/видео/текст), их передача происходит только в однопоточном режиме, что ограничивает функционал при проведении конференций. В новой версии допускается многопоточность при использовании поддерживаемых драйверов канала SIP (пока что это только PJSIP). Если рассматривать это на примере видеоданных, в одну и ту же сессию можно получать и отправлять одновременно и VP8, и H.264.
Чтобы добавить поддержку многопоточности в драйвер канала PJSIP, необходимо задать опциям max_audio_streams и max_video_streams для данного оконечного устройства значения выше 1 (стандартного). Обратите внимание, что в pjproject выставлен жёсткий лимит на общее число потоков для всех комбинаций. Если использовать “pjproject bundled”, этот лимит будет равен 16.
В дальнейшем разработчик планирует продолжать работу в этом направлении.