Page 1




Daughterboard Frequency Range   Transmit Power  

RFX 750 to 1050 MHz   200mW (23dBm)  

RFX 1.5 to 2.1 GHz   100mW (20dBm)   .


sudo apt­get update sudo  apt­get  ­y  install  swig  g++  automake1.9  libtool  python­dev  \  libcppunit­dev  sdcc  libusb­dev  libasound2­dev  libsdl1.2­dev  \  python­wxgtk2.8  subversion  guile­1.8­dev  libqt4­dev  \  ccache  python­opengl  libgsl0­dev  python­cheetah  python­lxml  \  libqwt5­qt4­dev  libqwtplot3d­qt4­dev  qt4­dev­tools  \  � w3­dev  doxygen  python­numpy­ext

wget  h� p://   tar xvzf boost_1_37_0.tar.gz    cd boost_1_37_0  BOOST_PREFIX=/opt/boost_1_37_0 


­­prefix=$BOOST_PREFIX ­­with­   program_options  date_time libraries=thread   Make    sudo make install

cd wget­3.1.3.tar.gz  


tar xvzf gnuradio­3.1.3.tar.gz   cd gnuradio­3.1.3  configure ­­with­boost­include­dir=$BOOST_PREFIX/include/boost­1_37   make   sudo make install   sudo ldconfig 

sudo addgroup usrp   sudo addgroup <YOUR_USER> usrp   echo 'ACTION=="add"  BUS=="usb"  SYSFS{idVendor}=="fffe   SYSFS{idProduct}=="0002"  GROUP:="usrp"  MODE:="0660"' > tmp� le   sudo chown root.root tmpfile sudo mv tmp� le /etc/udev/rules.d/10­usrp.rules 

cd /usr/local/share/gnuradio/examples/usrp   Tes� ng 2MB/sec... usb_throughput = 2M   ntotal = 1000000   nright = 998435   runlength = 998435  delta = 1565   OK  


Tes� ng 4MB/sec... usb_throughput = 4M   ntotal = 2000000   nright = 1998041   runlength = 1998041   delta = 1959   OK   Tes� ng 8MB/sec... usb_throughput = 8M   ntotal = 4000000   nright = 3999272   runlength = 3999272   delta = 728   OK   Tes� ng 16MB/sec... usb_throughput = 16M ntotal = 8000000   nright = 7992153   runlength = 7992153   delta = 7847   OK   Tes� ng 32MB/sec... usb_throughput = 32M   ntotal = 16000000   nright = 15986239   runlength = 15986239   delta = 13761   OK Max USB/USRP throughput = 32MB/sec


cd sudo apt­get install asterisk libosip2­dev libortp7­*

sftp     sftp>  get  openbts­2.3JeanLa� � eOE.tar.gz  Fetching  /Users/openbts/openbts­2.3JeanLa� � eOE.tar.gz  to  openbts  JeanLafitteOE.tar.gz   exit

tar xvzf openbts­2.3JeanLa� � eOE.tar.gz   mv openbts­2.3JeanLa� � e openbts­2.3   cd openbts­2.3   export LIBS=­lpthread  configure   make   sudo make install



cd /usr/local/share/gnuradio/examples/usrp ./




Frequency (MHz) 935.2 935.6 936 936.4 936.8 937.2 937.6

ARFCN 2 4 6 8 10 12 14

Frequency (MHz) 935.4 935.8 936.2 936.6 937 937.4 937.8


Sample OpenBTS configuration file Format of each line is. <key><space><value The key name can contain no spaces Everything between the first space and the end of the line becomes the value Comments must start with "#" at the beginning of the line Blank lines are OK As a gerenal rule non足valid configuration values will crash OpenBTS

Logging parameters

The initial global logging level: ERROR WARNING NOTICE INFO DEBUG DEEPDEBUG LogLevel INFO The log file path. If not set logging goes to stdout

LogFileName test.out

Transceiver parameters

