- 浏览: 530186 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
zfx1982:
楼主能把doubango和webrtc2sip的源码发我一份么 ...
CentOS下编译webrtc2sip实战 -
zfx1982:
请问在编译doubango的时候configure总是说少sr ...
CentOS下编译webrtc2sip实战 -
cgs1999:
845896876 写道老师你好,我发现// 自定义属性 ...
使用Java操作LDAP案例 -
845896876:
老师你好,我发现// 自定义属性 a ...
使用Java操作LDAP案例 -
myitela:
NAT即地址转换,也可以是内网地址与外网地址的转换。如nat1 ...
NAT与NAT穿越学习总结
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系统软件至最新版本
2.2 下载相关源码包
注:本文编写时下载到的版本
Asterisk 13.9.0
dahdi-complete 2.11.1
libpri 1.5.0
pjproject 2.5
2.3 安装DAHDI-linux-complete
可选安装,若不集成电话设备或不计划使用MeetMe拨号应用,那么就可以不安装DAHDI,安装相关命令如下:
2.4 安装LibPRI
可选安装,若不集成电话设备或不计划使用MeetMe拨号应用,那么就可以不安装LibPRI,
安装相关命令如下:
注意:LibPRI依赖DAHDI,安装前请确认DAHDI已安装
2.5 安装pjproject
1、编译及安装,相关命令如下:
注意:若make时出现“make[2]: g++: Command not found”错误,说明系统缺少g++的编译命令,使用下面的yum命令先安装
2、更新共享连接命令如下:
3、验证pjproject已经正确安装的命令如下:
结果如下:
2.6 安装Asterisk
1、解压
2、检查安装依赖
3、配置
若成功的话,可以看到以下类似的信息
我在配置过程中,发现缺少提示缺少jansson,后来重新安装jansson就好了,相关命令如下
4、设置Asterisk选项,命令如下:
界面如下:
相关选项的意思可以查看官方的wiki,地址
https://wiki.asterisk.org/wiki/display/AST/Using+Menuselect+to+Select+Asterisk+Options
另外,若pjproject已经正确安装,则可以在Resource Modules分类中看到res_pjsip选项已启用,如下图所示
5、编译,相关命令如下:
编译成功可以看到以下信息
6、安装,相关命令如下:
安装成功可以看到以下信息
7、安装配置示例文件,相关命令如下:
8、安装初始化脚本,相关命令如下:
2.7 验证
1、验证DAHDI安装情况,相关命令如下:
若没有任何信息,可能是DAHDI没有启动,可以使用下面的命令启动
若DAHDI已启动则可以看到下面类似信息
2、验证Asterisk安装情况,查看Asterisk状态命令如下:
(1)若Asterisk没有启动,则看到的信息如下:
可以使用下面的命令启动Asterisk:
看到的信息如下:
(2)若Asterisk已启动,则看到的信息如下:
(3)若Asterisk被锁定了,则看到的信息如下:
解决方法是删除/var/run/asterisk的内容,相关命令如下:
3、小结
至此,Asterisk已经编译并安装成功,后续将推出配置实战及相关使用方法。
在研究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 下载相关源码包
名称 | 地址 |
Asterisk | http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz |
dahdi-complete | http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz |
libpri | http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz |
pjproject | http://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已经编译并安装成功,后续将推出配置实战及相关使用方法。
发表评论
-
MySQL中Update的执行效率测试及验证
2016-12-06 16:22 67991、引言 某日,在讨论解决生产环境的问题时,一同事问说增加条件 ... -
MySQL定时器实战
2016-11-29 17:38 21151、引言 项目商用环境上,用户反馈有个统计存在问题,排查后 ... -
用Java实现N*N的标准数独及对角线数独解题
2016-10-11 11:25 34931、引言 前一段时间迷 ... -
在Spring项目中实现动态创建数据库
2017-06-21 16:31 51621、问题描述 在使用Sprin ... -
改进现有架构支持HTTPS服务
2016-06-23 16:57 01、引言 nginx使用ssl模块配置HTTPS支持 ht ... -
EasyUI学习(1)- 入门
2015-12-14 17:20 00、引言 前段时间,在项目开发过程中使用了EasyUI的部分组 ... -
JS实现的3级联动例子
2015-06-17 23:10 1349朋友项目需要实现3级联动,需要JS实现的,网上找的例子有些复杂 ... -
JSBuilder2介绍及应用范例
2014-08-27 17:58 01、引言 Web项目开发过程中,使用到多个第三方的插件,同时, ... -
实现CSS样式文件中图标的可视化
2014-06-26 14:39 4937关键词: CSS,EasyUI ... -
jquery选择器学习范例
2014-04-22 20:54 0http://www.w3school.com.cn/jque ... -
通过webrtc2sip实现web客户端sipML5与SIP客户端Jtisi对通
2014-01-13 19:53 00、引言 在研究WebRTC服 ... -
NAT与NAT穿越学习总结
2013-12-23 19:19 204401、引言网络地址转换 ... -
完全清除Desktop_1.ini和Desktop_2.ini
2013-12-06 17:21 71481、引言 Windows7工作机进入系统就会弹出“deskto ... -
CentOS下搭建Asterisk+SIPml5实战
2013-11-14 14:53 00、引言 在研究SIPml5信令处理时,需要搭建环境SIPml ... -
CentOS下编译webrtc2sip实战
2013-11-13 10:39 151850、引言 在研究WebRTC服 ... -
Java实现RTP流转发服务器
2013-10-24 17:36 00、引言 在做多方视频会议系统时,需要有代理服务器来转发视频平 ... -
利用mysql日志排查数据异常问题
2013-03-21 16:52 01、案例描述 2、MySQL日志 3、解决过程 (1) ... -
Java中通过MySQL的行锁解决并发写的问题
2012-12-22 12:45 01、案例描述 开发会议管理项目中,涉及会议管理系统和视频会议平 ... -
【算法】基于时间段的有限资源算法
2013-03-07 12:20 23821、案例描述 最近做会议管理系统,预约会议需要一个算法来判断在 ... -
开发自己的ZooKeeper客户端工具
2013-03-21 17:04 8381简单写了一个自己用的zookeeper工具,实现了对zooke ...
相关推荐
centos下的Asterisk安装_3
在centos6.5安装asterisk13
centos(*)下安装asterisk与freepbx;很好用哦
centos下的Asterisk安装_1
centos7离线源码安装make
centos下的Asterisk安装_2
Asterisk11.12.0安装在Centos6.3
利用asterisk+CentOS完成VoIPserver 包含详细安装过程及配置文件
CentOS7系统管理与运维实战 CentOS7系统管理与运维实战
Centos7下安装MongoDB
Centos5.5下Qt的安装配置
centos7源码安装python2.7.6 centos7源码安装python2.7.6 centos7源码安装python2.7.6 centos7源码安装python2.7.6 centos7源码安装python2.7.6
centos7亲测安装成功,摘自网上一个帖子,忘了出处,若有人知道望告知,添加链接,谢谢!
整理的centos下的mysql安装希望能帮到你。
sip server 环境详细手册!VMware player的安装配置、CentOS5.5安装配置、asterisk安装配置,以及常用sip命令
Centos 下 netflow安装配置--安装nfsen
CentOS6.5下openldap安装源码
centos6.8下mysql数据库源码安装详细教程.可直接复制运行