背景
先是使用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还有很多好用的功能供大家来挖掘。

