很多朋友留言让我写搭建openbts的,对于openbts其实很简单,官方文档就可以,主要是很多的环境依赖对于新手来说不好安装。所以今天我就出一个详细的openbts搭建基站。
ubuntu12.0.4(系统)
openbts2.8
osmocom
libosmo-dsp
对于osmocom的libosmo-dsp分之,首先需要先安装osmocom
下载所需要的
$ git clone git://http://git.osmocom.org/libosmocore.git
$ git clone git://http://git.osmocom.org/osmocom-bb.git
$ git clone git://http://git.osmocom.org/libosmo-dsp.git (openbts要用的)
在安装libosmocore执行./configure 的时候很多人会遇到 No package ‘talloc’ found 这种错误,因为找不到talloc,下面是解决办法
$ wget https://www.samba.org/ftp/talloc/talloc–2.1.7.tar.gz
$ tar -zxvf talloc-2.1.7.tar.gz
$ cd talloc-2.1.7/
$ ./configure
$ make
$ sudo make install
安装libosmocore
$ cd libosmocore/
$ autoreconf -i
$ ./configure
$ make
$ sudo make install
$ cd ..
安装libosmo-dsp
$ cd libosmo-dsp/
$ autoreconf -i
$ ./configure
$ make
$ sudo make install
$ cd..
安装osmocom-bb
$ cd osmocom-bb/
$ git checkout sylvain/testing
$ cd src
$ make HOST_layer23_CONFARGS=–enable-transceiver
执行下面命令,刷入c118(如果刷入失败。。请检查你的c118是否接好)
$ sudo ./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/trx.compalram.bin
下面所有操作都在root权限下所以获取root权限
$ su
下载openbts2.8
$ svn co http://wush.net/svn/range/software/public
(如果提示没有svn的话现在安装一下svn)
$ apt-get install subversion
(安装svn)
安装需要的依赖(很多人安装openbts各种错误就是因为环境依赖的问题)
$ sudo apt-get install autoconf libtool libosip2-dev libortp-dev libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang libreadline6-dev libncurses5-dev
安装openbts(进入刚才下载openbts的目录里面有一个public目录)
$ cd public
$ cd a53/trunk
$ make install
$ cd openbts/trunk
$ autoreconf -i
$ ./configure
$ make
$ cd apps
$ ln -s ../TransceiverRAD1/transceiver .
$ mkdir /etc/OpenBTS
(在etc下面创建目录存放openbts的配置文件)
$ cd ..
$ sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db “.quit”
(openbts的配置文件)
$ sudo mkdir -p /var/lib/asterisk/sqlite3dir
$ sqlite3 /etc/OpenBTS/OpenBTS.db .dump
(查看数据库文件是否成功)
$ cd public
$ cd a53/trunk
$ make install
$ cd openbts/trunk
$ autoreconf -i
$ ./configure
$ make
$ cd apps
$ ln -s ../TransceiverRAD1/transceiver .
$ mkdir /etc/OpenBTS
(在etc下面创建目录存放openbts的配置文件)
$ cd ..
$ sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db “.quit”
(openbts的配置文件)
$ sudo mkdir -p /var/lib/asterisk/sqlite3dir
$ sqlite3 /etc/OpenBTS/OpenBTS.db .dump
(查看数据库文件是否成功)
如果成功显示配置文件的内容那就成功了
安装sipauthserve(SIP 鉴权服务)
然后我们在回到public目录安装sipauthserve
$ cd subscriberRegistry/trunk
$ make
$ sudo sqlite3 -init subscriberRegistry.example.sql /etc/OpenBTS/sipauthserve.db “.quit”
(sipauthserve的配置文件同样在刚才openbts配置文件的目录)
安装smqueue(短信服务)
回到public目录
$ cd smqueue/trunk
$ autoreconf -i
$ ./configure
$ make
$ sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db “.quit” (同样的smqueue配置文件)
好了现在全部都安装好了,咱们来开始启动openbts
第一步先刷入c118(注意下面的操作依然是root权限)
$ osmocom-bb/src/host/osmocon/osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/trx.compalram.bin
第二步利用c118做openbts的收发器,ARFCN是基站信息,你可以扫描附近的基站,利用cell可以先扫描基站信息,找个最强的
$ osmocom-bb/src/host/layer23/src/transceiver/transceiver ARFCN
第三步启动openbts(新手朋友注意。这里是打开4个新的终端。。不是在一个终端里面执行)
$ smqueue/trunk/smqueue/smqueue
$ subscriberRegistry/trunk/sipauthserve
$ openbts/trunk/apps/OpenBTS
$ openbts/trunk/apps/OpenBTSCLI
启动成功后,咱们还有一步就是配置OpenBTSCLI(修改openbts的配置,这一步很重要)
启动OpenBTSCLI后,我们需要修改几处配置
$ config
(这条命令可以查看你的配置文件)
https:// 1.bp.blogspot.com/-LiP6 wODk3Dg/V381LDCynpI/AAAAAAAAAD4/c4pFA3rgdagmcitTcrm3N_ojicTetI7bACLcB/s1600/H%2529DXTU%257D%2529E%2529RHOXDBV%252875OI7.jpg
$ config Control.LUR.OpenRegistration .*
(修改Control.LUR.OpenRegistration可以让任何的手机加入基站)
$ config GSM.Radio.C0 ARFCN
(这里的ARFCN是 transceiver 监视的基站信息)
$ config GSM.Identity.MCC 001
$ config GSM.Identity.MNC 01
(MCC MNC 移动国家码,这里用001 01这是测试网络)
最后终于可以用手机搜索并连接bts
你手机应该会看见Test PLMH 1-1(如果看不见就多试几次。。或者换基站。。毕竟是c118
最激动的时候到了测试短信
看到OpenBTSCLI终端窗口执行
$ tmsis
(查看链接到基站的ismi)
$ sendsms TMSIS number messege
(TMSIS就是刚才tmsis查看到的ismi,number就是你要发送过去的电话号码,messege是短信内容)