opensips安装步骤 for CentOS

转载自:http://blog.csdn.net/sunyuntao_loveby/article/details/38282145

参考的文档:

https://wiki.freeswitch.org/wiki/OpenSIPS_configuration_for_2_or_more_FreeSWITCH_installs#Install_OpenSIPS
https://wiki.freeswitch.org/wiki/Enterprise_deployment_OpenSIPS

1.安装依赖的包:
yum install gcc make
yum install lynx
yum install flex bison ncurses libncurses-dev ncurses-devel
yum install mysql mysql-server mysql-libs mysql-devel
2.针对64位系统,需要创建软连接
cd /usr/lib
mkdir mysql
# ln -sf /usr/lib64/mysql/libmysqlclient.so /usr/lib/mysql/libmysqlclient.so 
# ln -sf /usr/lib64/mysql/libmysqlclient.a /usr/lib/mysql/libmysqlclient.a 
# ln -sf /usr/bin/ld/libmysqlclient.so /usr/lib/mysql/libmysqlclient.so 
3. yum install *curses*
4. yum install perl-*
5.下载并安装:
下载地址:http://opensips.org/pub/opensips/1.11.1/src/
wget http://opensips.org/pub/opensips/1.11.2/src/opensips-1.11.2_src.tar.gz
tar zxvf opensips-1.11.2_src.tar.gz
cd opensips-1.11.2-tls
安装:
make all include_modules="db_mysql"
make include_modules="db_mysql" prefix="/usr/local" install
6. 重定向opensips日志:
(1)配置opensips.cfg日志位置为LOG_LOCAL0 
log_facility=LOG_LOCAL0 
(2)创建opensips.log文件 
[root@bogon opensips-1.9.0-tls]# cd /var/log [root@bogon log]# touch opensips.log 
(3)在系统日志/etc/rsyslog.conf引入local0 
local7.* /var/log/boot.log 
local0.* /var/log/opensips.log 
(4)验证结果 
[root@bogon etc]# /etc/init.d/rsyslog restart 
Shutting down system logger: [ OK ] 
Starting system logger: [ OK ] 
[root@bogon etc]# opensipsctl 
运行opensipsctl发现出错了,可以通过日志查看 [root@bogon opensips]# cat /var/log/opensips.log 将opensips.cfg第50行错误修改为: disable_tls=no 
可以避免错误出现。 重启opensips 
[root@bogon opensips]# opensipsctl restart 
INFO: Restarting OpenSIPS : INFO: stopped
7. 安装mysql支持。见:
http://wenku.baidu.com/view/66b9a0c8240c844769eaeefd.html
8. 安装配置RTPProxy模块
rtpproxy的下载地址:

rtpproxy模块通常与nathelper模块一起使用。首先要确保服务器上已经安装了rtpproxy,启动rtpproxy:

rtpproxy -l 192.168.1.43 -s udp:192.168.1.43:12221 -F

192.168.1.43是本机IP地址。
然后在opensips.cfg文件里做如下配置:

loadmodule "rtpproxy.so"
modparam("rtpproxy", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock") # CUSTOMIZE ME

9. 安装配置MediaProxy模块

MediaProxy官方文档链接:http://kb.smartvox.co.uk/opensips/install-mediaproxy-centos-6/

一个在CentOS6上安装MediaProxy2.5.2的参考链接。

下载mediaproxy源码(和所需要的各种依赖包),并安装(过程略)。安装完成后:

把config.ini.sample复制到/etc/mediaproxy/config.ini,把tls目录也复制过来。

echo 1 > /proc/sys/net/ipv4/ip_forward

media-dispatcher restart

media-relay restart

在opensips.cfg里配置mediaproxy模块,如下:

#### MediaProxy module
loadmodule "mediaproxy.so"
modparam("mediaproxy", "disable", 0)
#modparam("mediaproxy", "mediaproxy_socket", "/var/run/mediaproxy/dispatcher.sock")
modparam("mediaproxy", "mediaproxy_timeout", 500)
modparam("mediaproxy", "signaling_ip_avp", "$avp(nat_ip)")
modparam("mediaproxy", "media_relay_avp", "$avp(media_relay)")

10. 配置opensips
在命令行下输入 osipsconfig 会进入opensips 功能文件配置界面
[plain] view plaincopy 
1. OpenSIPS Main Configuration Menu 
2. 
3. 
4. _______________________________________ 
5. | | 
6. | ---> Generate OpenSIPS Script | 
7. | Exit & Save All Changes | 
8. |_______________________________________| 
9. 
10. 
11. Press h for navigation help. 
选择 Generate OpenSIPS Script->Residential Script->Configure Residential Script, 勾选 USE_AUTH, USE_DBACC, USE_DBUSRLOC, USE_DIALOG,USE_NAT;
然后返回选择 Generate Residential Script, 则会保存文件到 /usr/local/etc/opensips/opensips_residential_xxxx-xx-xx_xx:xx:xx.cfg, 回到usr/local/etc/opensips/目录下,将原有的opensips.cfg文件重命名,将新创建的cfg文件保存为opensips.cfg文件,然后打开 opensips.cfg 文件,编辑:
(1). 替换listen=udp:xxx.xxx.xxx.xxx:5060为服务器地址
(2). 替换modparam("rtpproxy", "rtpproxy_sock", "udp:xxx.xxx.xxx.xxx:7890") # CUSTOMIZE ME 为服务器地址;

11. 添加测试用户
接下来就是添加用户,例如:用户1001,密码1234
/usr/local/opensips/sbin/opensipsctl add 1001 1234
/usr/local/opensips/sbin/opensipsctl add 1002 1234
/usr/local/opensips/sbin/opensipsctl add 1003 1234
/usr/local/opensips/sbin/opensipsctl add 1004 1234
查看在线用户:
/usr/local/opensips/sbin/opensipsctl online
删除或修改用户
/usr/local/opensips/sbin/opensipsctl rm
/usr/local/opensips/sbin/opensipsctl passwd


附录1:
madiaProxy的安装过程:
http://kb.smartvox.co.uk/opensips/install-mediaproxy-centos-6/

yum groupinstall "Development Tools"
yum install iptables-devel.x86_64
yum install libgpg-error-devel.x86_64
yum install python-devel.x86_64

附录2:
如果出现“opensips ERROR:db_mysql:db_mysql_connect: driver error(1045): Access denied for user 'opensips”怎么办?
#mysql -uroot -p
mysql> grant all privileges on opensips.* to opensips@localhost identified by 'opensipsrw';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
重新启动OpenSIPS
[root@OpenSIPS ~]# opensipsctl start
INFO: Starting OpenSIPS : 
INFO: started (pid: 53374)


附录3:
如果出现opensips启动时报ERROR:uri:db_checks_fixup1: configuration error 错误:
[root@OpenSIPS opensips]# vim opensips.cfg
#### URI module
loadmodule "uri.so"
modparam("uri", "use_uri_table", 0)
modparam("uri", "db_url","mysql://opensips:opensipsrw@192.168.1.43/opensips")

重新启动
[root@OpenSIPS opensips]# opensipsctl start
INFO: Starting OpenSIPS : 
INFO: started (pid: 48281)
问题解决

附录4:
如果出现“ERROR:db_mysql:mysql_raise_event: event not registered -1”,怎么办?

rtpproxy -l 192.168.1.43 -s udp:192.168.1.43:12221 -F
不要这样:rtpproxy -F

12221是opensips.cfg中的。


如何启动:
rtpproxy -l 192.168.1.43 -s udp:192.168.1.43:12221 -F
media-dispatcher restart
media-relay restart
opensips restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值