摘要

RtpEngine推荐使用Debian系统,可以看出Debian系统的安装是最简单的。我是基于ubuntu18.04安装的。需要注意的是如果你的Ubuntu系统版本太低,安装时会遇到各种的版本太低的坑的问题。所以个人建议基于高版本安装。提供个人基于低版本编译成功的包,解压后直接dpkg -i 安装deb包即可。前提是你系统已经存在rtpengine所要的包全部安装成功。

链接:https://pan.baidu.com/s/1ioGINrfKEc4-rGdzlFWysQ  密码:gkib

 下面是源码编译仅供参考,编译途中遇到问题还需去查找解决。

下载源码

git clone https://github.com/sipwise/rtpengine.git rtpengine

安装

进入rtpengine 目录,执行./debian/flavors/no_ngcp 以便删除任何NGCP依赖。最好建立一个目录,以便将下面生成的deb文件放在一起。

安装各种依赖包

apt-get install dkms

apt-get install module-assistant

apt-get install libbencode-perl

apt-get install libcrypt-rijndael-perl

apt-get install libdigest-hmac-perl

apt-get install libio-socket-inet6-perl

apt-get install libio-socket-ip-perl

apt-get install libsocket6-perl

apt-get install debhelper

apt-get install iptables-dev

apt-get install libcurl4-openssl-dev

apt-get install libpcre3-dev

apt-get install libxmlrpc-core-c3-dev

apt-get install markdown

apt-get install libglib2.0-dev

apt-get install libevent-dev

apt-get install libhiredis-dev

  默默祈祷安装过程中不会报错。

编译deb安装包

在目录执行命令 dpkg-buildpackage,生成deb安装包。如果生成失败,根据提示安装依赖包.

安装成功,退回上级目录,开始根据deb安装包安装各个组件

dpkg -i ngcp-rtpengine-daemon_*_amd64.deb

dpkg -i ngcp-rtpengine-iptables_*_amd64.deb

dpkg -i ngcp-rtpengine-dbg_*_amd64.deb

dpkg -i ngcp-rtpengine-utils_*_all.deb

dpkg -i ngcp-rtpengine-kernel-source_*_all.deb

//开启内核转发模块是需要安装下面的包
dpkg -i ngcp-rtpengine-kernel-dkms_*_all.deb

安装成功配置脚本

修改/etc/default/ngcp-rtpengine-daemon

 具体参数还需根据个人实际情况填写

重启

/etc/init.d/ngcp-rtpengine-daemon restart

如果需要还需配置iptables

chmod +x iptables.sh
cp etc/network/if-up.d/iptables /etc/network/if-up.d/
chmod +x /etc/network/if-up.d/iptables
touch /etc/iptables/firewall.conf
touch /etc/iptables/firewall6.conf
./iptables.sh

  

  

 

ubuntu 安装 rtpengine的更多相关文章

  1. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

  2. ubuntu安装mysql

    好记性不如烂笔头,记录一下,ubuntu安装mysql的指令. 安装MySQL: sudo apt-get install mysql-server sudo apt-get install mysq ...

  3. ubuntu安装vim时提示 没有可用的软件包 vim,但是它被其它的软件包引用了 解决办法

    ubuntu安装vim时提示 没有可用的软件包 vim-gtk3,但是它被其它的软件包引用了 解决办法 本人在ubuntu系统安装vim  输入 sudo apt-get install vim 提示 ...

  4. docker 1.8+之后ubuntu安装指定版本docker-engine

    这边记录ubuntu安装过程,首先是官网文档 If you haven’t already done so, log into your Ubuntu instance. Open a termina ...

  5. debian/ubuntu安装桌面环境

    apt-get install xorg apt-get install gnome 然后startx ubuntu 安装Gnome桌面 1.安装全部桌面环境,其实Ubuntu系列桌面实际上有几种桌面 ...

  6. 一个ubuntu phper的自我修养(ubuntu安装)

    ubuntu安装篇 一.ubuntu下载 到ubuntu官网下载适合自己电脑配置的系统版本,此处不做展开. 二.制作USB启动盘 在windows下制作USB启动盘,工具是universal usb ...

  7. ubuntu 安装JAVA jdk的两种方法:

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

  8. [其他]Ubuntu安装genymotion后unable to load VirtualBox engine

    问题: Ubuntu安装genymotion后unable to load VirtualBox engine 解决办法: 如果没有安装VirtualBox,要先安装VirtualBox. 安装Vir ...

  9. Ubuntu安装出现左上角光标一直闪解决方式

    Ubuntu安装出现左上角光标一直闪解决方式: 01下载ubunu http://cn.ubuntu.com/download/ 02.软碟通 http://pan.baidu.com/s/1qY8O ...

随机推荐

  1. 理解 C# 项目 csproj 文件格式的本质和编译流程

    写了这么多个 C# 项目,是否对项目文件 csproj 有一些了解呢?Visual Studio 是怎么让 csproj 中的内容正确显示出来的呢?更深入的,我能够自己扩展 csproj 的功能吗? ...

  2. python调用dll

    调用CALLBACK标记的dll方法要用dll = ctypes.windll.LoadLibrary( 'test.dll' ) 没有CALLBACK的方法用dll = ctypes.cdll.Lo ...

  3. vue踩坑记录

    一.element resetFields 方法报错 网上查的解决方案 resetForm(formName) { this.$nextTick(() => { this.$refs[formN ...

  4. vi/vim显示中文字符并且去掉^M的方法

    vim上经常会碰到中文显示不正常的现象,也就是传说中的乱码.搜索了一下,在 http://www.chinalinuxpub.com/bbs/showthread.php?t=45475 找到了一个解 ...

  5. BZOJ4974:[lydsy1708月赛]字符串大师

    浅谈\(KMP\):https://www.cnblogs.com/AKMer/p/10438148.html 题目传送门:https://lydsy.com/JudgeOnline/problem. ...

  6. atoi函数的实现——面试

    主要考虑,字符串中是否有非法字符,字符串是否有溢出控制 #include<stdio.h> int myatoi(const char *str){ ,ret=,i=; if(str[i] ...

  7. 【经验】实现STL算法时遇到的模板编译错误问题

    在实现set_union算法时调用了自己写的copy算法,出现了以下问题. Error 1 error C2665: 'xyz_stl::__copy' : none of the 2 overloa ...

  8. STL 算法罗列 (转)

    非修改性序列操作(12个) 循环 for_each() 对序列中的每个元素执行某操作 查找 find() 在序列中找出某个值的第一次出现的位置 find_if() 在序列中找出符合某谓词的第一个元素 ...

  9. mui IOS权限提示框修改

    "plistcmds": [ "Set :NSContactsUsageDescription 说明读取用户通讯录的原因", "Set :NSMicr ...

  10. abbreviation

    1. ps------process status 2. tty-----teletype 3. ping----packet internet groper 4. nohup-----no hang ...