分享

随心所欲:用Asterisk组建的电话应答机(2/2)

 偷乐图书管 2014-06-26
  接上文
  安装FXO和Asterisk

  到这儿,笔者准备使用它的远程管理功能了,关闭掉我的显示器,然后转移到我的Windows工作站上来继续组建自己的电话应答机。据笔者所了解的,现在最流行的Windows环境下的SSH客户端软件是PuTTY吧,这也正是我想要使用来远程管理这台Debian计算机的软件。把PuTTY的可执行程序下载后,双击它,然后再输入这台Asterisk计算机的IP地址,再点击“open”按钮就行了。然后,就会出现有关的安全警告信息以提醒用户注意,询问用户是否愿接受一个密钥,选择“Yes”,然后当“login as:”提示出现后再输入“root”(当然,是不要这两个引号的)。一旦登录进入到系统中后,就好像你正在那台真正的计算机上操作一样,能够拥有对这台机器的全部控制权限。当然,我们也可打开多个SSH会话进程连接到这台Asterisk计算机上,这样等下的操作时也许能够派得上用场。

  现在,我们需要获得和安装所使用的那块X100P接口卡的驱动程序了(aka内核模块),输入如下的命令来完成这一过程:

  aptitude install module-assistant
  aptitude install kernel-headers-`uname -r`
  m-a prepare
  apt-get build-dep zaptel-source
  m-a a-i zaptel
  depmod -a
  modprobe zaptel
  modprobe wcfxo

  到这儿,如果每一步都是正常运行的话,那你就应该能够输入如下的命令了:

  lsmod | grep zaptel

  执行完这个命令后,返回的信息看上去应该跟下面的这段信息差不多:

  zaptel 182020 1 wcfxo

  上面的这段信息表明这块X100P卡的驱动程序已正确安装好了。最后的步骤就是在这台计算机上来安装关键的那个软件Asterisk了,通过输入如下的命令来安装它:

  aptitude install asterisk asterisk-config asterisk-sounds-main

  配置Asterisk

  现在,事情已完成一大半了,Asterisk已经正确安装完毕,而且X100P的驱动程序的安装也没出现什么问题。如今我们仅仅只需要来配置一下这个系统了。顺便说一下的是,在Digium的web站点上,有大量有关硬件配置方面的资料可供下载,大家可参考一下这些官方提供的资料。

  注意:在本文以下的内容中,凡涉及到编辑Digium系统中的各种不同用途的配置文件,笔者都是使用的nano这个文本编辑器。在这,我给大家介绍几个比较常用的热键,结合起来使用这些热键可更方便你的操作,提高工作效率。Ctrl+W是在一个文件中搜索文字内容;Ctrl+O是保存所编辑的文件内容;Ctrl+X退出编辑器;Ctrl+W后,再按下Ctrl+V是直接跳到文本内容的末端。

  最开始做的,我们来对X100P接口卡的配置文件作一些小小的修改,输入如下的命令:

  nano /etc/zaptel.conf

  使用nano打开X100P接口卡的配置文件后,在其内容的最末端增加一行新的内容,如下:

  fxsks=1

  然后再保存,退出,并接着输入如下的内容:

  ztcfg -vv

  从屏幕上的信息可看出,有一个通道已配置好了。现在,我们进入到/etc/asterisk目录下,在其中打开zapata.conf这个配置文件。输入如下的命令:

  cd /etc/asterisk
  nano zapata.conf

  在这个文件中,我们搜索一下如下的内容:

  signalling=

  正常情况下你应该能够看到有一行如下所示的内容相似的信息:

  signalling=fxo_ls

  找到这行内容后,我们再把它修改成如下的内容:

  signalling=fxs_ks

  然后,在这个文件的末尾,我们再添加两行新的内容,如下:

  context=incoming
  channel => 1

  最后,我们来作一下另外的修改,免得当我们不小心关掉或者重新启动这台计算机后,Asterisk能够在系统启动的时候自动运行。输入如下的命令:

  nano /etc/default/asterisk

  然后再把其中的内容RUNASTERISK=no更改成RUNASTERISK=yes,保存退出后就行了。现在我们只要简单地输入:

  asterisk

  就可以启动这个软件,让它在后台运行了。

  到现在,我们已经把Asterisk配置好了,并且使它开始运行,准备工作了。不过,不管你什么时候更改了它任意一个配置文件的内容,都需要重新装载Asterisk的配置参数。有好多种的方法来完成这一点,不过,我们可使用如下的这种方法,在提示符下输入如下的命令:

  /etc/init.d/asterisk reload

  基本上都差不多了,最后来检查一下看各个方面是否都运行正常,并且看看是否已经正确连接一条可正常使用的电话线到FXO卡上了,从另外一条电话线或者是你的移动电话来拨一下号试试看。如果一切正常的话,那你就应当能够听到Asterisk的演示声音了。

  配置Asterisk为一台应答机

  现在我们既然有了一套可正常工作的系统了,那还等什么,马上开始来使用它记录一个我们自己的留言信息,给自己来点祝贺吧。要做到这个,最快的办法是让Asterisk录下你自己的声音信息。相关这个项目系统的配置信息都是存储在/etc/asterisk/extensions.conf这个文件中,如果打开这个配置文件后,我们会发现其中有许多的不同方面的配置实例,这些实例都可供我们使用。但现在我们只是想添加一个临时性的扩充,以使用它可记录下我们的欢迎语音信息。

  另外,在这给大家提个醒的是,在你开始对这个配置文件作任何更改之前,笔者强烈推荐大家最好是把它作一个备份,拷贝它到另外的文件夹中去,免得以后在需要的时候我们可把它恢复到其最原始的状态。我们可通过如下的命令来拷贝这个文件:

  cp extensions.conf extensions.conf.bak

  现在你可把这个文件打开并来进行编辑了:

  nano extensions.conf

  在这个文件的最末端,我们要添加三行新的内容,如下所示:

  exten => 1205,1,Wait(2)
  exten => 1205,2,Record(/tmp/asterisk-recording:gsm)
  exten => 1205,3,Hangup

  保存退出配置文件后,重新装载Asterisk(由于我们已经更改了它的一个配置文件,要使这个文件马上生效,就必须重新启动一下Asterisk,记得不?前面提过),启动完成后,我们从另外的一根电话线或是移动电话上来拨号到Asterisk上。一旦它的演示语音信息提示说明这个可用的扩展,就拨号1205来触发你的那个新的扩展。然后,你应该听到一声“嘟”的声音,就可以来录下自己的欢迎词了,对着麦克风说几句吧。录好自己的欢迎语音信息后,马上我们就可使用这个自己的欢迎语音信息来代替系统的演示欢迎信息。现在,录好这个自己的欢迎信息后,让我们来把生成的这个文件移动到Asterisk能够使用到的地方去吧。输入如下的命令:

  mv /tmp/asterisk-recording.gsm /usr/share/asterisk/sounds/

  这个extensions.conf配置文件的功能非常强大,其中有许多的选项来控制Asterisk的功能,要描述它的所有功能和灵活地运用它所提供的各种参数,可不是一两句这能够表述得清楚的,要用大量的文章篇幅来作专门的解释。在这我们就不需要解释得那样详细了,为了使事情简化,我们现在仅仅只需要来修改它的演示语音信息。再一次,我们打开这个配置文件:

  nano extensions.conf

  在这个文件的内容中,我们搜索[demo]这样的文字,首先找到的内容是响铃几秒钟后开始进入自动应答状态,即我们手动接电话的时间有多长,系统默认的只有一秒钟,我们要把它修改得稍微长一点,如7秒钟,把

  exten => s,1,Wait,1

  修改成:

  exten => s,1,Wait,7

  接下来找到的内容就是系统默认的演示语音信息了,我们把这些相关的内容都注释掉就行了,最好不要直接删除掉,因为可能在以后还要用得着的时候又可以马上去掉注释就行了,而不用又重复辛苦输入一次。在这个配置文件中,给一行加上注释让系统跳过不执行,是在一行内容的最开头加上一个分号就行了。如下所示:

  ;exten => s,5,BackGround(demo-congrats)
  ;exten => s,6,BackGround(demo-instruct)

  然后,我们再添加两行新的内容来指示系统播放的欢迎语音信息,并把呼叫者留下的内容发送到语音邮箱中,更改的内容如下所示:

  exten => s,5,BackGround(asterisk-recording)
  exten => s,6,Voicemail(u1234)

  为了使这个也与其他的提示信息相一致,我们也给它添加一个使用#键来挂机的方法,输入如下命令:

  exten => #,1,Hangup

  在这个配置文件中,还有许多其他的演示功能,而其中有好多并不是我们真正所需要的,例如做VoIP呼叫测试和回拨测试等,因此,我在它们的这些信息的每一行前面都加了一个分号,像下面的内容一样:

  ; Give voicemail at extension 8500

  当然,在这个文件中,你也可以把先前我们添加在最末尾的那几行有关1205的扩展信息给删除掉,或者是注释它们以免不知哪时又要用到,让它们放在那里也没有关系,并不影响使用。

  把这些工作都完成后,仔细检查一下看各个修改是不是都正确无误,核对后保存所有的改动并退出nano程序,然后重新启动Asterisk以装载新的配置文件:

  /etc/init.d/asterisk reload

  在这,我们也可以使用一个最少内容,去掉了那些用不着的功能,只保留了基本的常用功能的extersions.conf文件,只需要为数不多的几行内容就可满足我们的要求了,这样一个最小的配置文件的具体内容如下:

  [general]
  static=yes
  writeprotect=no
  [demo]
  exten => s,1,Wait,7
  exten => s,2,Answer
  exten => s,3,DigitTimeout,5
  exten => s,4,ResponseTimeout,10
  exten => s,5,BackGround(asterisk-recording)
  exten => s,6,Voicemail(u1234)
  exten => #,1,Hangup
  exten => 8500,1,VoicemailMain
  exten => 8500,2,Goto(s,6)
  [default]
  include => demo

  哈哈,终于可以使用了,到现在,我们就自己组建了一台智能电话应答机了,使用它可接收来电和记录下语音邮件。我们能够拨入一个电话,在最初的欢迎语音信息后输入扩展数字8500来检查存储在这台应答机上的信息。在默认状态下,Asterisk语音功能将会询问你一个邮箱号码,在我们的这个实例中是1234,然后它将会要你输入一个密码,这个在没作更改的情况下是4242。

  最后一点修改

  出于安全方面的考虑,我们最好是修改一下它的默认密码,还有,我们要让Asterisk知道一个email地址,以方便在有新的语音邮件到达时Asterisk可发送一封email来通知我们。输入命令:

  nano voicemail.conf

  在这个配置文件中,搜索有关1234的内容,并把相应的4242的值修改成其他的你自己定制的密码,不过要注意的是,新的密码也只有是4个数字的形式。还可更改它的示例email地址为你自己的地址,如:

  1234 => 3421,Example Mailbox,root@localhost

  重新启动Asterisk以使这些新的更改值马上生效:

  /etc/init.d/asterisk reload

  还有几个很方便的功能,可通过如下的一些命令来实现:

  asterisk -vvvcf

  这个命令将会打开Asterisk的控制台,然后再使用另一个命令:

  set verbose 1000

  将增加更详细的信息。现在如果又拨号一次这个系统的话,你就能够看到所有的在/etc/asterisk/extensions.conf这个配置文件中创建的功能的每一个执行步骤。如果要退出控制台,只需输入命令:

  stop now

  除了这些以外,我们还可看到最那些最初的记录文件,其中包含了呼叫者ID信息,输入如下的命令:

  cd /var/log/asterisk/cdr-csv
  tail -100 Master.csv

  现在我们已经有了这台正常工作的Asterisk的计算机,并成功地把它配置成了一台自动应答机。在这台机器上,能够满足的你各种扩展需求,我们可试着在它上面添加许多其他的功能,并在不需要的时候再把它们去掉就行了。在这台机器上,我们也可以设置多个邮箱,或者根据呼叫者ID的不同而对其使用不同的欢迎问候信息。并且,你当然也可以为其添加一个VoIP PBX功能。

  要了解这方面的更多信息,请到Debian的网站上有关Asterisk的页面中仔细看看,要不就仔细阅读一下Asterisk的用户手册。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多