设为首页 收藏本站
开启辅助访问 切换到宽版
注册会员 找回密码

VoIP88

leeelton 发表于 2009-7-7 01:57 | 显示全部楼层 |阅读模式
本帖最后由 leeelton 于 2009-7-7 04:08 编辑

最近琐事缠身,好久没有写新的帖子了(实在是也不知道写什么),既然有朋友问起wake up call,那么就简单整理一下,方便可能有这样需求的新入门的朋友.

1.实验环境
Asterisk 1.4.21
Freepbx  2.4+
     备注: Freepbx中请使用的extension模式(否则就需要改脚本,就违背了给新手看的本意了,否则你会看到users和devices的模块)
分机号码长度:4位---32XX
前台号码: 0,3200(可以为其它话机设置定时提醒)

============================================

2.实施步骤

2.1 下载必须的AGI文件
cd /var/lib/asterisk/agi-bin

wget ftp://kldsecurity.com/wakeup-asterisk/wakeup.2.0/wakeup.php

chown asterisk:asterisk wakeup.php

chmod 755 wakeup.php

只要wakeup.php就可以了,
ftp://kldsecurity.com/wakeup-asterisk/wakeup.2.0/wakeconfirm.php,是通过一个数学测验验证接听wake up call的倒霉蛋是否真的清醒了,呵呵,作为入门,就省略了,感兴趣的朋友自己玩吧

2.2 应用wake up call

2.2.1方法一:
2.2.1.1 编辑extensions_custom.conf文件,增加如下内容
[from-internal-custom]

exten => *62,1,Answer
exten => *62,2,AGI(wakeup.php)
exten => *62,3,Hangup


注意*62不要和现有的features code冲突,否则修改之

2.2.1.2 asterisk -rx "reload"

--------------------------------------------------

2.2.2方法二:
2.2.2.1 编辑extensions_custom.conf文件,增加如下内容
[custom-wakeup-call]
exten => s,1,Answer
exten => s,2,AGI(wakeup.php)
exten => s,3,Hangup

include => from-internal

2.2.2.2 在Freepbx的custom destination模块中(tools下,如果没有此模块,需下载之),新增条目如下

Custom Destinations: custom-wakeup-call,s,1
              Description: wakeupcalldemo(随你喜欢)

2.2.2.3 在Freepbx的Misc Applications中,新增内容如下
      Description: wakeup(随你喜欢)
Feature codes: *62 (不要和其它的功能代码冲突)
Feature Status: Enable

Destinaion:
Custom Destination:wakeupcalldemo

2.2.2.4 保存并应用上述设置

=============================================

3. 根据实验环境修改wakeup.php

3.1 既然是morning call,还是听点好听的音乐而不是让人发疯的数学题(前提是你的musiconhold是工作的)

原始文件
// ----------------------------------------------------
// Which application to run when the call is connected.  
//$parm_application = 'MusicOnHold';
//$parm_data = '';

// -- Use this for the ANNOY application
$parm_application = 'AGI';
$parm_data = 'wakeconfirm.php';
// ----------------------------------------------------

修改为:
// ----------------------------------------------------
// Which application to run when the call is connected.  
$parm_application = 'MusicOnHold';
$parm_data = '';

// -- Use this for the ANNOY application
//$parm_application = 'AGI';
//$parm_data = 'wakeconfirm.php';
// ----------------------------------------------------

3.2 指定可以为其它话机设置wake up call的operator以及被设置的话机的号码长度

原始文件
// Operator Extension
// Enter any extension that is allowed to enter in operator mode - Caller ID is used to validate
$parm_operator_extensions= array(  11, 12, 13, 14, 15, 16, 17, 18, 19, 20  );
// The max length of an extension when entering by operator
$parm_operator_ext_len = 2;

修改为:
// Operator Extension
// Enter any extension that is allowed to enter in operator mode - Caller ID is used to validate
$parm_operator_extensions= array(  0, 3200  );
// The max length of an extension when entering by operator
$parm_operator_ext_len = 4;

3.3 其它请参考文件自有注释

===========================================

