ЭрикссонСофт

+7 (953) 284-42-23

Программа «vBSC» (Virtual Base Station Controller) представляет собой программную реализацию контроллера базовых станций (BSC), предназначенную для управления базовыми станциями (BTS) в сетях GSM. Продукт разработан на языке C++20 с применением современной многопоточной архитектуры и конечных автоматов (FSM).

Область применения

Программное обеспечение предназначено для использования в следующих сценариях:

Развертывание в тестовых и лабораторных средах для отработки сетевых взаимодействий

Обучение и повышение квалификации специалистов в области сетевых технологий GSM

Прототипирование новых сервисов и функций сети

Интеграционное тестирование смежного телекоммуникационного оборудования

Место в сетевой инфраструктуре

В архитектуре сетей мобильной связи vBSC выполняет функции уровня управления радиосетью (Base Station Controller):

Управление одной или несколькими базовыми станциями (BTS) через интерфейс Abis

Взаимодействие с центром коммутации мобильной связи (MSC) через интерфейс A

Обеспечение процедур хэндовера (handover) между сотами и между BSC

Управление радиоресурсами (RRM) — выделение, контроль и освобождение радиоканалов

Объединение этих функций в едином программном продукте позволяет создавать компактные стенды, моделирующие работу контроллера базовых станций без необходимости развертывания распределенной инфраструктуры.

Ключевые особенности

Основными особенностями данной реализации являются:

Многоуровневая архитектура с разделением функций по слоям: начальной загрузки, управления, сигнализации, конечных автоматов, транспорта и наблюдаемости

Поддержка полного набора интерфейсов: A (BSSAP/BSSMAP/SCCP/SIGTRAN), Abis (OML/RSL), VTY/CTRL, CBSP, Lb/LCS, MGCP/LCLS, PCU/GPRS, VGCS/VBS

Управление через VTY (текстовый интерфейс) и CTRL (API статистики)

Возможность изменения конфигурации в реальном времени без перезапуска через динамическую перезагрузку

Хранение и отображение контекстов абонентов и состояний каналов

Модульная структура, допускающая поэтапное наращивание функциональности

Программа vBSC обеспечивает выполнение следующих основных функций:

Управление базовыми станциями (BTS) через интерфейс Abis (OML/RSL)

Сигнализация с центром коммутации MSC через интерфейс A (BSSAP/BSSMAP/SCCP/SIGTRAN)

Управление радиоресурсами (выделение, мониторинг и освобождение каналов)

Поддержка процедур хэндовера (внутри-BSC, меж-BSC)

Обработка широковещательных рассылок через CBSP

Процедуры определения местоположения (LCS) через интерфейс Lb

Управление медиашлюзами (MGCP) и локальной коммутацией каналов (LCLS)

Интеграция с пакетным доменом (PCU/GPRS)

Предоставление интерфейсов оперативного управления (VTY) и сбора статистики (CTRL)

Программная реализация основана на многоуровневой архитектуре:

Слои исполнения:

Слой начальной загрузки — чтение конфигурации, инициализация логирования и контекста выполнения, построение графа внутренних сервисов

Слой управления — управление жизненным циклом BTS, TRX, TS, LCHAN, применение политик аллокации, пейджинга и хэндовера

Слой сигнализации — прием сигнальных сообщений, проверка маршрутов, диспетчеризация событий в FSM

Слой конечных автоматов — явные переходы состояний, поведение по таймаутам и семантика восстановления

Слой транспорта/ввода-вывода — инкапсуляция обмена сокет/сообщение, изоляция фреймирования протокола от бизнес-логики

Слой наблюдаемости — логи, метрики и сигналы здоровья/ошибок для эксплуатации

Общие структуры данных:

Хранилище конфигурационных параметров

Контексты абонентских устройств (UE-контексты)

Контексты радиоканалов (LCHAN)

Журнал событий

Программное обеспечение функционирует в следующих режимах:

Режим ожидания:

Потоки управления ожидают входящих сообщений от BTS и MSC

Сетевые серверы прослушивают заданные порты (VTY, CTRL, SIGTRAN)

VTY/CTRL интерфейсы готовы к приему команд

Режим обработки сигнального трафика:

Прием и разбор входящих сообщений протоколов (OML, RSL, BSSAP, CBSP, LCS, MGCP)

Формирование и отправка ответов

Обновление контекстов каналов и абонентов

Режим конфигурирования:

Изменение параметров работы в реальном времени через VTY

Динамическая перезагрузка конфигурации без остановки основного процесса

