Asterisk权威指南/序

维基教科书,自由的教学读本

“有不止一种方式可以做到。”我跟Asterisk打交道已经九年了,随着不断发布的版本、新增的特性以及越来越多的人在用这个难以置信的工具解决各种通讯问题,这句话越来越正确。我有幸作为Asterisk项目的社区经理在Digium工作了两年,这段经历使我看到世界范围的开发力量推动了Asterisk向前发展。Asterisk的深度和广度是惊人的,部署支持几十万用户的系统是很平常的事。我看见Asterisk已经深入渗透到金融、军事、医疗、财富100强、服务供应商、电话卡以及移动环境等市场。实际上我敢说,任何一个领域,如果需要一个通用语音工具来完成某项任务,Asterisk就是一个缺省的选择。

Asterisk已经成为了开源软件改变商业世界的典型。在任何介绍Asterisk的会议中,我最喜欢的部分就是回答初学者的问题。当我不断地说“是的,它能做到”时,我看见人们的眼睛越张越大。于是,人们开始很高兴地设想一些他们的电话系统或通讯系统无法完成的一些事情。无线电集成?当然。在呼入或呼出电话中播放MP3?可以。把电话会议的录音发给与会者?没问题。把语音服务集成到现有Java应用程序中?简单。即时通讯?语音导航?视频?可以,可以,可以,可以。

随着连续不断的肯定答复,接下来,最棒的事情莫过于邀请提问者坐下来,开始向他演示Asterisk是如何快速部署和配置的。然后,我会向他推荐《Asterisk: 电话的未来》(《Asterisk:The Future of Telephony》)。使用Asterisk,在很短的时间内公司就能改变他们向客户提供产品的方式,非盈利性组织可以翻新他们的服务形态,个人可以为他们的座机或手机定制一个呼叫处理系统。Asterisk可以连几条线部署在家里, 也可以是一个跨越洲际的多服务器系统,但所有这些都要从安装软件包、打开几个配置文件和学习范例开始。

从1999年Mark Spencer开发的一个基本PBX开始,Asterisk在几千名开发者的帮助下,已经从一个简单的连接电话呼叫的系统变成了一个可以处理语音、视频和文本的平台,可以连接多种虚拟或物理设备类型。Asterisk的诞生和成长得益于专有硬件的四个掘墓者:开源运动、因特网、摩尔定律和通信成本的直线下降。甚至那些和Asterisk有竞争冲突的硬件供应商,也已经在他们的实验室和核心网络中使用Asterisk了:几乎所有的VoIP设备都要和Asterisk做测试,以保证其兼容性。

在我最近出席的一次通讯会议上,“谁在使用Asterisk?”这个问题被提出,现场差不多75%的人举起了他们的手。Asterisk是一个成熟、稳定的软件平台,几乎已经渗透到通讯产业的每一个领域,使得它成为了开源服务系统的一个重要组件。我建议,任何同时需要Web和语音服务的系统,可以考虑在LAMP中加多一个A, 变成LAAMP。(其实我觉得LAMA-P也是一个不错的选择,但不知道为什么没人喜欢,嘻嘻)

这个版本补充了很多范例,这是我盼望已久的事情。Asterisk的便利性在于初学者可以很容易地理解其基本概念。当初学者掌握了基本内容,开始尝试多种方式完成同一件事情时,本书会介绍如何使用Java、Perl或Python编写AGI程序,甚至定制Application。但对任何人来说,不管他的技能水平如何,第一步都是看其他人写的基本Application的范例。 作者不仅给出了Asterisk的方法纲要,还为初学者甚至专家提供了很多优秀范例,使得可以快速掌握新技术。

Asterisk 1.x系列非常强大,几乎可以解决你的所有语音问题。对于那些想要更复杂特性的人们来说,要知道还有很多有趣的特性正在开发中。如果你是第一次使用Asterisk,我要欢迎你来到这个由用户和开发者组成的社区大家庭。这本书可以把你从新手变成老手。如果你是一个有经验的Asterisk开发者或继承者,我相信这本书也能给你带来惊喜,“哦,原来还可以这样做”。

建议你加入邮件列表,IRC在线聊天室,和AstriCon年度会议,以便了解最新信息。没有你的兴趣、付出和编码,Asterisk将不复存在。开源项目欢迎新颖的想法和卓越的贡献:我希望你参与到Asterisk社区中来,也希望能在这本书的下一个版本中看到你的问题和范例。