# **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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.