源码编译方式安装Asterisk

源码编译方式安装Asterisk(一) 声明:本文由本人翻译自Asterisk wiki,如有不妥欢迎指正。 原文地址:https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk+From+Source 一种流行的安装Asterisk方式是自己下载源代码并编译。这比使用包管理器或使用基于Asterisk的linux发行版要复杂,它允许你自己决定如何构造Asterisk和构造哪些Asterisk模块。 在这一节中,你将学习到如何下载并编译Asterisk源代码,以及如何安装As 阅读详情

声明:本文由本人翻译自Asterisk wiki,如有不妥欢迎指正。

原文地址:https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk+From+Source

一种流行的安装Asterisk方式是自己下载源代码并编译。这比使用包管理器或使用基于Asterisk的linux发行版要复杂,它允许你自己决定如何构造Asterisk和构造哪些Asterisk模块。

在这一节中,你将学习到如何下载并编译Asterisk源代码,以及如何安装Asterisk。

1. 下载

在一个典型的系统中,你将需要下载以下三个组件:

· Asterisk

· DAHDI

· libpri

libpri库允许Asterisk与ISDN连接交互(我们将在450.8章节“ISDN PRI和BRI连接简介”中介绍更多关于ISDN连接的内容)。虽然这个库并不总是必要的,但我们还是建议你安装。

DAHDI库允许Asterisk与模拟和数字电话以及电话线交互,包括公共电话交换网(Public Switched Telephone Network,简称PSTN)。即使你现在暂时不需要连接模拟或数字电话,但也应该在新的系统中安装DAHDI。

DAHDI

DAHDI为Digium Asterisk Hardware Device Interface简写,即Digium公司的Asterisk硬件设备接口,它集成了一些模拟和数字电话卡的驱动和应用程序,以及其他Digium公司的产品。DAHDI驱动程序独立于Asterisk,并可以被其他应用使用。DAHDI先前被叫做Zaptel,是由Zapata电话系统项目演进而来。

DAHDI源代码可以分别下载两个单独的组件(dahdi-linux是DAHDI的驱动程序,dahdi-tools是DAHDI的应用程序)。也可以下载dahdi-linux-complete完整包,它包含了linux驱动和应用程序两个部分。

贴士:为什么DAHDI要分割为两个不同的组件?

DAHDI被分割为两个组件(linux驱动和应用),是为了让第三方可以把DAHDI驱动移植到像FreeBSD这样的其他操作系统,这样我们就会有dahdi-linux和dahdi-freebsd等。

最新版本的libpri、DAHDI和Asterisk下载地址:

http://downloads.digium.com/pub/telephony/

2. 系统环境要求

为了顺利编译和安装Asterisk,你需要在系统中安装一个C编译器和一些系统库。

2.1 编译器

编译器是一个使源代码(Asterisk的源代码是用C语言编写的)变成可执行程序的程序。虽然任何C语言编译器都可以编译Asterisk源代码,但是我们强烈建议你使用GCC编译器。它不仅是Linux和Unix系统下最流行的免费C语言编译器,也是Asterisk开发者使用的编译器。

如果GCC编译器还没有安装到你的机器上,你只需使用相应的软件包管理系统安装即可。你还需要安装GCC的C++部分,某些Asterisk模块将会用到它。

2.2 系统库

除了C语言编译器,还需要安装一些系统库。这些被Asterisk依赖的库必须在编译Asterisk之前安装好。在大多数操作系统中,你需要安装库和与之相应的开发包。

贴士:开发库

对于大多数操作系统,开发包名以-dev或者-devel结尾。例如,在Red Hat Linux系统中,你需要安装“openssl”和“openssl-devel”两个包。

你需要安装的库清单:

· OpenSSL

· ncurses

· newt

· libxml2

· Kernel headers(编译DAHDI驱动用到)

我们建议你在编译和安装libpri、DAHDI和Asterisk之前,使用操作系统的软件包管理系统来安装这些库。

贴士:找到正确的库

如果你安装Asterisk1.6.1.0或者更新的版本,在contrib/scripts子目录下配备了一个名为install_prereq.sh的shell脚本。如果执行 install_prereq test,它将输入在你的操作系统上安装必须系统库所需要执行的命令,如果执行 install_prereq install,它将自动尝试下载并安装这些必须系统库。

