Adhearsion初体验

我是偶尔在Asterisk: The Future of Telephony上看到Adhearsion的介绍的.以下是摘自Adhearsion主页http://adhearsion.com/的一段对Adhearsion的定义.

Adhearsion is a new way to write voice-enabled applications. It's not just an API or library — it's a fully-featured framework, the first of its kind, designed for maximal code reuse and intuitiveness. The name "Adhearsion" is a combination of "adhesion" and "hear" because Adhearsion shines best when integrating technologies with voice.

简单的说就是基于Asterisk AGI,一套完整的应用于Voice Application的Ruby框架.VoIP Application + Ruby,还有什么比这个更适合我呢?二话不说,马上开始试用.
Adhearsion Getting Start


Adhearsion的主页还是非常的人性化的。不仅提供了完全免费,电话测试系统,使得你建立的Adhearsion应用可以方便的进行调试运行,还提供了多种Voice客户端的选择,包括Skype, 各种SIP Phones甚至In-browser Phone。按照下面的步骤,你可以轻松的建立你的第一个Adhearsion Application.
Step 1:注册Adhearsion帐号
默认会加入Adhearsion的Mailing List,不算很热闹,偶尔会有一些邮件。Adhearsion帐号同时也是电话系统的测试帐号,有了它你就可以连接到Adhearsion提供的SandBox上了.

Step 2:安装Ruby, RubyGems, Adhearsion
Ruby和Gems的安装就不多说了.安装Adhearsion也就是一句话的事情.感谢伟大的Ubuntu和RubyGems.

sudo gem install adhearsion

Step 3:创建你的第一个Adhearsion应用
类似Rails,Adhearsion会创建一整套基础部件,解决了类似Adhearsion服务器启动,停止等工作,使得你可以专心在Adhearsion应用的开发上.

ahn create my_first_app

Step 4:启用Sandbox Component
Adhearsion中有一个Component的概念.Component类似插件的意思,代表了一组功能的集合.所有的Components都放在my_first_app/components目录下.其中Sandbox就是一个包含了连接注册Adhearsion电话测试系统的Component.

cd my_first_app
ahn enable component sandbox

修改my_first_app/components/sandbox/sandbox.yml,按照你在Ahearsion注册的帐号密码修改该文件,这样你无需编写任何代码就可以连接注册到Adhearsion电话测试系统了.

username: xxxxxxx
password: xxxxxxx

Step 5:编写你的Adhearsion应用
打开my_first_app/dialplan.rb,添加如下代码:

sandbox {
play "hello-world"
}

sandbox代表的是Asterisk中规定的context,Adhearsion测试系统默认的context就是sandbox. play “hello-world”的意思就是播放”hello-world”的音频.简单的就好像说话一样-.-


Step 6:运行你的Adhearsion应用
直接通过ahn命令就可以运行你的adhearsion应用了.由于启用了sandbox component,你的应用会先去连接adhearsion测试系统进行登录注册,然后启动后台进程监听请求.

ahn start .



OK了,这就是Adhearsion全部需要做得了.测试一下吧.选一款你觉得最酷的soft phone,按照Ahdearsion的提示拨打电话,听到一声清脆的”Hello World”,你的Adhearsion蹦出一些log信息.看这就爽,你也快来试试看吧.



Tags: adhearsion, asterisk, Ruby, SIP, VoIP
  • http://linsk.cn linsk

    支持中文否?哈哈~

    [Reply]

无觅相关文章插件,快速提升流量