Текущая реализация:

Протокол BSSAP (Base Station System Application Part) для сигнализации между BSC и MSC

BSSMAP (Base Station System Management Application Part) для управления радиоресурсами и процедурами мобильности

SCCP (Signalling Connection Control Part) для адресации и мультиплексирования соединений

SIGTRAN (SCTP) для транспортировки сигнализации поверх IP-сетей

Поддержка процедур: установление соединения, передача сообщений, разъединение

Текущая реализация:

OML (Operations and Maintenance Link) — управление конфигурацией BTS, загрузка программного обеспечения, управление состоянием

RSL (Radio Signalling Link) — выделение и освобождение радиоканалов, управление мощностью, измерения

Поддержка трех типов BTS: nanoBTS, RBS2000, osmoBTS

Поддержка 11-битного RACH (Random Access Channel) для современных телефонов

Поддержка OML/RSL поверх IPA/TCP

Текущая реализация:

VTY (Virtual Teletype) — текстовый интерфейс управления, аналогичный Cisco CLI

CTRL (Control Interface) — API для сбора статистики и управления через текстовые команды

Более 40 CTRL-команд для мониторинга состояния, счетчиков производительности и аварий

VTY команды для отображения состояния BTS, каналов, хэндоверов, конфигурации

2.4 Интерфейс CBSP (Cell Broadcast Service Protocol)

Текущая реализация:

Полная реализация протокола CBSP для широковещательной рассылки сообщений по сотам

Поддержка процедур: KEEP_ALIVE, WRITE-REPLACE, KILL, LOAD, RESET, STATUS

Интеграция с SMS-CB (Cell Broadcast Center)

Логирование repetition_period от CBC

Текущая реализация:

Протокол Lb для взаимодействия BSC с SMLC (Serving Mobile Location Centre)

Процедуры определения местоположения: запрос местоположения (Location Request), отчет о времени прибытия (TA Request)

Поддержка таймера T11 для процедур LCS

Полный конечный автомат LCS (5 состояний, 6 событий)

Текущая реализация:

MGCP (Media Gateway Control Protocol) — управление медиашлюзами (CRCX, MDCX, DLCX)

LCLS (Local Call Local Switching) — локальная коммутация вызовов внутри BSC без привлечения медиашлюза

Управление RTP-потоками для каналов

Обработка рассогласования режимов LCLS с fallback на MGW

2.7 Интерфейс PCU/GPRS (Packet Control Unit / GPRS)

Текущая реализация:

Протокол PCU (Packet Control Unit) Socket для взаимодействия с пакетным доменом

Управление NSE (Network Service Entity) и NSVC через конечные автоматы

Поддержка GPRS-ячеек

VTY команда show pcu для отображения состояния соединения и per-BTS статуса GPRS

Текущая реализация:

Полный FSM для групповых и широковещательных вызовов

Поддержка вызовов VGCS (групповой вызов) и VBS (широковещательный вызов)

Управление каналами групповых вызовов (7 состояний FSM)

VTY команда show vgcs для отображения активных вызовов с состоянием, callref и количеством каналов

Программное обеспечение предоставляет VTY (Virtual Teletype) интерфейс на базе TCP-сервера (порт 4242) с поддержкой следующих команд:

Команды мониторинга состояния:

show bts — отображение версии, состояния узла, списка активных BTS

show trx — вывод состояния транспортов и каналов

show lchan — отображение состояния радиоканалов

show stats — вывод всех счетчиков производительности

show smlc — отображение состояния Lb интерфейса (включен, CS7 instance, адреса, состояние сброса BSSMAP)

show pcu — отображение статуса PCU сокета и per-BTS режима GPRS

show vgcs — отображение активных VGCS/VBS вызовов

Команды управления:

bts N trx M timeslot K — конфигурирование таймслотов

handover — управление параметрами хэндовера

logging — управление уровнем логирования

write — запись конфигурации в файл

Программное обеспечение поддерживает следующие параметры настройки в файле конфигурации (формат VTY config):

Параметры сети (BSC):

bts N — идентификатор BTS

type nanoBTS / rbs2000 / osmoBTS — тип базовой станции

cell_identity — идентификатор соты

location_area_code — код зоны расположения (LAC)

base_station_identity_code — BSIC

Параметры трансивера:

trx N — идентификатор трансивера

arfcn — абсолютный номер радиоканала

nominal power — номинальная мощность

Параметры интерфейсов:

bsc_ip — IP-адрес BSC

msc_ip — IP-адрес MSC (для A интерфейса)