3. 解压缩源码文件

你下载到的libpri、DAHDI和Asterisk源代码扩展名通常为.tar.gz或.tgz。这些文件被亲切的称作tar包。这个名字来自Unix下的tar(tap archive磁带归档的简称)应用。Tar包是为了便于复制而将一些文件组合为一个文件,然后通常使用像GZip一样的工具进行压缩。

我们使用tar命令从tar包中提取源代码。下面假设你使用Linux系统,并已经下载了libpri、DAHDI和Asterisk的tar包存储在/usr/local/src目录下(你可能需要用root账户登陆以使这个目录可写)。版本号我们使用X、Y和Z来替代,我们假设你会使用下载下来的tar包中的版本号。另外请注意,我们在这里展示的命令可能与您的系统命令提示符下的不一样,不过不用担心,这些命令应该差不多。

首先,我们切换到下载源代码的目录下:

# cd /usr/local/src

然后,使用tar命令逐一从tar包中提取源代码,使用tar命令的-zxvf参数来告诉它我们要做什么。Z参数表示先解压缩再继续,x参数表示从tar包中提取文件,v参数表示输出详细(在每个文件提取的时候打印出文件名),f参数表示我们要从一个tar包文件中提取文件,而不是从磁带中。

# tar -zxvf libpri-1.X.Y.tar.gz

# tar -zxvf dahdi-linux-complete-2.X.Y+2.X.Y.tar.gz

# tar -zxvf asterisk-1.8.X.Y.tar.gz

现在,你应当注意到,系统为每一个tar包创建了一个子目录,每个子目录中都包含了从相应tar包中提取的文件。我们接下来就可以编译并且安装这些组件了。

4. 编译和安装DAHDI

(未完待续。。。)

centos6.5下asterisk 13.3.2安装(分别从自己制作的rpm包和源码进行安装),支持mysql数据库 以下是从自己制作的rpm包(如何制作见我先前的文章)安装asterisk,以及其他需要的依赖软件,环境是centos 6.5下,其中mysql数据库部分大家视各自环境而定 另外,除了事先准备asterisk的rpm包,还要准备jansson的rpm包,请自行下载;下面的mysql_config.sql文件是asterisk自带的构建表格脚本;my.cnf是mysql的配置脚本,大家根据自己环境而 阅读详情

相关推荐

高通410随身wifi编译安装Asterisk(chan_mobile)搭建内网voip系统

前几天写了教程在ubuntu上搭建Asterisk,成功在内网打通了SIP通话。 ubuntu是18.04,安装的虚拟机系统;最近手头剩了个斐讯的N1,Armbian系统,这个不就是ubuntu内核,所以理论上应该也可以安装Asterisk;在这之前在openwrt上研究了一周多,Asterisk是跑起来了,但插件不全,尤其不能安装chan_mobile,放弃了。以下是在Armbian系统中搭建过程,纪录下来 1. 准备工作;支持蓝牙的手机一部;N1一个(安装好Armbian) 2. N1安装As

胡同老道的博客 3991

asterisk14 编译笔记

环境:ubuntu12.04 ./configure 一、-bash: wget: command not found sudo apt-get install wget 二、configure: error: no acceptable C compiler found in $PATH sudo apt-get install gcc 三、make: gcc: command ...

飞呀飞呀菲 2904

如何在Debian 12上安装FreePBX 17和Asterisk 21

介绍如何在Debian 12上手动安装FreePBX 17和Asterisk 21,包含PHP 8.2、MariaDB 10.11、NodeJS 18.16的配置。步骤包括系统更新、安装必要依赖、Asterisk和FreePBX的下载与编译、Apache和ODBC配置、并设置启动脚本。文章为高级用户提供详细的命令和配置说明,最终实现FreePBX基本功能,部分模块可能需额外配置。

zhanyiqin的专栏 1873

编译libxml2库源代码

下面以libxml2-2.6.32.tar.gz为例,演示如何编译libxml2源码 源码链接:https://pan.baidu.com/s/1OuoPAoOcioFAtxycL0gKvw 提取码:kfsz 1、解压文件,进入后执行 ./configure --host=arm-none-linux-gnueabi --without-python–without-zlib...

