Главным элементом системы ECSS-10 является программное обеспечение (далее ПО). ПО состоит из кластеров, выполняющих различные функции. Каждый кластер включает в себя одну или несколько нод. Прикладное программное обеспечение является полностью переносимым, что позволяет использовать любую операционную систему, как семейства Unix/Linux, так и серверные OC от Microsoft, а также использовать широкий спектр аппаратных архитектур, не ограничиваясь серверными платформами Intel/AMD. В настоящий момент в системе ECSS-10 используется операционная система с открытым исходным кодом Ubuntu Server.
Переносимость, высокая надежность и эффективность ПО обеспечиваются:
- использованием при разработке ПО открытого специализированного функционального языка программирования Erlang и большого набора программных библиотек OTP (Open Telecom Platform);
- модульностью ПО;
- функциональной изолированностью модулей;
- согласованностью межмодульных интерфейсов;
- использованием модульного и системного тестирования как ПО, так и всей системы ECSS-10, встроенного в процесс разработки;
- высоким уровнем квалификации и инженерной культуры разработки.
В состав ПО системы ECSS-10 входят следующие типы кластеров, рисунок 3:
- Storage – обеспечивает хранение долговременных данных (конфигурации);
- BUS – интеграционная шина, обеспечивает надежную передачу сообщений между подсистемами;
- Core – осуществляет управление вызовом, маршрутизацию телефонных вызовов и управление предоставлением услуг, собирает тарификационные данные об обслуженных вызовах и взаимодействует с посредником СОРМ;
- Adapter (Protocol adapter - PA) – адаптирует определенный сигнальный протокол к внутреннему протоколу сигнализации ECSS-10;
- Mediator – обеспечивает функции управления системой ECSS-10, предоставление статистической информации и аварийной сигнализации;
Рисунок 3 – Функциональный состав ПО системы ECSS-10