centos voip,centos 设置ip
各位老铁们,大家好,今天由我来为大家分享centos voip,以及centos 设置ip的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
freeswitch的gateway配置方案
freeswitch是简单易用的VOIP开源软交换平台,网关是VoIP网络模型中的常见概念。在freeswitch中,配置和使用gateway涉及多种模型和功能。本节将简要介绍fs中关于gateway的配置方案。
配置gateway需考虑环境,例如使用CentOS 7.0或更高版本及GCC 4.8.5。
gateway在freeswitch中有三种配置方案:默认示例文件中提供了配置内容,但具体细节可自行查阅。
这三种方案之间的区别在于:sip_profile下的网关随对应profile端口的启动/停止/重启;default类型的网关始终存在;而brian类型的网关随brian用户注册状态的启动/停止。
今天着重介绍第一种gateway配置方法及测试结果。具体配置在conf/sip_profile/external/gw-138-5080.xml文件中,设置网关参数,例如在非注册模式下。同时,需在conf/dialplan/test.xml中设置拨号计划。
完成配置后,进行三次呼叫10011->1002的测试,记录日志。
总结,freeswitch的gateway概念多样,包括profile、default和brian等类型,以及注册与非注册模式。欲了解详细参数配置,请参照freeswitch官网文档。测试结果表明,配置方案有效,满足需求。
如何在CentOS中安装及配置Asterisk
如何在CentOS中安装及配置Asterisk
Asterisk是第一套以开放源代码软件实作的用户交换机(PBX)系统。Asterisk由 Digium的创办人 Mark Spencer于 1999年间,他还在奥本大学念书时开发出。与其他的用户交换机系统相同,Asterisk同样支援电话拨打另一只分机,和拨打到公共交换电话网与IP电话系统。Asterisk这个名称源自于星号"*"。
Asterisk采用双轨授权模式,免费模式使用 GNU General Public License(GPL)授权,而商用授权使用 proprietary模式,此授权不需要将系统源代码公开。
系统一开始之开发平台为 Linux,目前已可在相当多种的平台上运行,其中包括 NetBSD, OpenBSD, FreeBSD, Mac OS X与 Solaris。亦有人将系统移植到 Microsoft Windows平台上,即为 AsteriskWin32。Asterisk是相当轻量级的系统,可以在如 OpenWrt之类的嵌入式系统上运作。
下面的内容将带大家如何在CentOS中安装及配置Asterisk。
以下没有特殊注明,所有操作都是在命令行中
[前期准备]安装依赖软件和环境
yum–y upgrade(更新软件列表和部分软件)
yum–y update(升级现有软件)
yum install kernel-devel(安装devel版的内核,asterisk安装需要)
yum install kernel-PAE-devel(IntelCPU的服务器上超过4G内存是需要用到)
yum install bison
yum install bison-devel
yum install ncurses
yum install ncurses-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
yum install gnutls-devel
yum install gcc
yum install gcc-c++
yum install newt-devel
yum install curl
yum install curl-devel
yum install mysql-devel
以上软件的安装可以用以下命令一起安装
yum–y install kernel-devel kernel-PAE-devel bison bison-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel gnutls-devel gcc gcc-c++ newt-devel curl curl-devel mysql-devel
reboot安装完这些软件需要重启一下
显示系统已经安装的组件,和可以安装的组件:
#yum grouplist如果系统安装之初采用最小化安装,没有安装xwindow,那么先安装:
#yum groupinstall"X Window System"
安装GNOME桌面环境 yum groupinstall"GNOME Desktop Environment"
安装KDE桌面环境 yum groupinstall"KDE(K Desktop Environment)"
卸载GNOME桌面环境
yum groupremove"GNOME Desktop Environment"
卸载KDE桌面环境 yum groupremove"KDE(K Desktop Environment
centos英文版下如何安装中文语言包
centos安装过程中,安装语言包时选择了english,在安装完毕后浏览中文网页或查看中文文档时总是宣誓乱码,因此需要安装中文语言包,如果不能从安装盘进行安装,可以通过yum进行安装,安装办法为:
yum groupinstall<language>-support
在上面的命令中,<language>是下列之一: assamese, bengali, chinese, gujarati, hindi, japanese, kannada, korean, malayalam, marathi, oriya, punjabi, sinhala, tamil, thai,或 telegu。
VNC
xsetroot-solid grey
vncconfig-iconic&
#xterm-geometry 80×24+10+10-ls-title“$VNCDESKTOP Desktop”&
gnome-session&
startkde&
twm&
[准备所需软件]
Asterisk 1.4.26.2
Dahdi-linux-complete-2.2.0.2+2.2.0(包含dahdi-linux 2.2.0.2和dahdi-tools 2.2.0)
Libpri 1.4.10.1
Asterisk-addons 1.4.9
asterisk-sounds 1.2.1
[安装过程]
tar-xvzf libpri-1.4.10.1.tar.gz
tar-xvzf dahdi-linux-complete-current.tar.gz
tar-xvzf asterisk-1.4.26.2.tar.gz
tar-xvzf asterisk-addons-1.4.9.tar.gz
tar-xvzf asterisk-sounds-1.2.1.tar.gz
cd libpri-1.4.10.1
make&& make install
cd../dahdi-linux-complete-2.2.0.2+2.2.0
make all
make install
make config
cd../asterisk-1.4.26.2
./configure
make menuselect(编译选项选择)
make&& make install
make samples
make config
cd../asterisk-addons-1.4.9
cd cdr
修改cdr_addon_mysql.c,具体操作如下
输入命令”vi cdr_addon_mysql.c”
移动光标到开头的一个空白行,按下键”i”
输入”#define MYSQL_LOGUNIQUEID”
按”esc”键,输入”:wq”回车
cd..
./configure
make menuselect
make&& make install
make samples
cd../asterisk-sounds-1.2.1
make&& make install
cd/etc/init.d/
./asterisk start
asterisk-r
Asterisk功能介绍
Asterisk包含许多多昂贵的商用交换机系统才具有的功能,例如:语音信箱、多方语音会议、交互式语音应答(IVR)、电话选单与电话客服中心等机制。
管理者亦可透过 Asterisk内建的分机操作语言撰写拨号脚本以达到特殊的功能目的。甚至可以透过 C语言撰写相容的模组,或以任何相容的语言借由 stdin与 stdout或网络 TCP socket开发Asterisk Gateway Interface(AGI)程式。
若要 Asterisk系统拨打至公共交换电话网或中继链接公共交换电话网,管理者必须安装适当的硬件。如由 Digium官方生产之各种 PCI接口卡,用以提供 Asterisk连接 T1、E1线路或其他传统线路之能力。中国大陆亦有如 OpenVox价格相对低廉之相容接口卡。
Asterisk支援非常广泛的影像与IP电话协定[4]。包括会话发起协议(SIP)、Media Gateway Control Protocol(MGCP)与 H.323协定。Asterisk可相容于大部分的 SIP电话。Inter-Asterisk eXchange(IAX2)协定是一个由 Asterisk原生提供的 Asterisk PBX交换机间中继链接协定,部分 VoIP服务商甚至原生支援 IAX2协定。
为了满足传统电话与 IP电话混合的服务环境,Asterisk可以让管理者建议一个全新单一的电话系统,或逐步的将既有电话系统转移使用新技术。部分的公司直接使用 Asterisk取代传统的交换机,而有些公司则使用 Asterisk提供进阶功能,如语音信箱等,或将长途电话透过 Asterisk改以网络传输以达到节费机制。
由于Asterisk过于专业且复杂,所以目前也存在大量衍生自Asterisk但简化过的通信系统,以让用户较容易使用。比如在欧美比较流行的elastix、trixbox、或以简体中文为基础的Freeiris等。
centos下 Janus Server 搭建笔记
Janus是一个开源的,通过 C语言实现了对 WebRTC支持的 Gateway;Janus自身实现得很简单,提供插件机制来支持不同的业务逻辑,配合官方自带插件就可以用来实现高效的 Media Server服务。
本文主要介绍如何在 Centos 7.0下搭建起 janus服务器,实现 janus官方 Demo浏览器与 Android APP Demo(janus-gateway-android)之间的音视频通话。
目前浏览器仅支持 FireFox浏览器,因为 Chrome浏览器打开音视频采集的话需要 HTTPS加密访问!
效果图如下:
编译运行 Janus Server需要依赖较多的一些第三方库
2.1安装依赖
Ubuntu下通过 aptitude批量安装依赖工具包,这里建议 Ubuntu镜像源(/etc/apt/source.list)不要为了追求速度而改用了国内的某些镜像源,如网易 163,这可能会导致某些工具包下载失败,建议依然使用官方自带的镜像源。
yum list| grep nice
yum install gtk-doc
批量安装命令:
如果出现某个工具包下载失败,请修改镜像源为官方地址,并执行以下命令
以更新镜像源,完成后重新安装。
2、安装 WebSocket
janus支持 WebSocket是可选项,如果不安装,编译 janus时,默认不支持 WebSocket的链接请求,而 Android APP Demo是通过 WebSocket与 janus进行通信的,因为我们希望 Android APP Demo能与浏览器(HTTP)进行视频通话,所以就必须要在编译 janus时支持 WebSocket。
依次执行以下命令,分别进行下载,编译,安装:
安装成功后,在编译 janus时,janus默认会增加对 WebSocket的集成,或者通过增加编译参数--enable-websockets打开 WebSocket开关,或--disable-websockets关闭 WebSocket开关。
3、安装 Http Server
Janus源码目录下的 html下自带 Web Demo(html& JavaScript),Janus编译完成并 Start以后,需要通过 http server访问 Janus Web Demo,其中包括:
以上 janus插件均可通过相应的 http链接进行访问体验。
以下介绍一种快速,便捷,轻巧的 HTTP Server安装方式:
通过 Node.js(基于 Chrome V8引擎的 JavaScript运行环境)进行安装,首先安装 Node.js:
安装成功后,通过 npm(npm是 Node.js的包管理器,是全球最大的开源库生态系统)进行安装 httpserver:
启动方式:
进入到 html目录,执行 http-server命令即可,如:
输入 http url即可访问。
注:需首先 build& start janus Server!
4、安装 libsrtp
Janus需要至少 version 1.5以上的 libsrtp,如果系统中已经安装了 libsrtp,则首先卸载后,手动安装新版本,这里我们安装 libsrtp 2.0,依次执行以下命令:
5、编译 Janus
通过 Git下载 Janus源码,并编译安装:
configure执行成功后,会输出 janus所支持的协议及插件,如下:
6、运行 Janus
如果全部安装以上步骤进行编译的 janus,那么 janus的全局配置文件存放目录为:
或者在启动 janus时,加上相应的启动参数,参数可通过 janus--help查看;
janus默认的配置中是没有 WebSocket的配置的,直接启动 Janus会因没有 WebSocket配置文件而报错。幸运的是在配置目录中 Janus已经给我们提供了一个 WebSocket的示例配置文件: janus.transport.websockets.cfg.sample,(如果我们要通过 WebSocket连接 Janus,则需要有个 WebSocket的配置文件)这里我们可以直接拷贝这个示例文件:
通过查看此配置文件,可以得知 Janus默认的 WebSocket的端口号为 8188,记住这个端口号,在 Android APP Demo中会使用到!
启动 Janus:
根据需要可以选择是否加上后面两个启动参数。
我们使用 PC下的浏览器与 Android APP Demo进行联调。
1、启动 Web Demo
进入到 janus目录下的 html目录,启动 http-server
这样外部便可以通过 进行访问了,进入首页后,找到 videoRoom,Start
2、启动 Android APP Demo
修改源代码
janus-gateway-android支持两个 Demo测试:EchoTest和 VideoRoom,默认情况下会启用 EchoTest,这个 Demo仅仅是连接服务器后,将数据再发回本地进行本地测试,我们要改为与房间内的其它用户(浏览器)进行视频通话,则需要启用另外一个测试用例 VideoRoom,按照如下方式修改代码:
JanusActivity.java类中新增 VideoRenderer.Callbacks数组(视频房间中可能会有多人),暂定义为 2个,实际连接人数不要超过此数字:
OnCreate方法中初始化以上定义的数组:
APP Demo是通过 WebSocket连接 Janus Server,所以修改 VideoRoomTest.java中 JANUS_URL地址为我们启动的 Janus服务器 WebSocket地址,IP为 janus server地址,端口默认为 8188:
3、联调测试
Janus Server默认会开启两个视频房间:1234和 5678,分别使用 VP8和 VP9视频编码器,所以我们通过 Brower和 Android APP Demo进行联调测试时,暂不需要设置房间 ID。
效果图:
修改/opt/janus/etc/janus/janus.jcfg
nat:{
stun_server="stun.voip.eutelia.it"
stun_port= 3478
nice_debug= false