背景
先是使用opensips
官方的docker
尝试,好不容易装好了,软电话(sipphone
)上注册不成功,主要是我docker
又是装在VirtualBox
的虚拟机里的,网络结构致使调试困难,直接新开一个虚拟机,很顺利的就安装成功并且实现局域网终端之间通话。
准备工作
安装依赖
1 | yum install mysql mysql-server mysql-devel gcc gcc-c++ ncurses-devel flex bison -y |
机器上已经又mysql
正常运行的话就跳过mysql
相关的安装了。
注意在安装mysql-server
的时候可能会出现找不到包,提示使用mariadb-server
替代,那就老实使用yum install mariadb-server mariadb
安装吧。
mysql 设置密码并打开远程访问权限
装好的mysql
启动默认是没有密码的,进入mysql
后进去运行下面的代码。
1 | // 设置密码 |
这里的设置根据需要来就好了。
开启防火墙5060端口
1 | firewall-cmd --zone=public --add-port=5060/udp --permanent |
安装opensips
下载源码并选择模块
1 | cd /usr/local/src |
进入这个菜单后,根据需要使用这个工具(左右键进入返回,空格键选中,回车键确定),但有个必须的是进入Configure Compile Options
,选中db_mysql
保存,返回主菜单选择Compile And Install OpenSIPS
编译安装即可。完成后会回到这个界面,保存退出。
修改配置文件
1 | # 配置文件目录 |
这里主要是mysql
连接信息,保证能正常连接即可。还有一个SIP_DOMAIN
能连接到本服务的域名或者IP地址
即可。
修改opensips.cfg
1 | vim opensips.cfg |
这里如果你不确定该怎么填的话,运行下面的命令看一下,一般是本机IP
。
1 | ip route get 8.8.8.8 | head -n +1 | tr -s " " | cut -d " " -f 7 |
创建数据库
1 | cd /usr/local/sbin |
之后就是根据提示傻瓜操作创建数据库就好了,如果前面的mysql
环境没装好,数据库连接有问题,这里就会报错,如果提示类似下面的编码问题,输入latin1
即可。
1 | WARNING: Your current default mysql characters set cannot be used to create DB. Please choice another one from the following list: |
这一步完成之后,会在数据库新建一个opensips
(名字是在上面的配置文件里设置的)的数据库。
启动opensips
1 | # 启动 |
到这里就成功的启动了服务并添加了两个用户(1001,1002),下面我们来在局域网测试一下。
测试通话
在同一个局域网的手机上装上支持sip
的软电话应用市场搜sip phone
应该能找到不少,电脑端也有。
配置一般是这样的
拨打电话成功
配置好两个终端直接拨号就行了,号码就是1001,1002,经测试视频通话也是默认就支持的,很6哦。至此,借助opensips
实现sip
通话已经完成,只是实现最基本的功能,opensips
还有很多好用的功能供大家来挖掘。