Transceiver interface This TRX.IP is not really adjustable. Just leave it as


TRX.IP This value is hard足coded in the transcevier.Just leave it alone TRX.Port 5700

Path to transceiver binary TRX.Path ../Transceiver/transceiver TRX logging Logging level TRX.LogLevel ERROR Logging file. If not defined logs to stdout TRX.LogFileName test.out

SIP RTP servers

Asterisk PBX Asterisk.IP Asterisk.Port 5060

Messaging server Messenger.IP Messenger.Port 5063

Local SIP/RTP ports SIP.Port 5062 RTP.Start 16484


RTP.Range 98

Local SMS port for short code delivery SMSLoopback.Port 5064

Special extensions

Routing extension for emergency calls PBX.Emergency 2101

SIP parameters

SIP registration period in seconds Ideally this should be slightly longer than GSM.T3212 SIP.Registra� onPeriod 3600

SIP Internal Timers. All timer values are given in millseconds These are from RFC­3261 Table A

SIP Timer A the INVITE retry period RFC­3261 Sec� on SIP.Timer.A 1000


SMS parameters

ISDN address of source SMSC when we fake out a source SMSC SMS.FakeSrcSMSC 0000 ISDN address of destination SMSC when a fake value is needed SMS.DefaultDestSMSC 0000

The SMS HTTP gateway Comment out if you don't have one SMS.HTTP.Gateway

IF SMS.HTTP.Gateway IS DEFINED SMS.HTTP.AccessString MUST ALSO BE DEFINED SMS.HTTP.AccessString sendmsg?user=xxxx&password=xxxx&api_id=xxxx

The "Welcome Message" is sent to uprovisioned handsets that try to register Comment out if you don't want this feature WELCOME MESSAGE MUST BE LESS THAN 161 CHARACTERS SMS.WelcomeMessage Welcome to OpenBTS SMS.WelcomeMessage Your handset attempted to register with OpenBTS

IF SMS.WelcomeMessage IS DEFINED SMS.WelcomeShortCode MUST ALSO BE DEFINED SMS.WelcomeShortCode 0000



Network and cell identity Network Color Code 0­7 GSM.NCC 0 Basesation Color Code 0­7 GSM.BCC 0 Mobile Country Code 3 digits MCC MUST BE 3 DIGITS. Pre� x with 0s if needed GSM.MCC 724 Mobile Network Code 2 or 3 digits GSM.MNC 66 Location Area Code 0­65535 GSM.LAC 667 Cell ID 0­65535 GSM.CI 0 Network "short name" to display on the handset SHORT NAME MUST BE LESS THAN 8 CHARACTERS GSM.ShortName OpenBTS

Assignment type for call setup This is defined in an enum AssignmentType in GSMCommon.h Early 1=VeryEarly GSM.AssignmentType 1


Band and Frequency Valid band values are 850 900 1800 1900 GSM.Band 900 Valid ARFCN range depends on the band GSM.ARFCN 29


Downlink tx power level dB wrt full power GSM.PowerA� enDB 0

Beacon parameters L1 radio link � meout adver� sed on BCCH This is the RAW parameter sent on the BCCH See GSM for encoding Value of 15 gives 64­frame timeout about 30 seconds on the TCH This should be coordinated with T3109 GSM.RADIO_LINK_TIMEOUT 15 Attach/detach flag Set to 1 to use a� ach/detach procedure 0 otherwise. # This will make ini� al registra� on more prompt It will also cause an un­regstration if the handset powers off GSM.ATT 1

CCCH_CONF See GSM for encoding Value of 1 means we are using a C­V beacon



Maximum RACH retransmission attempts This is the RAW parameter sent on the BCCH See GSM 04.08 for encoding GSM.RACH.MaxRetrans 3

Parameter to spread RACH busts over time This is the RAW parameter sent on the BCCH See GSM 04.08 for encoding GSM.RACH.TxInteger 14

