OPENSIPS安装与配置

安装环境Ubuntu 18.04.1,opensips版本2.4.4:

# cat /etc/issue
Ubuntu 18.04.1 LTS

首先安装opensips保存配置和用户信息的数据库,此处使用mysql。另外安装make menuconfig所需的ncurses库:

# apt-get install mysql-server mysql-client
# apt-get install libncurses5-dev

下载opensips-2.4.4代码,解压:

# wget http://opensips.org/pub/opensips/2.4.4/opensips-2.4.4.tar.gz
# tar -xf opensips-2.4.4.tar.gz
# cd opensips-2.4.4

使用按照make menuconfig提示编译代码,并进行安装,使用默认的配置不做更改:

# make menuconfig
# make install

opensips安装完成之后,首先修改opensips.cfg配置文件,将监听地址(listen的值)修改为本机网卡的IP地址:

# vi /usr/local/etc/opensips/opensips.cfg

listen=udp:192.168.1.124:5060   # CUSTOMIZE ME

接下来配置opensips与数据库mysql的接口,即配置文件opensipsctlrc,包括数据库引擎名、位置、数据库名,访问数据库用户名和密码, 最后一项为访问mysql的用户名:

# vi /usr/local/etc/opensips/opensipsctlrc

DBENGINE=MYSQL
DBPORT=3306
DBHOST=127.0.0.1
DBNAME=opensips
DBRWUSER=opensips
DBRWPW="opensipsrw"
DBROOTUSER="root"

配置完成之后,使用opensipsdbctl工具创建所需的数据库:

# opensipsdbctl create
ERROR: could not load the script in /usr/local//lib64/opensips/opensipsctl/opensipsdbctl.mysql for database engine MYSQL
ERROR: database engine not loaded - tried 'MYSQL'

遇到以上错误,缺少opensipsdbctl.mysql文件,需要由opensips-2.4.4源码目录中进行拷贝:

# cd /usr/local/lib64/opensips/opensipsctl/
# cp /home/kai/work/opensips-2.4.4/scripts/*.mysql .

此处拷贝了两个文件,分别为opensipsctl.mysql和opensipsdbctl.mysql,然后拷贝整个mysql目录:

# cp -rf /home/kai/work/opensips-2.4.4/scripts/mysql .


由于在安装mysql时(版本5.7.24)为设置root用户密码,默认为空。以下更新root密码为111111:

# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.

mysql> use mysql;
mysql> update mysql.user set authentication_string=PASSWORD('111111'), plugin='mysql_native_password' where user='root';  
mysql> flush privileges;

再次运行opensipsdbctl创建数据库,遇到缺少standard-create.sql文件的错误:

# opensipsdbctl create
MySQL password for root: 
INFO: test server charset
INFO: creating database opensips ...
INFO: Using table engine InnoDB.
sed: can't read ./mysql/standard-create.sql: No such file or directory

需要将opensips-2.4.4源码目录的相应文件拷贝到/usr/local/share/opensips目录下:

# cd /usr/local/share/opensips
# cp /home/kai/work/opensips-2.4.4/scripts/*.mysql .
# cp -rf /home/kai/work/opensips-2.4.4/scripts/mysql/ .

最终运行opensipsdbctl创建完成所需数据库:

root@sip:/usr/local/share/opensips# opensipsdbctl create
MySQL password for root: 
INFO: test server charset
INFO: creating database opensips ...
INFO: Core OpenSIPS tables successfully created.
Install presence related tables? (Y/n): y
INFO: creating presence tables into opensips ...
INFO: Presence tables successfully created.
Install tables for 
        b2b
        cachedb_sql
        call_center
        carrierroute
        cpl
        domainpolicy
        emergency
        fraud_detection
        freeswitch_scripting
        imc
        registrant
        siptrace
        userblacklist
? (Y/n): y
INFO: creating extra tables into opensips ...
INFO: Extra tables successfully created.

启动opensips服务:

# opensipsctl start         

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

创建SIP用户1001:

# opensipsctl  add 1001 111111
ERROR: domain unknown: use usernames with domain or set default domain in SIP_DOMAIN
#
# opensipsctl  add 1001@testtest.com.cn  111111
new user '1001@testtest.com.cn' added

使用Yate客户端进行注册之后,查看用户1001的信息如下:

# opensipsctl ul show
Domain:: location hash_size=512
        AOR:: 1001
                Contact:: sip:1001@192.168.1.110:50535 Q=
                        ContactID:: 3784994011828221762
                        Expires:: 466
                        Callid:: 1383794306@testtest.com.cn
                        Cseq:: 6
                        User-agent:: YATE/6.0.0
                        State:: CS_NEW
                        Flags:: 0
                        Cflags:: 
                        Socket:: udp:192.168.1.124:5060
                        Methods:: 63
# opensipsctl online
1001
# 

 

完。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值