Открытый 3G-стек Osmocom достиг возможности совершения голосовых звонков
Проект Osmocom (Open Source Mobile Communications) объявил о преодолении важного рубежа в развитии открытых компонентов для развёртывания сотовых сетей. Развиваемый проектом 3G-стек достиг состояния, при котором стало возможным создание конфигураций для обеспечения голосовых вызовов в сетях 3G, включающих только открытые компоненты. Успешно проведён эксперимент по обеспечению голосового вызова между двумя телефонами в открытой 3G-сети, построенной с использованием 3G-стека Osmocom и двух фемтосот hNodeB в роли базовых станций.
Подготовленный за последние несколько месяцев код с реализацией сигнального протокола IuCS, используемого для связи между контроллером радиосети (RNC) и опорной сетью коммутации каналов, уже принят в состав основной ветки открытого контроллера базовых станций OpenBSC. Компоненты для организации голосового канала связи в 3G потребовали более существенной работы, в частности привели к необходимости полной переработки ранее доступной открытой реализации MSC (Mobile Switching Center) и её отделения от кода BSC (Base Station Controller). Связанные с проектом исправления приняты в основные ветки репозиториев libosmocore, libosmo-abis, libsmpp34, libasn1c, osmo-iuh и openggsn. При этом для успешного повторения эксперимента пока требуется использование отдельных веток libosmo-netif, libosmo-sccp и asn1c.
Из ещё не доведённых до конца задач отмечается работа по интеграции средств аутентификации для 3G (данный код уже готов, но не включён в состав библиотек HLR/VLR и MSC, поэтому в эксперименте для аутентификации использовались жестко прошитые 2G-токены и специально подготовленные SIM-карты). В остальном всё готово для развёртывания рабочих 3G-сетей, инструкция по созданию которых предоставлена в анонсе проекта.
+--------+ ,-->| MGCPGW |<--RTP--... / | | | | |<--MGCP | +--------+ \ / | +------------+<--RTP +--------+ `->+----------+ UE <-->| hNodeB | | HNB-GW | | OsmoCSCN | UE <-->| |<--Iuh---->| |<--IuCS-->| | | | ...-->| | ...-->| | | | | | +----------+ +------------+<--GTP-U | | \ | | +------+ +------+ | | |<--IuPS-->| SGSN |<--GTP-C-->| GGSN | | +--------+ ...-->| | GTP-U-->| | | +------+ / +------+ \_______________________________/