牧羊岛

懒是不会有好果子吃滴//

导航

安装配置opensips

Posted on 2013-08-14 12:21  牧羊岛  阅读(1308)  评论(0编辑  收藏  举报

opensips提供了一个视频教程(这个页面有下载链接,90M),参考教程

 

wget http://opensips.org/pub/opensips/1.9.1/src/opensips-1.9.1_src.tar.gz
yum install gcc make

yum install flex bison ncurses libncurses-dev ncurses-devel
yum install mysql mysql-server mysql-libs mysql-devel

我的只安装了ncurses-devel,其他的以前都装过了

 

在图形界面下终端运行(为啥远程不可以呢?)

make menuconfig

勾选db_mysql,其他不用动

选择"Compile And Install Opensips"安装

安装完成后,我的默认路径是/usr/local/sbin/opensips

vi /usr/local/etc/opensips/opensipsctlrc 

配置mysql

有DBENGINE、DBHOST、DBNAME、DBRWUSER、DBRWPW、DBROOTUSER、USERCOL

opensipsdbctl create

创建数据,注意这里要使用root用户,会自动创建数据库用户和表,够自动化的,注意你的root用户有响应的权限

在图形界面下终端运行

osipsconfig 

选择ENABLE_TCP,USE_AUTH,USE_DBACC,USE_DBUSERLOC,USE_DIALOG,然后“generate residential script”

在/usr/local/etc/opensips/目录下用生成的opensips_residential_xxx.cfg替换原先的opensips.cfg

vi /usr/etc/opensips/opensips.cfg

改listen地址(我没有修改)和mpath,后者一般是/usr/lib/opensips/modules(我的是/usr/local/lib64/opensips/modules/,貌似相对路径不能用)

opensipsctl start 启动,这个时候我遇到了各种错误

调试方式:一个控制台运行
tail -f /var/log/messages,
另一个控制台继续运行
opensipsctl start
可以看到错误消息

错误1: ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed

不知道为什么,注释掉disable_tls就好了,在50行。

错误2:ERROR:db_mysql:db_mysql_connect: driver error(1045): Access denied for user 'opensips'@'localhost' (using password: YES)

如果自定义了mysql的密码,需要修改cfg文件所有配置mysql的地方(太不人性化了,不能直接获得之前的配置么)

错误3:ERROR:uri:db_checks_fixup1: configuration error - no database URL is configured!

在opensips.cfg里的“loadmodule "uri.so"”后添加modparam("uri", "db_url","mysql://opensips:opensipsrw@localhost/opensips")即可。

终于看到了久违的

INFO: Starting OpenSIPS :
INFO: started (pid: 7666)

查看进程

ps -ef|grep opensips

查看端口

netstat -anp |grep 5060

添加用户

opensipsctl add <username> <password>