`
cgs1999
  • 浏览: 537320 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CentOS下从源码安装Asterisk实战

阅读更多
0、引言
在研究WebRTC服务端SIP信令,需要有SIP服务器,网上找了好些参考的项目,Asterisk项目就是其中之一,根据官方网站的Wiki中的指导,从源码安装Asterisk(https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk+From+Source),本文记录编译安装过程及相关问题的处理。

1、准备
(1)VMware;
(2)CentOS 64位版本(本人使用CentOS 6.4 的64位版本);
(3)安装的虚拟机要可以上网,建议网络使用NAT,相关方法可网上查找;

2、编译安装过程
2.1 更新CentOS系统软件至最新版本
sudo yum update


2.2 下载相关源码包
名称地址
Asteriskhttp://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
dahdi-completehttp://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
libprihttp://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
pjprojecthttp://www.pjsip.org/release/2.5/pjproject-2.5.tar.bz2

注:本文编写时下载到的版本
Asterisk          13.9.0
dahdi-complete    2.11.1
libpri            1.5.0
pjproject         2.5

2.3 安装DAHDI-linux-complete
可选安装,若不集成电话设备或不计划使用MeetMe拨号应用,那么就可以不安装DAHDI,安装相关命令如下:
tar -xvzf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-2.11.1+2.11.1
make && make install
make config


2.4 安装LibPRI
可选安装,若不集成电话设备或不计划使用MeetMe拨号应用,那么就可以不安装LibPRI,
安装相关命令如下:
tar -xvzf libpri-current.tar.gz
cd libpri-1.5.0
make && make install

注意:LibPRI依赖DAHDI,安装前请确认DAHDI已安装

2.5 安装pjproject
1、编译及安装,相关命令如下:
tar -xvjf pjproject-2.5.tar.bz2
cd pjproject-2.5
./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'
make dep && make && make install

注意:若make时出现“make[2]: g++: Command not found”错误,说明系统缺少g++的编译命令,使用下面的yum命令先安装
yum install -y gcc-c++


2、更新共享连接命令如下:
ldconfig

3、验证pjproject已经正确安装的命令如下:
ldconfig -p | grep pj

结果如下:
[root@localhost pjproject-2.5]# ldconfig -p | grep pj
        libpjsua2.so.2 (libc6,x86-64) => /usr/lib/libpjsua2.so.2
        libpjsua2.so (libc6,x86-64) => /usr/lib/libpjsua2.so
        libpjsua.so.2 (libc6,x86-64) => /usr/lib/libpjsua.so.2
        libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so
        libpjsip.so.2 (libc6,x86-64) => /usr/lib/libpjsip.so.2
        libpjsip.so (libc6,x86-64) => /usr/lib/libpjsip.so
        libpjsip-ua.so.2 (libc6,x86-64) => /usr/lib/libpjsip-ua.so.2
        libpjsip-ua.so (libc6,x86-64) => /usr/lib/libpjsip-ua.so
        libpjsip-simple.so.2 (libc6,x86-64) => /usr/lib/libpjsip-simple.so.2
        libpjsip-simple.so (libc6,x86-64) => /usr/lib/libpjsip-simple.so
        libpjnath.so.2 (libc6,x86-64) => /usr/lib/libpjnath.so.2
        libpjnath.so (libc6,x86-64) => /usr/lib/libpjnath.so
        libpjmedia.so.2 (libc6,x86-64) => /usr/lib/libpjmedia.so.2
        libpjmedia.so (libc6,x86-64) => /usr/lib/libpjmedia.so
        libpjmedia-videodev.so.2 (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so.2
        libpjmedia-videodev.so (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so
        libpjmedia-codec.so.2 (libc6,x86-64) => /usr/lib/libpjmedia-codec.so.2
        libpjmedia-codec.so (libc6,x86-64) => /usr/lib/libpjmedia-codec.so
        libpjmedia-audiodev.so.2 (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so.2
        libpjmedia-audiodev.so (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so
        libpjlib-util.so.2 (libc6,x86-64) => /usr/lib/libpjlib-util.so.2
        libpjlib-util.so (libc6,x86-64) => /usr/lib/libpjlib-util.so
        libpj.so.2 (libc6,x86-64) => /usr/lib/libpj.so.2
        libpj.so (libc6,x86-64) => /usr/lib/libpj.so


2.6 安装Asterisk
1、解压
tar -zxvf asterisk-13-current.tar.gz

2、检查安装依赖
cd asterisk-13.9.0
cd contrib/scripts
./install_prereq install
./install_prereq install-unpackaged

3、配置
./configure

若成功的话,可以看到以下类似的信息
                .$$$$$$$$$$$$$$$=..      
              .$7$7..        .7$$7:.    
            .$7$7..           .7$$7:.
          .$$:.                 ,$7.7
        .$7.     7$$$$           .$$77
     ..$$.       $$$$$            .$$$7
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7
$$$       .7$$$$$$$$$$$$$$$$      :$$$.
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.
$$$        $$$   7$$$7  .$$$    .$$$.
$$$$             $$$$7         .$$$.
7$$$7            7$$$$        7$$$
 $$$$$                        $$$
  $$$$7.                       $$  (TM)
   $$$$$$$.           .7$$$$$$  $$
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$
       $$$$$$$$$$$$$$$$.

configure: Package configured for: 
configure: OS type  : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : unknown : linux-gnu :
configure: host-cpu:vendor:os: x86_64 : unknown : linux-gnu :

我在配置过程中,发现缺少提示缺少jansson,后来重新安装jansson就好了,相关命令如下
wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz
tar -zxvf jansson-2.7.tar.gz
./configure
make && make install

4、设置Asterisk选项,命令如下:
make menuselect

界面如下:

相关选项的意思可以查看官方的wiki,地址
https://wiki.asterisk.org/wiki/display/AST/Using+Menuselect+to+Select+Asterisk+Options


另外,若pjproject已经正确安装,则可以在Resource Modules分类中看到res_pjsip选项已启用,如下图所示



5、编译,相关命令如下:
make

编译成功可以看到以下信息
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running:              +
+                                           +
+                make install               +
+-------------------------------------------+
+--------- Asterisk Build Complete ---------+

6、安装,相关命令如下:
make install

安装成功可以看到以下信息
+---- Asterisk Installation Complete -------+
+                                           +
+    YOU MUST READ THE SECURITY DOCUMENT    +
+                                           +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample   +
+ configuration files (overwriting any      +
+ existing config files), run:              +
+                                           +
+                make samples               +
+                                           +
+-------------------------------------------+
+---- Asterisk Installation Complete -------+

7、安装配置示例文件,相关命令如下:
make samples

8、安装初始化脚本,相关命令如下:
make config
make install-logrotate



2.7 验证
1、验证DAHDI安装情况,相关命令如下:
lsmod | grep dahdi

若没有任何信息,可能是DAHDI没有启动,可以使用下面的命令启动
service dahdi start
//或者
/etc/init.d/dadhi start

若DAHDI已启动则可以看到下面类似信息
[root@server asterisk-13.9.0]# lsmod | grep dahdi
dahdi_transcode  7928 1 wctc4xxp
dahdi_voicebus  40464 2 wctdm24xxp,wcte12xp
dahdi          196544 12 wctdm24xxp,wcte11xp,wct1xxp,wcte12xp,wct4xxp
crc_ccitt        2096 1 dahdi

2、验证Asterisk安装情况,查看Asterisk状态命令如下:
service asterisk status
//或者
/etc/init.d/asterisk status

(1)若Asterisk没有启动,则看到的信息如下:
[root@server asterisk-13.9.0]# service asterisk status
asterisk is stopped

可以使用下面的命令启动Asterisk:
service asterisk start
//或者
/etc/init.d/asterisk start

看到的信息如下:
[root@server asterisk-13.9.0]# service asterisk start
Starting asterisk:

(2)若Asterisk已启动,则看到的信息如下:
[root@server asterisk-13.9.0]# service asterisk status
asterisk (pid 32117) is running...

(3)若Asterisk被锁定了,则看到的信息如下:
[root@server asterisk-13.9.0]# service asterisk status
asterisk dead but subsys locked

解决方法是删除/var/run/asterisk的内容,相关命令如下:
rm -rf /var/run/asterisk


3、小结
至此,Asterisk已经编译并安装成功,后续将推出配置实战及相关使用方法。
  • 大小: 12.4 KB
  • 大小: 82.8 KB
分享到:
评论

相关推荐

    centos下的Asterisk安装_3

    安装Asterisk可以通过RPM包或源代码编译的方式进行。具体步骤包括下载Asterisk软件包、配置编译选项以及安装依赖库等。 总结 在CentOS下安装Asterisk涉及禁用SELinux、添加第三方软件仓库以及安装Asterisk本身等多...

    centos下的Asterisk安装_1

    在本文中,我们将详细介绍如何在 CentOS 操作系统上安装 Asterisk,一个开源的IP电话系统。Asterisk 是一个强大的通信平台,支持VoIP、PBX、会议、IVR和许多其他通信功能。以下是安装过程的详细步骤: 1. **CentOS ...

    在centos6.5安装asterisk13

    ### 在CentOS 6.5上安装Asterisk 13 #### 一、环境准备与依赖安装 在正式开始安装Asterisk之前,需要确保系统环境满足安装要求,并安装必要的依赖包。以下步骤适用于CentOS 6.5 64位系统。 1. **更新依赖包** ...

    centos(*)下安装asterisk与freepbx之教材

    centos(*)下安装asterisk与freepbx;很好用哦

    VoIP服务器安装asterisk+CentOS

    VoIP 服务器安装 Asterisk+CentOS VoIP 服务器是一种基于 IP 技术的分组化、数字化传输技术,通过把普通电话的模拟信号转变为数字语音信号,达到用 IP 网络进行语音通信的目的。 VoIP 作为一种提供电话业务和一些...

    Centos5.8安装asterisk并配置mysql用户表

    安装Asterisk的步骤包括下载Asterisk源代码、编译和安装。可以使用SVN或wget命令下载Asterisk源代码。然后,使用./configure、make和make install命令编译和安装Asterisk。在安装完成后,需要关闭SELinux以确保...

    Asterisk11.12.0安装在Centos6.3

    《Asterisk11.12.0在Centos6.3上的安装指南》 Asterisk是一款开源的电话交换机软件,它提供了丰富的通信功能,包括VoIP、语音会议、传真、IVR等。本文将详细介绍如何在CentOS 6.3操作系统上安装Asterisk11.12.0版本...

    centos下的Asterisk安装_2

    在本文中,我们将深入探讨在 CentOS 上安装 Asterisk 的详细步骤,包括安装必要的依赖库、获取和编译源代码。 首先,确保你的 CentOS 系统已经更新到最新版本,并且安装了必要的开发工具。对于 64 位系统,你需要...

    centos7离线源码安装make

    在CentOS 7环境下,由于网络限制或安全策略,有时我们需要离线方式进行源码安装`make`。本文将详细介绍如何在CentOS 7系统中离线安装`make`。 首先,理解`make`的作用。`make`是基于Makefile文件的一个程序,用于...

    Centos5.5下Qt的安装配置

    CentOS 5.5 下 Qt 的安装配置 在 CentOS 5.5 平台下安装 Qt 需要经过多个步骤,每个步骤都需要注意一些重要细节。本文将详细讲解 CentOS 5.5 下 Qt 的安装配置过程。 一、安装软件列表 在开始安装 Qt 之前,需要...

    CentOS下mysql成功安装

    首先,需要下载MySQL的源代码,当前最新版本为5.6.20,可以从MySQL的官方网站上下载。下载完成后,需要将其解压缩到指定目录中。 安装依赖包 在编译安装MySQL之前,需要安装一些依赖包,包括gcc、gcc-c++、gcc-g77...

    lammps安装 centos7成功安装

    2. **进入LAMMPS源代码目录** ```bash cd lammps-31Mar17/src ``` 3. **检查依赖库安装状态** ```bash make package-status ``` 4. **选择性安装必需的依赖库** - **不要使用`make yes-all`来安装所有库**。...

    CentOS7系统管理与运维实战

    CentOS7系统管理与运维实战 CentOS7系统管理与运维实战

    Centos7下安装MongoDB

    Centos7下安装MongoDB Centos7下安装MongoDB是指在Centos7操作系统中安装和配置MongoDB数据库的...Centos7下安装MongoDB需要安装mongodb-org元数据包,配置yum源,安装MongoDB,创建数据目录,修改配置文件等步骤。

    Centos环境下安装curl

    这里假设PHP的源代码已经解压到了`/web/unpack/lamp/php-5.2.6/`目录下,具体的步骤如下: - 进入PHP的curl扩展目录: ```bash cd /web/unpack/lamp/php-5.2.6/ext/curl/ ``` - 生成配置文件: ```bash /...

    centos7源码安装python2.7.6.txt

    centos7源码安装python2.7.6 centos7源码安装python2.7.6 centos7源码安装python2.7.6 centos7源码安装python2.7.6 centos7源码安装python2.7.6

    ubuntu或centos下进行n2n 安装客户端

    ubuntu或centos下进行n2n 安装客户端 ubuntu:使用ubuntu.zip,centos:使用centos.zip 安装方法:解压文件,进入n2n文件夹执行命令sudo sh install.sh

    libuv在centos下的编译安装.pdf

    其次,在下载libuv源代码的环节,推荐使用wget工具直接从GitHub仓库下载特定版本的libuv源代码压缩包。这个版本被指定为v1.33.0,但在实际操作中应当检查是否有更新的版本。下载完毕后,需要对压缩包进行解压缩,这...

Global site tag (gtag.js) - Google Analytics