OpenIMSCore 配置

发布于 2019-06-02  76 次阅读


众所周知,在 Linux 下安装和配置软件环境,一个详细的文档是必不可少的。而且,软件包的二进制兼容问题也是难以手动解决的。最近我就遇到了一个名为 OpenIMSCore 的 SIPS 服务框架,配置它费劲千辛万苦。下面和大家分享一下。

OpenIMSCore 的官网已经挂掉,现在访问是一个指向 wix 的过期页面。目前最有公信力的“官网”是在 SourceForge 的项目文档,写的还算可以。

环境

因为是上古软件了,所以选了当前手头版本最古老的虚拟机 Ubuntu 14.04.6。考虑到之后还需要运行同样古老的 myMonster 软件,所以安装了 Desktop 版本。虚拟机是运行在 Manjaro 上的 Virtualbox。

安装过程

更新与换源

apt update && apt upgrade -y && apt install vim

安装 JDK 和 MySQL

首先是换源,这里因为是教育网,所以选择了清华源。之后安装 MySQL 和 OpenJDK。

apt install mysql-server openjdk-7-jdk ant

编译

然后克隆官方仓库并编译,在此之前需要安装 subversion:

apt install subversion
mkdir -r /opt/OpenIMSCore
cd /opt/OpenIMSCore
svn checkout https://svn.code.sf.net/p/openimscore/code/FHoSS/trunk FHoSS
svn checkout https://svn.code.sf.net/p/openimscore/code/ser_ims/trunk ser_ims

如果网速不佳,可以自行配置 proxychains,这里不再赘述。

然后是编译过程:

cd FHoSS
ant compile deploy
cd ..
cd ser_ims
make install-libs all
cd ..

这两部分可以同时进行以加快速度。其中 make 的过程也可以通过加参数 -j 以并行编译。如果等不及可以先进行下一步。对于依赖文件,大家可以根据报错信息来手动安装,这里提供我遇到的依赖错误:

apt install bison flex libmysqlclient-dev ipsec-tools libcurl4-gnutls-dev debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap dpatch libxml2-dev

配置

导入 sql 配置文件:

mysql -u root -p < FHoSS/scripts/hss_db.sql
mysql -u root -p < FHoSS/scripts/userdata.sql
mysql -u root -p < ser_ims/cfg/icscf.sql

配置 DNS

首先要安装,这里选择官方推荐的 BIND9:

apt install bind

然后将默认的 DNS 配置文件添加到 BIND9 里:

cp ser_ims/cfg/open-ims.dnszone /etc/bind/
sed -i '3azone "open-ims.test" {\n\ttype master;\n\tfile "\/etc\/bind\/open-ims.dnszone";\n};' /etc/bind/named.conf.local
sed -i '2a127.0.0.1\topen-ims.test mobicents.open-ims.test ue.open-ims.test presence.open-ims.test icscf.open-ims.test scscf.open-ims.test pcscf.open-ims.test hss.open-ims.test' /etc/hosts

这里为了防止本机不生效,同步把配置添加到了 hosts 文件。然后重启 BIND9:

service bind restart

运行服务器

OpenIMSCore 一共分为 pcscf、icscf、scscf 三个 cscf 服务器,分别运行它们:

cp ser_ims/cfg/*.cfg ./
cp ser_ims/cfg/*.xml ./
cp ser_ims/cfg/*.sh ./
./pcscf.sh
./icscf.sh
./scscf.sh

然后我们运行 HSS 数据库:

cd FHoSS/deploy
./startup.sh

这一步如果报错的话可能是 JAVA_HOME 没有配置,这里我们直接写进文件内:

sed -i 's/JAVA_HOME\/bin\/java/JAVA_HOME\/usr\/bin\/java/g' /opt/OpenIMSCore/FHoSS/deploy/startup.sh

然后再次运行 HSS 服务。这里 HSS 服务会以 Tomcat 的形式供我们访问。地址:http://localhost:8080

OpenIMSCore 服务器的配置到这里就结束了。

客户端

因为我们配置的是本地服务器,所以客户端也要运行在本地。Linux 下好用的 IMS 客户端没多少,这里雷老师提供了 myMonster。这同样是一个已经挂掉官网的软件,请点击前面的链接下载。

OpenIMSCore 默认提供了 Alice 和 Bob 两个账户,这里我们填入账户信息。

myMonster 账户配置

输入对方的 SIP 地址就可以通话啦!


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。