世间所有的相遇都是久别重逢 3742

asterisk入门学习资料集合(全手写)

总共合集分为两个文件夹和四个word文档(资料全部手写完成) 四个文档介绍: 1、从centos系统安装到asterisk安装,配置账号并通话,有详细的图文讲解 2、asterisk安装之后的简单启动,简单命令 3、对asterisk增加g729和g723编码 4、对语音板卡的安装,配合asterisk进行使用。板卡安装,配置,也有图文详解。 两个文件夹: 1、asterisk有关的几个安装包。相关的全部安装包。下载安装即可用 2、g729和g723解码器

zynq+ad9361 petalinux使用官方IIO示波器调试记录

1ad9361 iio示波器

Yetob的博客 7991

CentOS 7下 安装asterisk14

We will be using CentOS 7 for Asterisk setup with minimal installed packages so need to ensure system is up to date and you have root privelges on the system for the installation of different required...

free_xiaochen的博客 2732

AI应用架构师实战:高等教育智能课程推荐系统开发

性能:选课季并发量达1000QPS,推荐响应时间≤500ms(否则学生不耐烦)。数据隐私:符合《教育数据安全管理规范》,学生姓名、学号等敏感信息需匿名化存储。可扩展性:支持新增课程类型(如MOOC、实践课)、新增数据源(如竞赛获奖记录)。教育AI要“以教为中心”:不能纯技术驱动,要和教育工作者深度合作(如教师参与定义课程的前置关系)。数据是核心:数据质量决定推荐效果,要重视数据治理和隐私保护。持续迭代:教育需求是动态的(如每年新增课程、学生目标变化),要定期收集用户反馈,更新模型和策略。张三。

AI大模型应用之禅 1348

asterisk安装、配置

asterisk官网有安装的具体步骤和教程,这里我主要参考官网中的源码安装方式。链接 1、关闭SELinux、防火墙 sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux service iptables stop 2、系统更新 yum install -y epel-release yum upd

赶路人儿 1万+

从零到一:基于Esp32与LVGL的ST7789屏幕驱动全流程实战

本文详细介绍了基于Esp32与LVGL的ST7789屏幕驱动全流程实战,包括环境准备、驱动文件改造、硬件接口配置、LVGL集成与优化等关键步骤。通过VSCode+ESP-IDF开发环境,读者可以快速掌握SPI模式下的屏幕驱动开发,解决常见问题如颜色错乱、画面撕裂等,并实现LVGL的高效集成与性能优化。

weixin_33725722的博客 711

Palantir的Ontology:从静态知识图谱到动态业务引擎的跃迁

本文探讨了Palantir的Ontology技术如何将静态知识图谱升级为动态业务引擎。通过引入函数和行动作为核心元素,Ontology实现了业务逻辑的自动化响应与执行,显著提升物流、能源等领域的运营效率。文章详细解析了其混合存储引擎、状态监听网络等关键技术设计,并对比展示了传统架构与Ontology架构的业务价值差异。

weixin_42570296的博客 200

Asterisk使用

asterisk 使用教程 1.asterisk 简介 What is Asterisk? Asterisk is an open source framework for building communications applications. Asterisk turns an ordinary computer into a communications server. Asterisk...

我的学习笔记 8882

1.4 《SST通用技术规范》整体框架与核心条款解读

本小节以**GB/T《电力电子变压器通用技术要求》**(固态变压器SST核心通用规范)为核心依据,结合电力电子变压器技术特性与工程应用边界,系统解析规范的整体章节框架、层级逻辑与强制性/推荐性核心条款,明确规范与传统工频变压器标准的差异,为SST拓扑设计、性能验证、出厂检验与工程落地提供标准化依据。全文以标准原文、期刊文献数据与试验规范为支撑,无主观推演与感性表述。

技术工作者 1680

终于将freepbx安装到 ubuntu 16.04 上去了, 最终得到是 freepbx 15. 分别装到两个地方, 都是ubuntu 16.04

