【SDR】OpenBTS 使用及介绍

Preface

       在上一篇博文中对OpenBTS做了简单的介绍,包括其特点及安装步骤,这篇博文将继续对OpenBTS进行介绍,首先对OpenBTS的配置及使用进行介绍,稍后对OpenBTS进行深入的解析,如其软件架构以及各自的功能。

OpenBTS Configuration

        OpenBTS提供了两种方式来对基站进行配置:OpenBTSCLI 以及 nmcli.py脚本,其中OpenBTSCLI是交互式的命令行界面,而nmcli.py是基于JSON的一种形式,下面详细介绍其用法。

1、OpenBTSCLI

        OpenBTS环境搭建好之后,可以通过OpenBTS启动命令来运行,在上一篇博文中也提到过,可以将启动命令及停止命令都写成脚本来运行;启动OpenBTS之后,进入/OpenBTS目录,运行./OpenBTSCLI进行OpenBTS的配置:

【SDR】OpenBTS 使用及介绍_第1张图片

        从提示中我们可以看到,有四个命令进行下一步的操作:

               help:查看命令;

               version:查看版本信息;

               notices:查看license信息;

               quit:退出命令行界面;

        运行help,查看运行命令:

【SDR】OpenBTS 使用及介绍_第2张图片

        对于配置及查询命令,我们也可以通过 help来进行查看具体的命令功能,如下面所示:

【SDR】OpenBTS 使用及介绍_第3张图片

       对于基站的配置,提供了以下几种config命令:configdevconfigunconfig以及rmconfig,其中config以及devconfig对基站进行配置及查询,而unconfig将基站的信息设置为空,rmconfig将基站配置信息恢复为默认值。

       在OpenBTSCLI中输入config将可以看到能够进行配置的项目,如果要具体看哪个信息,可以在config后面加上即可,如果想看关于LUR的信息,可以按照下图来进行:

【SDR】OpenBTS 使用及介绍_第4张图片

【SDR】OpenBTS 使用及介绍_第5张图片

        下面介绍简单的配置命令,使得手机能够接入:

               config GSM.Identity.MCC 460             // 默认为001,可以不改

               config GSM.Identity.MNC 10              // 默认为01,可以不改

               config GSM.Radio.Band 900               //选择频点,GSM基站支持850M900M1800M以及1900M

               config GSM.Radio.C0 1                 //配置ARFCN

               config Control.LUR.OpenRegistration.*   // 配置基站开放注册

        如果对于配置命令不熟悉,可以通过config查看详细信息,如下图所示:

【SDR】OpenBTS 使用及介绍_第6张图片

        另外,一般还需要对增益进行配置,及rxgain,如果增益太高或者太低,手机都无法注册入网,一般配置为25左右即可。

2、nmcli.py

       nmcli.py脚本是Range提供的另外一种配置方式,其基于Json,而且据说商业版OpenBTS的Web管理界面就是使用这种方式来对OpenBTS进行配置的,但是个人感觉总体上使用起来不是很方便,这里就不做展开介绍了,如果有兴趣,可以私下交流。

【SDR】OpenBTS 使用及介绍_第7张图片

OpenBTS Usage

       对于OpenBTS的使用场景,大致有伪基站、安全研究以及系统原型的开发等,目前看到也有用来搭建OpenBTS来作为网关,进行GSM/GPRS来进行网络测试的,下面就简单介绍一下使用GSM手机注册入网以及短信、电话的功能。根据以上配置,将基站配置为900M频段,且ARCFN为1,开放注册,之后通过写卡器将测试白卡写信息,之后就可以使用手机注册入网了。
      手机开机首先进入设置->网络设置->移动网络->手动,搜寻网络,一般会搜索到PLMN所标识的网络或者基站所配置的名字:

        点击测试网络,然后会提示注册入网,然后会收到101所发送的短信,内容默认为:

                  Welcome to the test network,your IMSI is :

        之后你可以回复想要为该手机使用的手机号码,比如1234567,要求为7-10位,这样相当于在基站侧注册完成,即phone number与IMSI绑定并写入了数据库;

       然后即可进行短信的发送以及电话的通信了:



OpenBT SIntroduction

        相信大家在启动OpenBTS的时候都在想“为什么OpenBTS需要使用以下的命令来进行启动与停止?”

               OpenBTS启动:

                   sudo start sipauthserve

                   sudo start smqueue

                   sudo start openbts

                   sudo start asterisk

              OpenBTS 停止:

                   sudo stop sipauthserve

                   sudo stop smqueue

                   sudo stop openbts

                   sudo stop asterisk

        原因很简单,那就是OpenBTS本身就是由几个开源软件共同组成的,而其中的openbts只是来根据3GPP标准进行几个软件功能的整合,如smqueue负责短信的发送,asterisk负责语音通话,而sipauthserve负责鉴权以及数据库的存储、sip协议等。


(1)       Asterisk 是负责处理SIM INVITE请求的VOIP 网关,其能够建立通话的各个分支,并将它们连接在一起

(2)       SIPAuthServe,即SIP Authorization Server,当手机试图接入OpenBTS时,由SIPAuthServe 处理SIP REGISTER请求;

(3)       SMQueue ,即SIP MESSAGE Queue,当手机发送短信的时候,由SMQueue 来处理SIP MESSAGE请求;

(4)       OpenBTS 首先负责和GSM空中接口的连接,即其余GSM终端通过空中接口进行通信,其次,OpenBTS将信息转化为SIP以及RTP信息,通过IP网络与以上几个部分进行通信,共同实现核心网的功能。

Summary

       好了,基于SDR系统的OpenBTS的安装、使用以及总体架构基本就讲完了,如果有问题,可以评论以及私下交流哦!2017年最后一天,记录我的分享!

Reference

[1] http://www.cnblogs.com/k1two2/p/6272278.html

[2] http://10.3.200.202/cache/6/03/openbts.org/8ee39f4e2a2b1f95faa515e6aff2e1ee/OpenBTS-4.0-Manual.pdf

[3]  http://10.3.200.202/cache/12/03/openbts.org/a12b56e1612327060d6f3567cbc676da/Getting_Started_with_OpenBTS_Range_Networks.pdf

你可能感兴趣的:(SDR)