Открытый 3G-стек Osmocom достиг возможности совершения голосовых звонков

2016-10-05

Проект 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-->|      |
                              |                      +------+  /        +------+
                              \_______________________________/