cd sdr
git clone https://gitlab.eurecom.fr/oai/openair-cn.git
1) 配置FQDN
编辑hosts文件:
sudo gedit /etc/hosts
修改后文件内容如下:
编辑完hosts文件后,执行hostname -f 会输出siemens.openair4G.eur
2) 安装额外软件包
a. 安装mysql,执行命令:
sudo apt-get install mysql-server
设置root的密码为siemens(自己设置,但是一定要记住,后面需要用),安装过程中出现的界面,全选yes。
b. 安装apache2:
sudo apt-get install apache2
测试apache2:用浏览器访问localhost或者127.0.0.1会出现apache2主页:
c. 安装php:
sudo apt-get install php7.0
sudo apt-get install libapache2-mod-php7.0
重启apache2: service apache2 restart 或者 sudo /etc/init.d/apache2 restart
测试php:
在/var/www/html里面新建info.php:
sudo gedit /var/www/html/info.php
编辑info.php:在该文件里添加php语句:
在浏览器中访问localhost/info.php,浏览器会显示hello world界面:
d. 安装mysql:
sudo apt-get install mysql-server mysql-client
测试mysql:
在终端输入mysql –uroot –p, 输入安装时设置的密码siemens,会出现mysql操作界面。
可能出现的问题及解决方法:
在终端输入mysql后显示”ERROR 1045(28000)“,或者输入mysql –uroot –p后未显示输入密码的提示。
解决方法:
sudo netstat -tap|grep mysql
Service mysql stop
Service mysql start(重启数据库)
e. 安装phpmyadmin:
sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html
测试phpmyadmin:在浏览器中访问localhost/phpmyadmin会显示数据库登录界面:
如果报错mbstringextension is missing.Please check your PHP configuration.
将 /etc/php/7.0/mods-available/json.ini文件里第二行的分号去掉,然后重启apache2(service apache2 restart)
3) 安装mme、hss和spgw
cd sdr/openair-cn
git checkout develop
git pull
cd scripts
./build_mme -i
./build_hss -i
./build_spgw -i
执行自动安装命令,如果没有报错,则表示安装成功。
4) 配置EPC
a. 将所有配置文件都放到制定文件夹中:
sudo mkdir -p /usr/local/etc/oai/freeDiameter
sudo cp ~/sdr/openair-cn/etc/mme.conf /usr/local/etc/oai
sudo cp ~/sdr/openair-cn/etc/hss.conf /usr/local/etc/oai
sudo cp ~/sdr/openair-cn/etc/spgw.conf /usr/local/etc/oai
sudo cp ~/sdr/openair-cn/etc/acl.conf /usr/local/etc/oai/freeDiameter
sudo cp ~/sdr/openair-cn/etc/mme_fd.conf /usr/local/etc/oai/freeDiameter
sudo cp ~/sdr/openair-cn/etc/hss_fd.conf /usr/local/etc/oai/freeDiameter
b. 执行sudo gedit /usr/local/etc/oai/mme.conf 配置MME
c. 执行sudo gedit /usr/local/etc/oai/spgw.conf 配置SPGW
d. 执行sudo gedit /usr/local/etc/oai/hss.conf配置HSS
e. 执行sudo gedit /usr/local/etc/oai/freeDiameter/hss_fd.conf 确保内容如下:
f. 执行sudo gedit /usr/local/etc/oai/freeDiameter/mme_fd.conf 确保内容如下:
5) 编译和运行
a. 安装证书:
cd sdr/openair-cn/scripts
sudo ./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.openair4G.eur
sudo ./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ siemens.openair4G.eur
b. 编译和运行HSS(一定要最先运行)
cd sdr/openair-cn/scripts
sudo ./build_hss
sudo ./run_hss -i ~/sdr/openair-cn/src/oai_hss/db/oai_db.sql(仅第一次运行时需要执行此命令,之后直接执行sudo ./run_hss)
运行结果如下:
c. 编译和运行MME
cd sdr/openair-cn/scripts
sudo ./build_mme
sudo ./run_mme
运行结果如下:
d. 编译运行SPGW
cd sdr/openair-cn/scripts
sudo ./build_spgw
sudo ./run_spgw
运行结果如下:
1) 浏览器访问localhost/phpmyadmin 登录数据库,选择数据库oai_db。查询mmeidentity表,如果表中没有siemens.openair4G.eur,则需要添加并设置mmeidentity值,如果有,记住mmeidendity值。这里我选择的mmeidentity值为2。(此操作也可以在终端用数据库命令行进行操作:
sudo mysql -uroot -p
use oai_db
Select * from mmeidentity
Update mmeidentity set mmehost = ‘siemens.openair4G.eur’
)
可能出现的问题:
如果不进行上述操作,运行hss时会出现‘STATE_CLOSED’ ——> STATED_ZOMBIE(terminated):
2) 查看users表。在user表中新建一条用户信息如下(也可以在终端用mysql命令行添加用户信息)
imsi 208930000000002
key 8baf473f2f8fd09487cccbd7097c6862
OPc e734f8734007d6c5ce7a0508809e7e9c
注意:
a. 其中mmeidendity_idmmeidentity一定要与siemens.openair4G.eur对应的mmeidendity值相同,这里都设置为2;
b. OPc的值一定要与EPC配置文件中hss.conf中的OPERATOR_KEY的完全相同。
3) 在APN表中添加一条记录(这条apn-name就是后面手机上设置的APN)。如下图所示。
4) 查看pgw,如果不存在id为3的选项,则添加一项id为3的记录,ipv4中的ip地址设置为EPC主机对应的ip地址。
5) 查看pdn,添加一条记录,users_imsi对应前面设置的用户,pgw_id设置为3,对应于4)中设置的pgw。
所有的数据都要对应好,不然运行的时候会出现UE搜索不到/搜索到但是无法连接eNB的情况