1. 概述
是一个开源的SIP代理/服务器进行语音、视频、即时通讯,和任何其他SIP扩展。OpenSIPS是一种多功能,多用途信号SIP服务器——它可以作为SIP路由器/交换机,SIP注册应用程序服务器,重定向服务器,负载均衡器/分配器,背靠背的用户代理,业务服务器,IM服务器会话边界控制器,SIP前端,NAT遍历(遍历)服务器、IP网关(短信,XMPP)和其他人-看到全部功能。
本文档使用的是Opensips1.10.2,下载地址:www.opensips.org/Downloads/Downloads
2. 运行环境
本文档使用的开发环境为Ubuntu14.04,下载地址: www.ubuntu.com/download/desktop
3. 安装
3.1 安装前准备
使用终端执行命令sudo su获取权限,使用mysql数据库,安装Opensips1.10之前需安装mysql库文件。使用终端执行命令:
apt-get install myql-client
apt-get install libmysqlclient-dev
为方便对Opensips进行操作,定义一个文件夹安装Opensips,使用终端执行命令:
mkdir -p /usr/local/opensips_proxy
3.2 安装
解压下载的Opensips,使用终端进入到opensips文件夹,执行以下命令:
make (这时可能会提示缺少一些库文件,执行sudo apt-get intsall + 对应的名称 就可以解决了)
make执行完后执行 make menuconfig进入安装配置界面:
使用“↑”、“↓”、“←”、“→”进行操作。
选择Cofigure Compile Options → Configure Excluded Modules
选中db_mysql按空格确定,返回上级菜单,选择Configure Install Prefix
输入安装目录,回车确认
然后选中Save Changes 回车确认
返回上级菜单,选中Compile And Install OpenSIPS,回车确认。
待命令执行完毕后,执行命令
make install即刻完成Opensips服务器的安装
4. 配置Opensips
4.1 配置opensipsctlrc
使用终端进入目录:/usr/local/opensips_proxy/etc/opensips
执行命令:gedit opensipsctlrc
将部分注释去掉,修改SIP_DOMIN为你当前系统的地址,修改完成后保存
4.2 配置opensips.cfg
执行命令:gedit opensips.cfg
将listen=udp内ip地址修改为当前系统的地址,修改完成后保存
5. 启动opensips服务器
使用终端进入目录:/usr/local/opensips_proxy/sbin
执行命令:./opensipsdbctl create
完成数据库的建立后,执行命令 ./opensips start即可启动opensips服务器。(使用./opensipsctl -c查看命令帮助)
6. Opensips用户认证配置
6.1配置数据库
cd /usr/local/opensips_proxy/etc/opensips
使用root权限用户执行命令:gedit opensips.cfg
添加内容:
####MySQL
loadmodule “db_mysql.so”
6.2配置
增加配置
####auth
loadmodule "auth.so"
loadmodule "auth_db.so"
modparam("auth_db", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "load_credentials", "$avp(cred)=rpid;email_address")
modparam("auth_db", "password_column", "password")
修改Routing Logic中route的内容
将if ( !(is_method("REGISTER") ) )中的内容修改为:
# auth
sl_send_reply("403
将if (is_method("REGISTER"))中的内容修改为:
if (!www_authorize("", "subscriber")) {
sl_send_reply("403