4.操作步骤
4.1 普通话机操作(例如分机3201)
拨*62,根据语音提示,输入24小时制的时间,比如下午2点-->1400
那么3201在14:00将会收到一个定时呼叫,接听后会听到系统的musiconhold指定的音乐

4.2 operator操作(例如3200)
拨*62,根据语音提示,首先输入目标分机号码.例如3201,然后输入24小时制的时间,例如1405,那么3201在14:05将会收到3200为它设置的定时呼叫,接听后听到音乐

备注:
该脚本利用mv和touch命令来更改.call文件的modified time stamp来实现定时呼叫(呵呵,比过去的使用cron排程灵巧一些),脚本定义的temp目录是/tmp,首先要确保你的系统有这个目录,否则要根据实际情况修改脚本,另外就是保证/tmp和/var/spool/asterisk/outgoing在同一个物理磁盘上,否则可能touch还没来得及更改.call文件的时间戳,asterisk就使用这个.call文件发起呼叫了

点评

海!外直播 t.cn/RxBC0c2 禁闻视频 t.cn/Rxl1r5S 以前有人说:“没有谷歌我们有百度,没有推特我们有微博,没有YouTube我们有优酷,就上我们自己的网站会死呀?” 从魏则西事件看来真的会死...  发表于 2017-8-3 09:51

评分

1

查看全部评分

mask7510023 发表于 2009-7-7 09:56 | 显示全部楼层
谢谢老大,学习ING
netnova 发表于 2009-7-7 10:49 | 显示全部楼层
谢谢楼主,俺学习了
 楼主| leeelton 发表于 2009-7-7 14:09 | 显示全部楼层
本帖最后由 leeelton 于 2009-7-7 14:13 编辑

Elastix 内置wakeup功能,呵呵,同样的脚本
netnova 发表于 2009-7-7 14:27 | 显示全部楼层
在elastix1.5.2-2.3中
可以直接从2.2.2.2 开始,但设好后,按*62  输入时间,却一直让你重新拔打

没成功过

郁闷啊郁闷
 楼主| leeelton 发表于 2009-7-7 14:32 | 显示全部楼层
本帖最后由 leeelton 于 2009-7-7 23:59 编辑

elastix1.5+中不需要任何设置,*62是内置的,在extension_custom.conf中已经有个[weather-wakeup]的context了
至于netvova的情况,呵呵,很清楚,你现在的freepbx肯定不是extension模式,因为你能同时看到user和device,呵呵,这个情况需要修改脚本的
 楼主| leeelton 发表于 2009-7-7 14:33 | 显示全部楼层
更正,是我大意了,正在检查
 楼主| leeelton 发表于 2009-7-7 14:41 | 显示全部楼层
呵呵,问题找到,elastix中的wakeup.php是原始的文件,其中的
      // Which method to use for time entry
        // 0 current method, if after 13:00 won't prompt for am/pm
        // 1 military time never prompt for am/pm
        // 2 always prompt for am/pm and only accept to 1259 for time
        $parm_prompt_ampm = 2;==>只接受12小时制的输入
修改为$parm_prompt_ampm = 1==>接受24小时的输入
hai4you 发表于 2009-7-7 22:17 | 显示全部楼层
谢谢兄弟,学习ing...
netnova 发表于 2009-7-8 09:34 | 显示全部楼层
呵呵,问题找到,elastix中的wakeup.php是原始的文件,其中的
      // Which method to use for time entry
        // 0 current method, if after 13:00 won't prompt for am/pm
        // 1 military time neve ...
leeelton 发表于 2009-7-7 14:41



确认,俺测试了,在elastix1.5.2-2.3  只需要改这一个就行了,其它啥都不用做
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

关闭

站长推荐上一条 /1 下一条

手机版|VoIP88 ( 粤ICP备11095982号   填写您的邮件地址,订阅我们的精彩内容:

GMT+8, 2017-9-22 18:03 , Processed in 0.327526 second(s), 23 queries .

Powered by VoIP88

© 2001-2017 VoIP88

快速回复 返回顶部 返回列表