今天是2022-0222, 周二, 终于将freepbx安装到 ubuntu 16.04 上去了, 最终得到是 freepbx 15. 分别装到两个地方, 都是ubuntu 16.04 版本 一个是本地虚拟机, 一个是华为云(阿里云)服务器 特地留下记录, 其中也碰到一些坑, 以使得后面可以避开

abcheny的博客 3149

HALCON基于描述符的模板匹配(未标定)

HALCON基于不标定描述符的模板匹配

king_linj的博客 890

MATLAB算法实战应用案例精讲-【数模应用】梯度提升决策树(GDBT)(附python代码)

GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,它在被提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法。近些年更因为被用于搜索排序的机器学习模型而引起大家关注。.........

qq_36130719的博客 2077

Ubuntu编译并安装voip服务器软件Asterisk

Ubuntu系统版本:14.04 LTS Asterisk版本:asterisk-15.5.0 Asterisk下载链接:https://www.asterisk.org/download-asterisk-thank-you 官网的安装指导链接:https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk+From+Sourc...

croop520的专栏 2694

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析

伶俐角少儿编程 484

Asterisk 服务器 Linux平台安装教程

系列文章目录 目录 系列文章目录 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加.

优快云_DTEO的博客 4331

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Ubuntu下源码安装Asterisk

一、环境准备 操作系统:ubuntu14.4 Asterisk版本:18.3.0 Dahdi版本:不高于3.0.0 Libpri版本:1.6.0 二、编译步骤 1、编译dahdi,在dahdi目录,执行: make make install make config 2、编译libpri,在libpri目录,执行: make make install 3、编译Asterisk,在Asterisk目录,执行 ./configure 在出现问题5以后,则执行: ./configur

梦里水鬼 1260

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Asterisk-Java 项目下载及安装教程

Asterisk-Java 项目下载及安装教程 1. 项目介绍 Asterisk-Java 是一个用于与 Asterisk PBX 服务器集成的 Java 库。它支持两种 Asterisk 提供的接口:FastAGI 协议和 Manager API。FastAGI 允许你创建一个服务来管理呼叫,类似于 Web 服务器处理 HTTP 请求的方式。Manager API 则支持从 Asterisk 服...

gitblog_01294的博客 736

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

源码编译Asterisk系统环境要求

为了顺利编译和安装Asterisk,你需要在操作系统中安装一个C编译器和一些系统库。 编译器是一个使源代码(Asterisk的源代码是用C语言编写的)变成可执行程序的程序。目前,Asterisk1.8以及之后版本的RAII_VAR宏启动依赖于GCC编译器提供的扩展,因此Asterisk必须用GCC编译。目前正在努力使Asterisk兼容Clang的等效扩展。 除了C语言编译器,还需要安装一些系统库。这些被Asterisk依赖的库必须在编译Asterisk之前安装好。核心库允许编译额外的核心支持功能。在大多数

libodls 1228

Asterisk上安装lua模块

asterisk支持lua脚本形式的dialplan,由于所使用的Linux发行版没有lua的rpm包,所以需要使用源码安装。记录过程如下: 下载并安装lua: # wget http://www.lua.org/ftp/lua-5.1.4.tar.gz # tar zxf lua-5.1.4.tar.gz # cd lua-5.1.4 # make 输出: Please do 'm

clliu的专栏 1943

asterisk 配置mysql_asterisk安装、配置

asterisk官网有安装的具体步骤和教程,这里我主要参考官网中的源码安装方式。链接1、关闭SELinux、防火墙sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinuxservice iptables stop2、系统更新yum install -y epel-releaseyum update -y3、安装依赖库和...

weixin_32745665的博客 354

ubuntu下asterisk安装

环境:Ubuntu 12.04      asterisk 11.12 安装过程:

小白的成长笔记 3812

asterisk16 编译安装问题集锦

asterisk 安装过程遇到的问题 1. make distclean 2. ./configure --without-pjproject-bundled 3. Please install the 'libedit' development package apt-get install libedit-dev 4. configure: error: *** uuid support not found (this typically means the uuid development p

我的学习笔记 4030
上一篇: 安装Asterisk(三)验证AsteriskNOW安装
下一篇: 我的编辑器之神VIM配置
libodls
博客等级 码龄21年 30粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值