Access class flags This is the RAW parameter sent on the BCCH See GSM 04.08 for encoding Set to 0 to allow full access GSM.RACH.AC 0

GSM Timers. All timer values are given in milliseconds unless stated otherwise These come from GSM 04.08 11.2

T3212 registration timer Unlike most timers this is given in MINUTES Actual period will be rounded down to a mulďż˝ ple of 6 minutes Any value below 6 minutes disables periodic registraďż˝ on Ideally this should be slightly less than the SIP.RegistrationPeriod


GSM.T3212 6 

#!/usr/bin/env python  # Coded by Alexsander Loula  # Email:    import serial string 


  def readuntilok(s):    ol=[]    while 1:      if not c:        break      ol.append(c)      ostring="".join(ol)      if len(ol)>3 and ostring[­4:]=="OK\r\n":        break    return ostring  def cmd(s cmd):    s.write(cmd+"\r")    r=readuntilok(s)    r=r.split("\n")    for i in range(len(r)):      r[i]=r[i][:­1]    return r    def cota(s cmd):    s.write(cmd+"\r")    r=readuntilok(s)    r=r.replace('"' '')    r=r.split("\n")    for i in range(len(r)):      r[i]=r[i][:­1]    return r  ### INIT Serial Port  ser=serial.Serial('/dev/� yACM0' 115200 timeout=3)  ser.write('ATZ\r')    ### Read IMSI  imsi = cmd(ser 'AT+CIMI')[1]  imsi = imsi.split()[­1]  imsi = 'IMSI: ' + imsi[1:16]  print imsi    ### Close Serial Port  ser.close() 


sudo apt­get install python­serial 

sudo chmod +x 


IMSI: 724311320422052

cd /etc/asterisk  sudo cp extensions.conf extensions.conf_ori  sudo cp sip.conf sip.conf_ori

sudo cp ~/openbts­2.3/AsteriskCon� g/sip.conf  


sudo cp ~/openbts­2.3/AsteriskCon� g/extensions.conf  

  sip­local   local extensions  exten => 2100 1 Macro(dialSIP wiredPhone   exten => 2101 1 Macro(dialSIP softPhone   This is a simple mapping between extensions and IMSIs   exten => 2102 1 Macro(dialSIP 724311320422052    



[softphone] callerid=2101  canreinvite=no  type=friend  context=sip­external  allow=ulaw  allow=gsm host=dynamic   

This is a GSM handset entry  

You need one for each SIM  

The IMSI is a 15­digit code in the SIM  

You can see it in the Control log whenever a phone tries to register  

[724311320422052] ; <­ The IMSI is used as a SIP user ID.  canreinvite=no  type=friend  context=sip­external  allow=gsm  host=dynamic   

sudo /etc/init.d/asterisk restart



cd ~/openbts­


./OpenBTS OpenBTS Copyright 2008 2009 Free So� ware Founda� on Inc. Contributors: Kestrel Signal Processing Inc.: David Burgess Harvind Samra Raffi Sevlian Roshan Baliga GNU Radio: Johnathan Corgan Incorporated GPL libraries and components: libosip2 liportp2 This program comes with ABSOLUTELY NO WARRANTY. This is free software; you are welcome to redistribute it under the terms of GPLv3. Use of this software may be subject to other legal restrictions including patent licsensing and radio spectrum licensing. All users of this software are expected to comply with applicable regulations. 1242936099.801724 3082733248: Starting the system... 1242936100.8228 WARNING 3082733248 TRXManager.cpp:269: retrying transceiver command after response timeout 1242936101.0380 INFO 3052067728 RadioResource.cpp:366: Pager::pageAll paging 0 mobile(s) 1242936101.0382 INFO 3082733248 OpenBTS.cpp:199: system ready 1242936101.038262 3082733248: Welcome to OpenBTS. Type "help" to see available commands.



��������������������������������������������������������������������������� ��������������������������������������������������������������������������������� �����������������������������������������������������

Read more
Read more
Similar to
Popular now
Just for you