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

阅读剩余
THE END