Asterisk 是由 Digium 公司开发的开放源码软件 PBX,其发展非常的快,已经拥有大量的用户和开发者。Digium 公司除了开发 Asterisk 源代码外,还开发低成本的电话接口卡。Asterisk 可以运行于 Linux 和其它 Unix 类操作系统(也有人成功的将 Asterisk 移植到 Windows 下,但是由于操作系统的差异,一些功能受到很大的限制)。Asterisk PBX可以不需要额外的硬件就能够运行。
使用 Asterisk 作为电话交换平台,不但可以替换高性能的PBX,而且其还可以提供比普通 PBX 更丰富的功能。例如:
Asterisk 还提供一些新的特性,例如:
Asterisk 通道是各种连接的驱动,包括基于VOIP的协议,如SIP, IAX, MGCP, H.323等,也包括连接到PSTN的硬件,如 Zaptel, ISDN BRI, PRI 或其它设备。
电话机或软件电话连接到通道上,一些需要登录(Log in)或注册(Register)到 Asterisk,这些通道体现为在线状态(可以被呼叫)。通道也可以连接到其它VOIP服务商,使如通过SIP通道可以连接到 Free World Dialup 或其它SIP提供商,如 Nufone , Vonage 和 Siphone 等,或通过 IAX 连接到 IAXtel.com .
Asterisk 支持多种 VOIP协议,这些协议既包括基于信令的协议,如 H.323和SIP等,也包括流传输协议,如RTP协议。每个通道可以支持至少一种协议,语音数据流可以通过多种算法进行编码(或压缩),如 alaw/ulaw,GSM,ILBC,G.729a等。
应用是在Asterisk中用于建立拨号逻辑的命令。包括简单的命令,如Goto,也包括一些非常复杂的命令,如VoiceMail(语音邮件), Meetme(电话会议)等。通过这些命令,可以程序化的建立PBX的逻辑,从而建立丰富功能的PBX。
呼叫方案保存于一个叫 extensions.conf 的文本文件中,这个文件用于建立内线(Extensions)与动作的关联。每个内线属于一个上下文(Context) ,可以是一个自定义名称的上下文,如 incoming_SIP或PSTN_in等,也可以是默认上下文(Default)。用户通过通道配置文件中指定的上下文连接到 Asterisk PBX,相应上下文的呼叫方案(唯一)决定这个用户的呼叫行为,管理用户权限,区分内线和外线用户等。
所有的呼叫行为都定义在Dialplan中, 如可以设置只在某时段内允许发起呼叫,包含其它上下文等。在Dialplan中可以实现丰富的功能,例如:
Asterisk 作为后台进程运行于Linux或Unix 类系统(FreeBSD/OpenBSD)。其设计的支持平台为Linux,因此,想获得尽可能丰富的功能支持,最好还是选择Linux发等版如Debian,Redhat等。可以通过命令等方式或多种图形方式连接到Asterisk进等管理。其中,命令行方式提供的功能最为丰富,包括(但不限于):
Asterisk还提供基于TCP/IP的管理接口,一些Addon应用通过这个接口为用户提供图形化的界面,以实时查看Asterisk的运行状况,通过状态等。
Asterisk 可以提供企业级的IP PBX功能和非常丰富的语音应用,例如可以很方便的实现企业级的热线系统,自动语音服务等等。