opensip1.11.3 + centos 6.6 安装教程

来源:互联网 发布:贪吃蛇java代码 编辑:程序博客网 时间:2024/05/20 17:25


opensip1.11.3 + centos 6.6 安装教程



1. 安装前需要准备安装的模块:


[root@EA-SERVER ~]# yum -y install wget gcc bison flex zlib-devel openssl-develyum install ncurses libncurses-dev ncurses-develyum install mysql mysql-server mysql-libs mysql-devel 
2. 下载opensip
[root@EA-SERVER ~]# wget http://opensips.org/pub/opensips/latest/src/opensips-1.11.3_src.tar.gz

3. 解压opensip

[root@EA-SERVER ~]# tar xf opensips-1.11.3_src.tar.gz

4. 编译&安装
[root@EA-SERVER ~]# cd opensips-1.10.0-tls/[root@EA-SERVER ~]# make menuconfig
文本图形配置界面如下图所示:
                 OpenSIPS Main Configuration Menu          ___________________________________________         |                                           |         |    --->  Configure Compile Options        |         |          Compile And Install OpenSIPS     |         |          Cleanup OpenSIPS sources         |         |          Generate OpenSIPS Script         |         |          Exit & Save All Changes          |         |___________________________________________|          Press h for navigation help.

使用左右方向键浏览菜单,空格键勾选/取消勾选;
(1) 进入Configure Compile Options->Configure Excluded Modules,  勾选 db_mysql;返回保存;
(2) 进入Compile And Install OpenSIPS,此时开始编译和安装,结束后会返回到菜单界面

(3) 进入Exit & Save All Changes 退出;


5. 设置数据库配置
安装好的配置文件在 /usr/local/etc/opensips/ 目录下,编辑 opensipsctlrc 文件,将如下几行前的 # 号去掉,其他不变,保存:
DBENGINE=MYSQL
DBHOST=localhost
DBNAME=opensips
DBRWUSER=opensips
DBRWPW="opensipsrw"
DBROOTUSER="root"
然后使用如下命令创建数据库,注意输入mysql管理员密码

[root@EA-SERVER ~]# opensipsdbctl create


6. 安装 rtpproxy

下载
[root@EA-SERVER ~]# git clone git://sippy.git.sourceforge.net/gitroot/sippy/rtpproxy
安装
[root@EA-SERVER ~]# cd rtpproxy[root@EA-SERVER ~]# ./configure&&make&&make install

运行
[root@EA-SERVER ~]# rtpproxy -l xxx.xxx.xxx.xxx -s udp:xxx.xxx.xxx.xxx:7890 -F

7. 配置opensips
在命令行下输入 osipsconfig 会进入opensips 功能文件配置界面

                    OpenSIPS Main Configuration Menu           _______________________________________          |                                       |          |    --->  Generate OpenSIPS Script     |          |          Exit & Save All Changes      |          |_______________________________________|          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//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 为服务器地址;


8. 创建账户

[root@EA-SERVER ~]# opensipsctl add 10000@xxx.xxx.xxx.xxx 123456[root@EA-SERVER ~]# opensipsctl add 10001@xxx.xxx.xxx.xxx 123456


9. 启动服务

[root@EA-SERVER ~]# opensipsctl start


出现的问题以及解决办法:

1.  Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2

      出现这样的问题,解决办法:

<1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.另外看看是不是权限问题.<2、确定你的mysql.sock是不是在那个位置,mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock<3、试试:service mysqld start

2.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

# /etc/init.d/mysql stop# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &# mysql -u root mysqlmysql> UPDATE user SET Password=PASSWORD(<span style="font-family:Microsoft YaHei;">'</span>newpassword<span style="font-family:Microsoft YaHei;">'</span>) where USER=<span style="font-family:Microsoft YaHei;">'</span>root<span style="font-family:Microsoft YaHei;">'</span>;mysql> FLUSH PRIVILEGES;mysql> quit# /etc/init.d/mysql start

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")即可。

4. 在使用rtpproxy代理的时候需要注意的是:

rtpproxy -l xxx.xxx.xxx.xxx -s udp:yyy.yyy.yyy.yyy -F
     其中 xxx.xxx.xxx.xxx 是服务器的ip地址,也就是独立的ip地址,别人可以ping通的。

      其中 yyy.yyy.yyy.yyy 是本机的内网ip地址。


5. 在创建账户的时候需要注意的是:

opensipsctl add 10000@xxx.xxx.xxx.xxx 123456
     其中 xxx.xxx.xxx.xxx 是本机的内网ip地址

6. 在编辑opensips.cfg 文件时候需要注意的是:

 listen=udp:xxx.xxx.xxx.xxx:5060      

                       ---- 此处xxx.xxx.xxx.xxx是内网监听地址,需要填写本机内网ip,不然启动会报错。   

modparam("rtpproxy", "rtpproxy_sock", "udp:xxx.xxx.xxx.xxx:7890") 

                       ---- 此处xxx.xxx.xxx.xxx也是内网监听地址,需要填写本机内网ip。  

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

     出现这个错误,我目前遇到了三种可能:

<1.opensips.cfg 文件里面 mpath="/usr/lib64/opensips/modules/" 设置错误,查看自己的目录,并更改。

<2.opensips.cfg 文件里面uri:db_checks_fixup1错误修改办法:modparam("uri", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")

<3.opensips.cfg 文件里面ip和端口设置错误,导致监听失败。





0 0
原创粉丝点击