write down,forget
标签 Tag : 电话系统

Chapter 1. Asterisk ,The Architecture of Open Source Applications

<Category: 读书> Comments Off on Chapter 1. Asterisk ,The Architecture of Open Source Applications

titlebar

chapter 1.Asterisk by Russell Bryant http://www.aosabook.org/en/asterisk.html

这章主要介绍了“电话交换机”asterisk的设计,虽然这个项目的历史悠久,Mark Spencer于1999,因为自己开的公司(Linux Support Services)刚好有这个需求–一个电话系统,但是有没有钱买,于是就自己弄了一个,后面发现该系统很受欢迎,他的公司便专心负责asterisk上来,并改名为Digium。

 

Asterisk的英文意思是指字符“*",Mark想通配所有的电话技术,包括模拟信号啦,数字信号啦,神马PSTN啦(public switched telephone network),voip啦,统统都可以接入到asterisk中。

 

一旦电话是通过asterisk系统进行拨打或者接听的,那么在这里就可以做很多事情了,比如电话录音,回放,10086里面烦人的语言系统,电话录音,语言邮件,语言识别,甚至实时翻译(老毛子打过来,听不懂怎么办,业务还得继续做啊)

 

系统架构比较简单清晰,有几个概念:

channel,每一个呼叫相当于是一个connection,一个连接,呼叫方是一个channel,接听方是一个channel,asterisk在中间负责调度(channel bridging)。

twoChannels

frame,通讯的数据以”帧"来传递,帧有不同的数据类型,Voice、Video、Modem、Control等等,

channel driver,很显然asterisk支持如此多的通讯协议,那就需要相对应的驱动来支持,扩展驱动只需用asterisk定义的抽象接口即可。

channelLayers

Dialplan Applications,主要是负责处理channel的,这里面就可以做很多事情,可以灵活组合多个应用来对一个channel进行处理。

后面还介绍了语音邮件是怎么收取的,网络监控,多线程处理,电话桥接等内容,

感兴趣的自己去看看吧,地址:http://www.aosabook.org/en/asterisk.html

本文来自: Chapter 1. Asterisk ,The Architecture of Open Source Applications