Yate (Yet Another Telephony Engine) — модульный сервер телекоммуникационных услуг, разработанный для организации обработки голосового и сигнально-сетевого трафика в телеком-инфраструктуре. Проект ориентирован на гибкость и расширяемость: ядро реализует маршрутизацию вызовов и обработку сигнализации, а функциональность дополняется модулями для работы с различными протоколами и сервисами. Yate применяется в ролях IP-PBX, softswitch, SMSC, HLR/HSS и других сетевых элементов, а также служит платформой для разработки кастомных телеком-приложений.
Архитектура Yate основана на модульной структуре и наборах интерфейсов для связи между компонентами: протоколы и логика услуг реализуются в виде модулей, которые могут подключаться к общему ядру. Программная реализация преимущественно на C++ обеспечивает высокую производительность, а встроенный интерпретатор JavaScript предоставляет средства быстрой конфигурации и расширения логики без перекомпиляции. Поддерживаемые протоколы включают SIP и другие VoIP-стандарты, а также традиционные телеком-протоколы и сервисные интерфейсы для авторизации и биллинга.
- Модульная архитектура с независимыми плагинами для обработки протоколов и сервисов.
- Поддержка VoIP и SIP для установки и маршрутизации голосовых вызовов.
- Интеграция с сетевыми протоколами операторского уровня (например, SS7, Diameter, Radius) — модули реализуют соответствующие функции при наличии необходимости.
- Возможности использования в роли IP-PBX и softswitch с функциями маршрутизации, переадресации и управления очередями.
- Реализация элементов мобильной подсистемы (HLR/HSS) и сервисов обмена сообщениями (SMSC) при помощи соответствующих модулей и сценариев.
- Встроенный интерпретатор JavaScript для написания сценариев обработки вызовов, правил маршрутизации и пользовательской логики.
- Высокая настраиваемость: правила маршрутизации, политики безопасности и межсетевые взаимодействия задаются конфигурацией и скриптами.
- Поддержка масштабирования и интеграции с внешними системами аутентификации, биллинга и базами данных.
- Инструменты для логирования и мониторинга состояния сервера и отдельных модулей.
- Возможность разработки кастомных телеком-приложений и интеграции с существующей операторской инфраструктурой.