linphone 和 opensips 搭建内部呼叫中心

1.安装opensips服务器

[root@archlinux ~]# pacman -S opensips

2.配置文件

[root@archlinux ~]# nano -w /etc/opensips/opensips.cfg
[root@archlinux ~]# mkdir -p /run/opensips

修改下面的配置

socket=udp:127.0.0.1:5060

3.启动服务

[root@archlinux ~]# systemctl restart opensips

4.安装管理工具

安装虚拟环境

cd ~
/usr/bin/virtualenvwrapper.sh opensips_env
/usr/bin/python -m venv ~/opensips_env
~/opensips_env/bin/pip install --upgrade pip

安装opensips-cli

git clone https://github.com/opensips/opensips-cli ~/src/opensips-cli
cd ~/src/opensips-cli

# local install (only visible to your user)
#~/opensips_env/bin/python3 setup.py install --user clean

# system-wide install
~/opensips_env/bin/python3 setup.py install clean

5.创建基本数据库

自动创建

[root@archlinux opensips-cli]# nano -w /etc/opensips/opensips-cli.cfg
[default]
#log_level: DEBUG
log_level: INFO
prompt_name: opensips-cli
prompt_intro: Welcome to OpenSIPS Command Line Interface!
prompt_emptyline_repeat_cmd: False
history_file: ~/.opensips-cli.history
history_file_size: 1000
output_type: pretty-print
communication_type: fifo
fifo_file: /tmp/opensips_fifo
 
database_schema_path: /usr/share/opensips/mysql
database_admin_url: mysql://root@localhost
database_url: mysql://opensips:opensipsrw@localhost
database_name: opensips
database_modules: ALL
database_force_drop: true

自动创建数据结构与数据

~/opensips_env/bin/opensips-cli -x database create

手动创建数据库

CREATE DATABASE opensips CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'opensips'@'localhost' IDENTIFIED BY 'opensipsrw';
GRANT ALL PRIVILEGES ON opensips.* TO 'opensips'@'localhost';
FLUSH PRIVILEGES;

手动导入数据结构

mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/standard-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/acc-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/alias_db-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/auth_db-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/authjwt-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/avpops-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/clusterer-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/dialog-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/dialplan-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/dispatcher-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/domain-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/domainpolicy-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/drouting-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/group-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/load_balancer-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/msilo-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/permissions-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/rtpengine-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/rtpproxy-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/tls_mgm-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/usrloc-create.sql

mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/b2b-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/b2b_sca-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/cachedb_sql-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/call_center-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/carrierroute-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/closeddial-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/cpl-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/db-migrate.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/emergency-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/fraud_detection-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/freeswitch_scripting-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/imc-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/presence-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/qrouting-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/ratecacher-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/registrant-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/rls-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/smpp-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/speeddial-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/table-migrate.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/tcp_mgm-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/tracer-create.sql
mysql -uopensips -popensipsrw opensips < /usr/share/opensips/mysql/userblacklist-create.sql

6.安装控制面板,注意版本要一致

wget https://github.com/OpenSIPS/opensips-cp/archive/9.3.4.zip
unzip 9.3.4.zip
mv opensips-cp-9.3.4 opensips-cp

安装PHP的面板环境

pacman -S php php-gd php-apcu

编辑php的配置

nano -w /etc/php.ini
extension=mysql
extension=gd
extension=curl

配置php

/srv/http/opensips-cp/web/

导入数据库

mysql -Dopensips -p < /srv/http/opensips-cp/config/db_schema.mysql

安装apache

pacman -S apache php-apache
        <Directory /var/www/html/opensips-cp/web>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Require all granted
	</Directory>
	<Directory /var/www/html/opensips-cp>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Require all denied
	</Directory>
	Alias /cp /var/www/html/opensips-cp/web

	<DirectoryMatch "/var/www/html/opensips-cp/web/tools/.*/.*/(template|custom_actions|lib)/">
		Require all denied
	</DirectoryMatch>
nano -w /etc/httpd/conf/httpd.conf
#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so 

......

LoadModule php_module modules/libphp.so

......

# add php support
Include conf/extra/php_module.conf
# add opensips
Include conf/extra/opensips.conf

然后使用浏览器地址访问即可

curl http://172.16.1.107/opensips-cp/web/main.php

在后台创建10001, 10002号用户即可

然后linphone测试通话

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Linux分类目录。将固定链接加入收藏夹。