因为之前接触过kamailio,毕竟和opensips是同源的,很多使用方法、模块都相似,安装过程感到很熟悉,另外opensips有一个图形控制界面menuconfig,能够很方便的进行安装、脚本生成及配置。

一、下载源码

我下载的是当前稳定版本2.4.5:http://download.opensips.org/

解压缩放进了目录/usr/local/src/中。

二、安装依赖

见源码中的install以及Readme文件里有相关说明。

可以看到如果想使用menuconfig就的安装libncurses5-dev

切换root

1.安装gcc

sudo apt-get install build-essential

3.安装mysql

sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysqlclient-dev 

4.安装其他:

sudo apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perlsudo apt-get install bison flex libncurses5 libncurses5-dev

三、安装

使用menuconfig(推荐):

在/usr/local/src/opensips-2.4.5执行:

make menuconfig

进入控制台界面:

箭头上下,空格/回车选择,q返回上一级。

依次选择:Configure Compile Options—> Configure Excluded Modules,按空格选中[*] db_mysql

这步是配置安装的模块

按q返回上一级,选择→ Configure Install Prefix,我是安装在默认的/usr/local/下,可以自己输入想安装的位置。

选择 —> Save Changes 保存修改。

按q返回,选择 —> Compile And Install OpenSIPS,回车安装。

如果出现依赖错误,先通过apt-get安装依赖。

安装完opensips的目录结构是:

/usr/local/sbin/

里面有可执行命令 opensips、opensipsctl (用来启动/停止opensips)、 opensipsdbctl (用来创建数据库)、opensipsunix等等

/usr/local/etc/opensips/

里面有配置文件: opensips.cfg、opensipsctlrc、osipsconsolerc

/usr/local/lib64/opensips/

里面是库文件,其中/usr/local/lib64/opensips/里面是当前opensips所支持的模块, /usr/local/lib64/opensips/opensipsctl/ 是 /usr/local/sbin/中启动命令要用到的文件。

四、配置

刚刚我们完成了opensips的编译和安装(除数据库模块),现在进行数据库的安装及配置以及opensips自身的配置。

1、数据库安装及配置

进入配置文件目录:

cd /usr/local/etc/opensips

打开数据库配置文件opensipsctlrc并修改

vim opensipsctlrc

把与mysql有关的注释去掉(DB_PATH和USERCOL保留注释)

创建数据库(提示的两个问题都选no)

opensipsdbctl create

2、opensips配置

进入/usr/local/etc/opensips/,运行osipsconfig命令。

osipsconfig

依次选择—> Generate OpenSIPS Script —> Residential Script —> Configure Residential Script
选中如下几项
[*] ENABLE_TCP
[*] USE_AUTH
[*] USE_DBACC
[*] USE_DBUSRLOC
[*] USE_DIALOG
USE_NAT如果需要使用rtpproxy的话就选择,本次opensips是实现最基本的分机注册和分机相互呼叫功能,故不用选择。
按q返回,选择 —> Generate Residential Script 回车,生成新的配置文件。按q(三次)退出命令
用生成的opensips_residential_xxx.cfg替换原先的opensips.cfg:

mv opensips_residential_2019-4-18_21:15:42.cfg  opensips.cfg
vim opensips.cfg

修改opensips.cfg

监听端口:

以下为非必须项,出现相应问题再配置

如果日志中报错找不到数据库地址之类的,尝试增加这一行:

