標籤:
OpenBTS source code可以在這裡下載:http://sourceforge.net/projects/openbts/
OpenBTS入門的各種問題可以在這裡找到答案:http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTS
開始接觸gnuradio,然後到OpenBTS+asterisk,令我十分興奮。同時也手足無措,入門之後,誰也不知道你要搭建的平台用於什麼用途,沒有辦法給以明確的指導,只能自已動手了。
剛完好OpenBTS後,我迫不及待的運行了。結果如,可以運行。但是,看看下面的ALARM,發生了TXTUNE failed with status 1的悲劇。後來才明白,是使用的硬體不同引起的。
是在http://sourceforge.net/projects/openbts/裡,fordummies.pdf教程中使用的硬體
下面的圖是我使用的硬體,多了一塊板,RX和TX分開了。這是很大的不同,所以不能直接使用OpenBTS/release,要進行改動,還好,這個工作已經有人完成了。可以直接使用別人改好的,OpenBTS/UHD版本。
使用OpenBTS-UHD版本,自己還是要修改的,如,AC_DEFINE(USE_UHD,1,Define to 1 if using UHD),這裡本來是1的,改為0,因為我不用UHD。
如果你沒有改這裡,又不用UHD,那在./configure的時候就會出現下面的這個錯誤。不要小看這個錯誤,也許就因為這個錯誤,項目的進度會延期一周。
最後,還有一個關鍵點,不使用UHD,總要有一個驅動吧。在上述步驟完成後,./configure --with-usrp1 這個usrp1就是你想要使用的驅動!到這裡之後 make ,make install 就可以安裝好了,真不容易!
安裝完成,體驗會OpenBTS的趣味。首先,你要得到IMSI,在OpenBTS搭建好後,我這裡搭的是GSM.MCC=460 GSM.MNC=10,然後,用手機尋找電訊廠商,就會找到一個名叫 CHN-10的電訊廠商,選擇接入它就可以了。接著,就在OpenBTS中用,tmsis就可以得到IMSI。
什麼是MCC呢?MCC是Mobile Country Codes,460代表中國
什麼是MNC呢?MNC是Mobile Network Codes,10在中國是還沒有使用的。
中國具體的電訊廠商和網路如:
這些資料在ITU都可以查到。
通過OpenBTS,得知我的IMSI為460029078808551。這樣就可以通過OpenBTS給我手機發簡訊了。
其格式如下: sendsms <IMSI> <傳送簡訊在手機上顯示的號碼>(號碼可以任意,但一定要有) MNC <text>
由,這樣簡訊就發出去了。
這是我收到的簡訊,亂碼的那條,是我嘗試發中文資訊,結果發現不支援。有人可能會好奇,IMSI怎麼不是手機號碼啊?IMSI是存在SIM卡裡的,確實不是手機號碼,也不是SIM卡後面的數字。真正的手機號碼是MSISDN。GSM把是兩者區分開的,為了一定的安全,真正使用時還會分配一個TMSI!
這樣OpenBTS就可以正常使用了。兩手機互打電話和互發簡訊,光有OpenBTS還不行,還要asterisk(這個以後再提)。
接著就安裝wireshark和wammu
安裝完成後,就可以按https://svn.berlin.ccc.de/projects/airprobe/wiki/tracelog 裡的教程,用Nokia3310深入學習GSM協議啦!!!
最後,推薦一下兩本資料
OpenBTS的安裝(轉)