一,opensip安装
1,老老实实安装各种库,我在这里吃了点亏:
yum install gcc make
yum install flex bison ncurses libncurses-dev ncurses-devel
yum install mysql mysql-server mysql-libs mysql-devel
2,下载opensip,svn和wget都可以,随便选择:
wget http://opensips.org/pub/opensips/1.8.2/src/opensips-1.8.2_src.tar.gz
tar zxvf opensips-1.8.2_src.tar.gz
cd opensips-1.8.2-tls
make menuconfig (勾选db_mysql,其他不用动)
菜单里选"CompileAnd Install Opensips"
退出menuconfig
注意,到这里如果不出意外理论上是安装好了,但我实际操作的时候有个问题,那就是module目录下的模块没有生成。也许我安装的是opensips_2.1的原因吧,具体不知道了。所以编译安装直接make all&&make install,还是看官网说明。
3,配置opensip,导入数据库
vi etc/opensips/opensipsctlrc,把与mysql有关的注释去掉(DB_PATH和USERCOL保留注释)
service mysqld start
opensipsdbctl create(提示的两个问题都选no),完成后数据库里会生成相应的数据库和表。
osipsconf
选择ENABLE_TCP,USE_AUTH,USE_DBACC,USE_DBUSERLOC,USE_DIALOG,然后generate residential script,用生成的opensips_residential_xxx.cfg替换原先的opensips.cfg。
注意:我配置好之后,启动opensip的时候报错,看日志说是opensip.cfg出错了,两个问题:首先查看lib/module/下有没有对应的模块。其次,在loadmodule"uri.so"下面一行加:
modparam("uri","db_url","mysql://opensips:opensipsrw@localhost/opensips")
vi /usr/etc/opensips/opensips.cfg (改listen地址和mpath,后者一般是/usr/lib/opensips/modules)
opensipsctl start (netstat -anp查端口)
service iptables stop (关闭防火墙)
4,检查配置是否成功:
查看进程:ps aux | grep opensips
查看udb监听:netstat -upln | grep opensips
查看tcp监听:netstat -tpln | grep opensips
检查sip服务端口:netstat -nlutp|grep sips
5,创建测试用户:
opensipsctl add 101 101
如果创建用户时提示“ERROR: domain unknown: useusernames with domain or set default domain in SIP_DOMAIN”,可修改opensipsctlrc文件将SIP_DOMAIN设为本机域名或IP地址。
6,配置日志路径,使用独立的log文件,opensips使用syslog服务,所以缺省情况下日志会进入/var/log/message这个文件,如果希望使用独立的log文件,可以这样设置:
touch /var/log/opensips.log
vi /etc/rsyslog.conf --> 增加一行:local0.* /var/log/opensips.log
/etc/init.d/rsyslog restart
二,opensips-cp配置
1, 我们首先你在你的电脑里已经安装的apache+php+mysql,没安装自己搞定。不过就算这些环境你已经安装了,也要老老实话的安装一些库,不然会出问题:
yum install httpd php php-mysql php-xmlrpc php-pear
pear installMDB2
pear install MDB2#mysql
pear install MDB2#mysqli
pear install log
可以选择性的安装,比如如果你已经有环境了php-mysql可以不用安装,但MDB2,pear等一定呀安装的。
2, 在/etc/php.ini里:把short_open_tag置为On
3, 下载opensip_cp解压到你的web目录下,比如/var/www/html,改名为你喜欢的名字。
Vim /etc/httpd/conf/httpd.conf添加下面一行
Alias/cp "/var/www/opensips-cp/web"
4, chown apache:apache/var/www/opensips-cp/config/access.log (如果是其他版本linux,用户名可能是www-data或其他)
5, 安装数据表:
安装必须的admin:
cd /var/www/opensips-cp/config/tools/admin/add_admin/
mysql -Dopensips -p<ocp_admin_privileges.mysql
mysql -uroot opensips进入mysql命令行,执行下面的命令添加管理员用户:
INSERT INTO ocp_admin_privileges(username,password,ha1,available_tools,permissions) values('admin','admin',md5('admin:admin'),'all','all');
安装cdrviewer:
cd /var/www/opensips-cp/config/tools/system/cdrviewer/
mysql -Dopensips -p < cdrs.mysql
mysql -Dopensips -p<opensips_cdrs.mysql
cd /var/www/opensips-cp/cron_job
vi generate-cdrs_mysql.sh (填写数据库连接信息)
注意,generate-cdrs_mysql.sh这个文件里的“callopensips_cdrs_1_6()”可能要改为“call opensips_cdrs()”,必须要与opensips_cdrs.mysql里定义的名称一致。
vi /etc/crontab (添加定时任务,例如每三分钟生成一次:*/3* * * * root /var/www/opensips-cp/cron_job/generate-cdrs_mysql.sh)
安装smonitor:
cd /var/www/opensips-cp/config/tools/system/smonitor/ (此处INSTALL文档有笔误,这里已更正)
mysql -Dopensips -p < tables.mysql
vi /etc/crontab (添加定时任务,例如每分钟一次:* ** * * root php /var/www/opensips-cp/cron_job/get_opensips_stats.php >/dev/null)
安装add_user:
(最前面已经装过了ocp_admin_privileges.mysql,这里应该不需要再做一次,INSTALL文档的小问题不少)
启动opensips-cp:
service mysqld start
service httpd start
打开浏览器访问http://xxx.xxx.xxx.xxx/cp/ 应该能看到登录界面,用之前创建的admin用户登录。
参考http://www.cnblogs.com/bjzhanghao/archive/2013/02/13/2910903.html