opensips源代码安装与配置的技巧方法
技术  /  管理员 发布于 7年前   452
1.源代码下载
1.1 opensips源码包下载
最新的opensips下载位置:
http://opensips.org/pub/opensips/latest/src/
所有版本的opensips下载位置:
http://opensips.org/pub/opensips/
1.2 opensips依赖包下载
源代码安装软件要注意查看README,INSTALL等文件,这些文件里有很重要的说明和安装信息。
在INSTALL文件中有opensips所依赖的软件包的说明,这里仅缺少如下几个软件包:
1) bison or yacc (Berkley yacc)
2) flex
3) libncurses5-dev and m4
缺少什么软件包可以选择在线安装或下载源代码包安装。
$apt-cache search xxxx 搜索软件包
$apt-get install xxxxx 安装软件包
./configure,make,sudo make install 源代码安装的一般步骤
1.2.1 bison
bison的安装依赖m4, m4 是一个宏处理器,将输入拷贝到输出,同时将宏展开。
m4下载地址为:
ftp://ftp.gnu.org/gnu/m4/
GNU http://www.gnu.org/software/bison/ 中对bison的介绍。
下载源代码包地址:
http://ftp.gnu.org/gnu/bison/
安装bison很简单:
./configure,make,sudo make install
1.2.2 flex
使用google搜索linux flex,不要用baidu!
flex是最快的词法分析器。
flex:The Fast Lexical Analyzer,
网址:
http://flex.sourceforge.net/
如下链接中说明了在ubuntu系统中安装flex的具体过程。
flex也依赖m4宏处理包,同上。
http://www.geeksww.com/tutorials/operating_systems/linux/installation/installing_flex_fast_lexical_analyzer_ubuntu_linux.php
选择一个版本下载后,解压安装,
./configure
make
sudo make install
以上就是我安装opensips的过程中缺少的包,如果还缺少什么包都会提示的,下载安装即可。
2.opensips安装
2.1 安装
INSTALL文件中有关于opensips安装的说明:
最简单的安装方法:
$make all
$sudo make install
注意事项:
如果在安装的过程中使用了prefix选项,那就必须要在前面的编译中也使用prefix选项,
并且使用的目录也是相同的。
如果没有按照这样做的话,那就会导致opensips找不到默认的配置文件,也就是说opensips会在错误的
目录中寻找配置文件。
因为中编译阶段,默认的配置文件目录已经被硬编码到opensips中。
默认安装的位置为/usr/local,而使用了prefix则指定了安装目录。
1)一个错误的例子:
make all
make prefix=/ install
2)正确的使用方法:
make prefix=/ all
make prefix=/ install 2.2
卸载方法(个人想法)
如果将opensips安装在/usr/local下,则与opensips相关的文件所在的位置如下示:
/usr/local/etc/opensips
/usr/local/sbin/opensips*
/usr/local/lib/opensips
此时如果想把opensips安装在根目录下 / ,则需要卸载opensips,方法是删除以上目录中的文件。
2.3 安装后目录结构
opensips安装之后的文件目录:
/sbin/中的可执行命令有如下:
opensips 、opensipsctl 、 opensipsdbctl 、 opensipsunix
/etc/opensips/中的配置文件有:
opensips.cfg、opensipsctlrc和osipsconsolerc
/lib/opensips/中的库文件有:
modules/ 和 opensipsctl/两个目录。
modules/ 为当前opensips所支持的模块,
opensipsctl/中是/sbin中启动命令要使用到的文件。
3.opensips启动
3.1 opensips命令启动
$sudo opensips3.2 opensipsctl 命令启动
启动opensips命令:
$sudo opensipsctl start
如果出现一下错误:
INFO: Starting OpenSIPS :
ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed
可以查看系统日志来检查失败的原因:
$tail Cn 20 /var/log/syslog
1) 错误一:
ERROR:core:daemonize: unable to create pid file /var/run/opensips.pid: Permission denied
解决方法:这个问题就是权限问题,在命令前加上sudo。
2) 错误二:
ERROR:core:main:loading config file(/usr/local/etc/opensips/opensips.cfg):No such file or directory
分析:
这个问题就是启动配置文件找不到。经过分析发现opensips从/usr/local/中读取默认配置文件,
原因是犯了2.1节中的错误,在编译时使用默认的路径/usr/local/,而在安装时使用prefix=/选项,
这就导致了配置文件找不到。
解决方法:
make clean
make prefix=/ all
sudo make prefix=/ install
重新编译安装,然后启动opensips。
4.opensips配置文件
opensips的配置文件都在/etc/opensips/中,分别为opensips.cfg、opensipsctlrc和osipsconsolerc。
opensips.cfg文件主要用于opensips启动的配置,所有应用功能的配置都在这个文件中说明。
该配置文件主要由
三个部分组成:
第一部分是全局变量,如:
listen=udp:127.0.0.1:5060
disable_tcp=yes
disable_tls=yes
等。
第二部分主要用来加载模块,并设置相应参数,如:
loadmodule "db_mysql.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
modparam("auth", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
等。
第三部分主要是路由策略和功能应用,如:
route[relay] {
# for INVITEs enable some additional helper routes
if (is_method("INVITE")) {
t_on_branch("per_branch_ops");
t_on_reply("handle_nat");
t_on_failure("missed_call");
}
……
}
opensipsctlrc文件中包含了数据库配置的信息。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号