Открытый 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-->|      |                                |                      +------+  /        +------+                                \_______________________________/    

©  OpenNet