С.А. Милованов

Локальная сеть GSM на основе OpenBTS

 

Часть 7. Реализация центра коммутации и

информационной подсистемы сети (PBX Asterisk)

 

 

Как было определено в статье 1, в качестве центра коммутации мобильной связи (MSC), а так же информационной подсистемы сети, включающей в себя HLR и VLR, используется PBX Asterisk.

 

Asterisk - это проект с открытым исходным кодом компании Digium, первоначально начатый Марком Спенсером.  Asterisk обладает всеми возможностями классической АТС, поддерживает множество VoIP протоколов и предоставляет функции голосовой почты, конференций, интерактивного голосового меню (IVR), центра обработки вызовов (постановка звонков в очередь и их распределение по агентам используя различные алгоритмы), запись CDR и прочие функции. Для создания собственной функциональности можно воспользоваться собственным языком Asterisk для написания диалплана, написав модуль на языке C, либо воспользовавшись AGI, который является гибким и универсальным интерфейсом для интеграции с внешними системами обработки данных.

Asterisk распространяется по условиям двойной лицензии, благодаря которой одновременно с основным кодом, распространяемым по открытой лицензии GNU General Public License, возможно создание закрытых модулей, содержащих лицензируемый код. Например, модуль для поддержки кодека G.729.

Приложение работает на операционных системах GNU/Linux, FreeBSD и Solaris и предназначено для создания решений компьютерной телефонии. Имя проекта произошло от названия символа *, который в Unix и DOS операционных системах обозначает совпадение любой последовательности символов в именах файлов.

Asterisk обеспечивает достаточное количество протоколов для поддержки соединений между традиционными системами телефонии и IP сетями, включая H.323, Session Initiation Protocol (SIP), Media Gateway Control Protocol (MGCP), and Skinny Client Control Protocol (SCCP) [2].

 

Самый простой способ заложить в Asterisk PBX как можно больше функций уровня управления проектируемой сети - использовать абонентские IMSI в качестве имен пользователей SIP и представлять каждый GSM-телефон в Asterisk как SIP-клиент.

 

Уровень управления OpenBTS (L3) в значительной степени предназначен для выполнения следующих операций:

1.  обновление информации о местоположении в сети GSM отобразить в качестве SIP-регистрации;

2.  транзакции соединения вызовов отобразить в качестве соответствующих транзакции SIP (так как управление вызовами в сети GSM очень похоже на работу протокола H.323 и управление вызовами ISDN/Q.931);

3.  каналы трафика отобразить в качестве каналов RTP.

 

Таким образом, в программном коде OpenBTS самостоятельно полностью реализованы только операции управления радиоресурсами, обеспечивающие функциональный эквивалент BSC. Все остальное отображается в качестве объектов протокола SIP и реализуется в Asterisk, обеспечивающей функциональный эквивалент MSC и структурные части системы SS7 [1, стр.24].

 

Программная среда Asterisk входит в список устанавливаемых компонентов проекта OpenBTS и имеет в своем составе всё необходимое для реализации MSC и информационной подсистемы проектируемой сети. Для корректного выполнения Asterisk возложенных не нее функций, необходимо лишь настроить ее на работу с конкретными мобильными станциями.

Перед началом конфигурации Asterisk необходимо знать IMSI мобильных станций, подключаемых к сети. Если IMSI изначально неизвестны, узнать их можно с помощью команды «tmsis», выполняемой в командном окне запущенной среды OpenBTS (подробнее см. в статье 8). Дальнейшая конфигурация Asterisk сводится к настройке двух конфигурационных файлов – «extensions.conf» и «sip.conf».

 

Конфигурационный файл «extensions.conf» расположен по адресу «/etc/asterisk/extensions.conf» и содержит список инструкций или шагов, которым будет следовать Asterisk в процессе обработки входящих и исходящих вызовов [3, стр.158]. Содержимое данного файла носит называние «диалплан». На рисунке 1 представлен упрощенный диалплан, реализующий обработку вызовов двух мобильных телефонов, содержащий краткое обозначение наиболее важных составляющих.

 



Рисунок 1. Диалплан

 

Второй конфигурационный файл «sip.conf» расположен по адресу «/etc/asterisk/sip.conf» и определяет настройку протокола SIP применимо к проектируемой сети.

 

 

Протокол  SIP (Session  Initiation  Protocol),  обычно  применяемый в VoIP-телефонах (как аппаратных, так и программных), отвечает за установку и разъединение соединения, а также за любые изменения, происходящие во время соединения, такие как переадресации [3, стр.117].

 

На рисунке 2 представлен вариант конфигурации протокола SIP, регистрирующий в проектируемой системе два мобильных телефона, содержащий краткое обозначение наиболее важных составляющих.