Asterisk 提供PSTN和VOIP网络的实时连接
使用 Asterisk 作为电话交换平台,不但可以替换高性能的PBX,而且其还可以提供比普通 PBX 更丰富的功能。例如:
通过宽带网络从家庭网络连接到公司网络;
通过VOIP,因特网或专用网络连接不同地域的办公室;
为员工提供基于WEB或电子邮件的语音邮件系统;
建立交互式语音应用,提供在线订购等应用;
等等...
Asterisk 还提供一些新的特性,例如:
为队列定制不同的等待音乐Music-on-Hold(MOH) ,支持各种音乐格式,包括MP3;
通过代理处理呼叫队列,并可提供呼叫队列监控机制;
与Text-to-speech系统集成(目前可与Festival开源软件系统以及Cepstral Swift speech synthesis系统集成);
产生用于电话计费系统的呼叫数据记录(CDR) ;
语音识别系统集成(可与如Sphinx语音识别系统集成);
提供与普通电话线路、ISDN基本速率和主速率互通的能力;
等等...
通道(Channels) - 连接到PBX的电话
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.
协议(Protocols) - bits and bolts of Voice over IP or Internet Telephony
Asterisk 支持多种 VOIP协议,这些协议既包括基于信令的协议,如 H.323和SIP等,也包括流传输协议,如RTP协议。每个通道可以支持至少一种协议,语音数据流可以通过多种算法进行编码(或压缩),如 alaw/ulaw,GSM,ILBC,G.729a等。
应用(Applications)
应用是在Asterisk中用于建立拨号逻辑的命令。包括简单的命令,如Goto,也包括一些非常复杂的命令,如VoiceMail(语音邮件), Meetme(电话会议)等。通过这些命令,可以程序化的建立PBX的逻辑,从而建立丰富功能的PBX。
呼叫方案(Dial Plan)
呼叫方案保存于一个叫 extensions.conf 的文本文件中,这个文件用于建立内线(Extensions)与动作的关联。每个内线属于一个上下文(Context) ,可以是一个自定义名称的上下文,如 incoming_SIP或PSTN_in等,也可以是默认上下文(Default)。用户通过通道配置文件中指定的上下文连接到 Asterisk PBX,相应上下文的呼叫方案(唯一)决定这个用户的呼叫行为,管理用户权限,区分内线和外线用户等。
所有的呼叫行为都定义在Dialplan中, 如可以设置只在某时段内允许发起呼叫,包含其它上下文等。在Dialplan中可以实现丰富的功能,例如:
当用户在一定的时间内没有接听电话时,自动转接到语音邮件进行留言;
将呼叫接入到一个多方电话会议中;
将呼叫转移到另一路内线或另一个PBX上;
阻止未认证或不受欢迎的呼叫者的呼叫;
通过来电号码(主叫号码)从数据库中查找信息,从而确认接听该电话的代理组(Group of Agents);
建立呼叫队列,并使用代理组处理呼叫;
管理Asterisk - Asterisk 管理接口
Asterisk 作为后台进程运行于Linux或Unix 类系统(FreeBSD/OpenBSD)。其设计的支持平台为Linux,因此,想获得尽可能丰富的功能支持,最好还是选择Linux发等版如Debian,Redhat等。可以通过命令等方式或多种图形方式连接到Asterisk进等管理。其中,命令行方式提供的功能最为丰富,包括(但不限于):
跟踪线路情况;
协议调试功能;
查看活动的用户和通话;
更改Asterisk数据库中数据;
动态重新加载配置文件;
Asterisk还提供基于TCP/IP的管理接口,一些Addon应用通过这个接口为用户提供图形化的界面,以实时查看Asterisk的运行状况,通过状态等。
Asterisk 可以提供企业级的IP PBX功能和非常丰富的语音应用,例如可以很方便的实现企业级的热线系统,自动语音服务等等