smlc_ip — IP-адрес SMLC (для Lb интерфейса)

cbc_ip — IP-адрес CBC (для CBSP интерфейса)

При запуске программа автоматически загружает конфигурацию из файла в рабочей директории (обычно vbsc.cfg).

Поддерживается динамическая перезагрузка конфигурации без остановки процесса через VTY команду «write» с последующей загрузкой.

Программное обеспечение поддерживает уровни серьезности сообщений:

DEBUG — детальная отладочная информация

INFO — информирование о штатных событиях работы системы

WARNING — предупреждения о нештатных ситуациях, не приводящих к отказу

ERROR — ошибки, влияющие на отдельные функции

CRITICAL — критические отказы подсистем

Формат строки вывода:

YYYY-MM-DD HH:MM:SS.mmm [УРОВЕНЬ] [КОМПОНЕНТ] Сообщение

Каждая запись содержит временную метку с точностью до миллисекунды, уровень серьезности, наименование компонента-источника и текст сообщения.

Все события дублируются в файл журнала, расположенный по пути относительно рабочей директории. Формат записи в файле аналогичен консольному выводу без ANSI-кодов.

Уровень логирования задается в файле конфигурации.

Хранилище LCHAN-контекстов предназначено для отслеживания состояния радиоканалов. В текущей реализации структура контекста включает:

Номер BTS, TRX, TS (таймслот)

Тип канала (SDCCH, TCH_F, TCH_H)

Состояние FSM канала

Время выделения

Информация об абоненте (IMSI, TMSI)

Хранилище контекстов вызовов для голосовых и групповых вызовов:

VGCS/VBS контексты (групповые/широковещательные вызовы)

Состояние вызова (активен, устанавливается, завершается)

Список участников (для VGCS)

Хранилище контекстов для процедур определения местоположения:

Тип запроса (Location Request, TA Request)

Состояние FSM LCS (5 состояний)

Таймер T11

Результат измерения

Программное обеспечение поддерживает два режима сборки:

Минимальный загрузчик — компилируется без внешних зависимостей (кроме C++20 toolchain), используется для проверки цепочки инструментов и пути запуска

Полная сборка — включает все ключевые модули (A, Abis, VTY/CTRL, CBSP, Lb, MGCP, PCU, VGCS) и требует библиотеки libosmocore, libosmo-abis, libosmo-netif

Программное обеспечение проходит следующие виды тестирования:

Модульные тесты (unit tests) для LCS FSM, VGCS FSM, PCU сокета

Интеграционные тесты для A интерфейса, Abis интерфейса, Lb интерфейса, VGCS вызовов

VTY транскрипт-тесты для проверки интерфейса управления

Покрытие кода составляет 90% и более

Smoke-скрипты для взаимодействия с Open5GS (NGAP/PDU session)

Набор эталонных трасс (pcap) для регрессионной проверки

Воспроизводимые сценарии с документированными командами запуска

Матрица сборок для Windows (MSVC) и Linux

Публикация тестовых логов и артефактов при падениях

Конвейер статического анализа (clang-tidy/format/lint)

Бенчмарки латентности планировщика и сквозного пути передачи данных

Расширенные метрики (гистограммы латентности, счетчики ошибок на интерфейс)

Автоматическая проверка регрессий производительности

Валидация и лимиты для VTY/CTRL интерфейсов (размер полезной нагрузки, частота запросов)

Негативные и fuzz-тесты для путей парсеров и кодеков

Модель угроз и документация

Текущая реализация (C++):

struct gsm_lchan {
uint8_t bts_nr;
uint8_t trx_nr;
uint8_t ts_nr;
enum lchan_state state;
struct lchan_rtp_info rtp;
struct lchan_lcls lcls;
struct lchan_meas meas;
};

Текущая реализация (C++):

struct vgcs_call {
uint32_t callref;
enum vgcs_call_state state;
struct lchan *chan_list;
time_t start_time;
};

Текущая реализация (C++):

struct lcs_loc_req {
uint32_t locRef;
enum lcs_state state;
uint8_t timer_T11;
struct lcs_ta_measurement ta;
};

Отдел продаж

+7 (953) 284-42-23

sales@ericssonsoftware.ru

Мы в соц.сетях

Информация

Адрес

242504
Брянская область
Карачевский район, Вишневка
Молодёжная улица, 33

Информация

Отдел продаж

+7 (953) 284-42-23

sales@ericssonsoftware.ru

Адрес

242504
Брянская область,
Карачевский район,
Вишневка, Молодёжная улица, 33