# **OpenIMS Core---簡介&安裝** ###### tags: `Master` `openIMS` `IMS` `CSCF` `HSS` ## **簡介** * 提供IMS核心網路相關開放原始碼 裡面包含 1. S-CSCF 2. P-CSCF 3. I-CSCF 4. HSS * 開發遵照3GPP/3GPP2,以及ETSI TISPAN所制定的IMS/NGN標準 * CSCF從SIP Express Roupter開發而來 * HSS是利用JAVA進行開發 * OpenIMS資料庫使用MySQL進行資料儲存 * 整個平台以linux為基礎 ## **安裝流程** ### **1. Prerequisites** - 一開始需安裝一些必要的packets 使用apt-get install安裝 ```shell= sudo apt-get install subversion ant sun-java6-jdk bison flex mysql-server libmysqlclient16-dev libxml2 libxml2-dev bind9 ``` - 設定JAVA環境變數 ==JDK版本需在1.5以上== ```shell= # java -version java version "1.5.0_07" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03) Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode) ``` - Ubuntu 版本 我有試過14.04,但一直不成功 後來採用16.04的版本,有順利安裝起來 ### **2. Get the Source Code** ```shell= mkdir /opt/OpenIMSCore cd /opt/OpenIMSCore mkdir ser_ims svn checkout http://svn.berlios.de/svnroot/repos/openimscore/ser_ims/trunk ser_ims mkdir FHoSS svn checkout http://svn.berlios.de/svnroot/repos/openimscore/FHoSS/trunk FHoSS ``` ### **3. Compile** - ser_ims ```shell= cd ser_ims make install-libs all cd .. ``` - FHoSS 在進行compile FHoSS之前 需要先檢查Java版本是否已>1.5 即Prerequisites的第二點 接著才可以進行compile 若成功,會出現BUILD SUCCESSFUL(如圖) ```shell= cd FHoSS ant compile ant deploy cd .. ```   ### **4. Configure the Environment** 我認為這一步驟是裡面最麻煩的一部分 由於環境與官方文件不盡相同 導致常常遇到出乎意料之外的一些problem #### **Set DNS Server** 他預設的Domain name是"open-ims.test" 預設的IP address是"127.0.0.1" 我們要把它改掉,改成自己的 `ex: wmnet72.cs.nthu.edu.tw , 192.168.0.105` 要改的檔案有 - In the directory /opt/OpenIMSCore/ser_ims/cfg/: ` *.cfg, *xml, *sql, open-ims.dnszone, open-ims.rev.dnszone` - After the last step, copy all setting files to /opt/OpenIMSCore ```shell= cd /opt/OpenIMSCore sudo cp ser_ims/cfg/*.cfg . sudo cp ser_ims/cfg/*.xml . sudo cp ser_ims/cfg/*.sh . ``` - In the directory /opt/OpenIMSCore/FhoSS/scripts: `userdata.sql` - In the directory /opt/OpenIMSCore/FhoSS/deploy: `DiameterPeerHSS.xml, hss.proterties` - In the directory /opt/OpenIMSCore/FhoSS/config: `DiameterPeerHSS.xml, hss.proterties` - Copy the file open-ims.dnszone and open-ims.rev.dnszone to the directory, where bind is installed ```shell= sudo cp ser_ims/cfg/open-ims.dns /etc/bind ``` -- -- 上述都完成後,需要修改/etc/bind下的named.conf 加入以下程式碼, 目的是為了讓電腦在bind DNS Server時,能夠到指定的config檔中找到資料 ``` zone "wmnet72.cs.nthu.edu.tw" { type master; file "etc/bind/open-ims.dnszone"; //notify node } ``` 接著 要設定位於/etc下,resolv.conf檔案 將DNS設為自己的主機IP `nameserver 192.168.0.105` ==但是這樣設其實有個問題 就是每次重連網路或是重新開機時,都要檢查是不是要修正 因此,我後來找到一個解決的方法 在/etc/resolvconf/resolv.conf.d中,head這個檔案 設的跟resolv.conf一樣就可以了== 設定完成後,要讓新的bind產生作用 ```sudo service bind9 restart```  ---- 最後測試DNS是否正常 `ping pcscf.wmnet72.cs.nthu.edu.tw` #### **Set MySQL** ```shell= mysql -u root -p -h localhost < /opt/OpenIMSCore/ser_ims/cfg/icscf.sql mysql -u root -p -h localhost < /opt/OpenIMSCore/FHoSS/scripts/hss_db.sql mysql -u root -p -h localhost < /opt/OpenIMSCore/FHoSS/scripts/userdata.sql ``` ### **5. Run** 在/opt/OpenIMSCore 執行 ```shell= sudo ./icscf.sh sudo ./scscf.sh sudo ./pcscf.sh ``` 在/opt/OpenIMSCore/FHoSS/deploy 執行 ```shell= sudo./startup.sh ``` ## Reference [https://www.vpsee.com/2009/07/install-configure-openimscore/ ](https://www.vpsee.com/2009/07/install-configure-openimscore/ )[http://lms.ctl.cyut.edu.tw/sys/read_attach.php?id=1425548 ](http://lms.ctl.cyut.edu.tw/sys/read_attach.php?id=1425548 )[https://www.openimscore.com/installation-guide](https://www.openimscore.com/installation-guide)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up