Preface
在上一篇博文中对OpenBTS做了简单的介绍,包括其特点及安装步骤,这篇博文将继续对OpenBTS进行介绍,首先对OpenBTS的配置及使用进行介绍,稍后对OpenBTS进行深入的解析,如其软件架构以及各自的功能。
OpenBTS Configuration
1、OpenBTSCLI
OpenBTS环境搭建好之后,可以通过OpenBTS启动命令来运行,在上一篇博文中也提到过,可以将启动命令及停止命令都写成脚本来运行;启动OpenBTS之后,进入/OpenBTS目录,运行./OpenBTSCLI进行OpenBTS的配置:
从提示中我们可以看到,有四个命令进行下一步的操作:
help:查看命令;
version:查看版本信息;
notices:查看license信息;
quit:退出命令行界面;
运行help,查看运行命令:
对于配置及查询命令,我们也可以通过 help<command name>来进行查看具体的命令功能,如下面所示:
对于基站的配置,提供了以下几种config命令:config、devconfig、unconfig以及rmconfig,其中config以及devconfig对基站进行配置及查询,而unconfig将基站的信息设置为空,rmconfig将基站配置信息恢复为默认值。
在OpenBTSCLI中输入config将可以看到能够进行配置的项目,如果要具体看哪个信息,可以在config后面加上即可,如果想看关于LUR的信息,可以按照下图来进行:
config GSM.Identity.MCC 460 // 默认为001,可以不改
config GSM.Identity.MNC 10 // 默认为01,可以不改
config GSM.Radio.Band 900 //选择频点,GSM基站支持850M,900M,1800M以及1900M
config GSM.Radio.C0 1 //配置ARFCN
config Control.LUR.OpenRegistration.* // 配置基站开放注册
如果对于配置命令不熟悉,可以通过config<configuration command>查看详细信息,如下图所示:
另外,一般还需要对增益进行配置,及rxgain,如果增益太高或者太低,手机都无法注册入网,一般配置为25左右即可。
2、nmcli.py
nmcli.py脚本是Range提供的另外一种配置方式,其基于Json,而且据说商业版OpenBTS的Web管理界面就是使用这种方式来对OpenBTS进行配置的,但是个人感觉总体上使用起来不是很方便,这里就不做展开介绍了,如果有兴趣,可以私下交流。
OpenBTS Usage
点击测试网络,然后会提示注册入网,然后会收到101所发送的短信,内容默认为:
Welcome to the test network,your IMSI is :<imsi>
之后你可以回复想要为该手机使用的手机号码,比如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