modparam("uri", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")

我的SIP软电话注册不上,将这个位置改动一下:

不使用menuconfig(简述):

(参考https://blog.csdn.net/okhelp/article/details/82319290,和kamailio的安装过程相同,可以参考我的kamailio安装过程,当然配置文件的修改不能完全一样)

1、在/usr/local/src/opensips-2.4.5下执行

make allmake install

2、具体模块使用,单独加载相应的模块库和配置模块参数。

如加载MYSQL模块:

#### USeR LOCation module
loadmodule "usrloc.so"
modparam("usrloc", "nat_bflag", 10)
modparam("usrloc", "db_mode",   2)
modparam("usrloc", "db_url","mysql://opensips:opensipsrw@localhost/opensips") # CUSTOMIZE ME

opensips默认安装完成后,会生成标准配置文件,该配置文件不需要数据库即可以完成分机注册和分机相互呼叫功能。

3、拷贝数据库脚本

cp /usr/local/src/opensips-2.4.5/scripts/opensipsdbctl.mysql   /usr/local/lib64/opensips/opensipsctl/cp /usr/local/src/opensips-2.4.5/scripts/mysql /usr/local/lib64/opensips/opensipsctl/  -a  

4、修改数据库配置文件

vim   /usr/local/etc/opensips/opensipsctlrc

将下面几项修改或者去掉注释

5、创建数据库(参考上面的)

opensipsdbctl create

五、使用独立的log文件

opensips使用syslog服务,所以缺省情况下日志会进入/var/log/message这个文件,如果希望使用独立的log文件,将opensips的日志保存在/var/log/opensips.log,可以这样设置:

touch /var/log/opensips.log
chmod 777 /var/log/opensips.log
vi /etc/rsyslog.d/opensips.conf

增加如下内容

local0.*             /var/log/opensips.log

重启syslog服务,启动opensips,增加用户和域名

service rsyslog restart
opensipsctl start
opensipsctl domain add xdty.org
opensipsctl add 1000 123456
opensipsctl add 1001 123456

服务启动后,防火墙开启tcp及udp的端口(我是直接关掉防火墙了=-=  :service iptables stop )

iptables -I INPUT -p tcp --dport 5060-j ACCEPT
iptables -I INPUT -p udp --dport 5060 -j ACCEPT

六、一些相关命令

查看进程命令:

ps aux | grep opensips

查看UDP链接状态;

netstat -ulpn | grep opensips

查看TCP链接状态:

netstat -tlpn | grep opensips

查看实时日志:

tail -f /var/log/opensips.log

七.拨打电话(MicroSIP软电话)

SIP电话配置:

拨打电话(这个是两个电话都在本机):

抓包(马赛克打的很是清奇QAQ):

我的CSipsimple不知为何还是注册不上,解决了再说,嗯。

参考:https://blog.csdn.net/chengzhangbiji/article/details/39693015

http://www.cnblogs.com/bjzhanghao/archive/2013/02/13/2910903.html

【opensips(一)】ubuntu16.04安装opensips相关推荐

  1. ubuntu16.04安装opencv3.4.1教程

    最近opencv3.4.1发布了,想换个新的试试鲜,于是把配置的过程通过博文的方式记录下来,方便查阅.  本教程原为3.3.0,但经过博主亲测,3.4.0.3.4.1皆适用 1.去官网下载opencv ...

  2. Ubuntu16.04 安装ftp

    2019独角兽企业重金招聘Python工程师标准>>> Ubuntu16.04 安装ftp,根据依赖安装. 安装vsftpd. sudo apt-get install vsftpd ...

  3. ubuntu16.04 安装CAJViewer 以及 安装wine /deepin-wine 图标异常的解决

    ubuntu16.04 安装CAJViewer 以及 安装wine /deepin-wine 图标异常的解决 通过deepin-wine 安装 cajviewer 之前装过deepin-wine 所以 ...

  4. ubuntu16.04 安装微信和qq

    ubuntu16.04 安装微信和qq Ubuntu系统没有qq和微信很难受,所以前几天装了一下qq和微信,在此记录下来,以防忘记. 通过 https://github.com/wszqkzqk/de ...

  5. Ubuntu16.04安装Chrome浏览器及解决root不能打开的问题

    Ubuntu16.04安装Chrome浏览器及解决root不能打开的问题 参考文章: (1)Ubuntu16.04安装Chrome浏览器及解决root不能打开的问题 (2)https://www.cn ...

  6. Linux入门(7)——Ubuntu16.04安装wps并解决系统缺失字体问题

    Linux入门(7)--Ubuntu16.04安装wps并解决系统缺失字体问题 参考文章: (1)Linux入门(7)--Ubuntu16.04安装wps并解决系统缺失字体问题 (2)https:// ...

  7. ubuntu16.04安装CUDA 8.0(很详尽,包括一些坑的解决方法)

    ubuntu16.04安装CUDA 8.0(很详尽,包括一些坑的解决方法) 参考文章: (1)ubuntu16.04安装CUDA 8.0(很详尽,包括一些坑的解决方法) (2)https://www. ...

  8. ubuntu16.04安装英伟达(NVIDIA)驱动——run文件安装

    ubuntu16.04安装英伟达(NVIDIA)驱动--run文件安装 去官网http://www.nvidia.com/Download/index.aspx?lang=en-us选择显卡驱动 中文 ...

  9. ubuntu16.04安装torch

    ubuntu16.04安装torch 第一步:从git上获取安装LuaJIT(C语言编写的Lua的解释器)和Torch所必需的依赖包: 在终端执行:git clone https://github.c ...

最新文章

  1. Python矩阵的创建(不使用numpy)
  2. Kafka学习(一)-------- Quickstart
  3. Google Research新成果,让表格理解和检索更上一层楼!
  4. Flink读取Kafka报错:KafkaException ByteArrayDeserializer is not an instance Deserializer
  5. Fragment Transactions和Activity状态丢失
  6. Safari浏览器(有时没有图片时,提交会出现问题)。
  7. 图像处理之全景拼接---基于sift的全景图像拼接
  8. svn怎么删除已提交的文件
  9. 使用FFmpeg工具进行推流、拉流、截图、变速、转换,及常见问题处理
  10. 把视频转换成图片帧的代码
  11. 用计算机排列姓氏顺序,电脑excel文档中如何根据姓氏笔画来排序
  12. 查询linux服务器有哪些IP在连接
  13. 短信发送失败之短信中心号码异常
  14. 硅谷钢铁侠--Elon Musk
  15. 怎么把c盘恢复出厂设置电脑语言,教你把电脑恢复出厂设置
  16. 北航计算机学院本科优秀毕业论文,我校荣获32项北京市普通高等学校优秀本科生毕业设计(论文)...
  17. 泛微协同OA制造业解决方案
  18. 昆仑通态MCGS与3台力士乐VFC-x610变频器通讯程序 实现昆仑通态触摸屏与3台力士乐VFC-x610变频器通讯
  19. GCC编译、链接、运行时库查找顺序(最真实可信)
  20. com2引脚 proface_PRO-FACE串口编程

热门文章

  1. 清北毕业生5年来去向大数据:北大偏爱银行,清华更倾向国网,华为堪称最大黑洞...
  2. SIFT(1)——尺度空间极值检测
  3. 别在折腾开发环境了,一劳永逸的 Python 环境搭建方法
  4. python中函数返回值是函数的函数的用法 func()()
  5. 3_JDBC 的脏读是什么?哪种数据库隔离级别能防止脏读?
  6. java实现迪杰斯特拉(Dijkstra)算法求解最短路问题
  7. Debian Jessie 安装 迅雷(Xware)
  8. 数据管理技术的发展经历了哪三个阶段
  9. C++ 双冒号::符号详解
  10. 如何把各种API文档放到任务栏的右下角