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>