星号:在假期播放mp3声音,接听来电



我正在尝试配置Asterisk播放声音,如果它是假期或如果它不是在营业时间。

经过长时间的搜索,她是什么在Extensions.Conf:

exten => s,n,GotoIfTime(17:31-08:30|fri-mon|*|*?closed,1) 
exten => s,n,SetMusicOnHold(default)

[closed]
exten => 6000,1,Answer
exten => 6000,2,MusicOnHold()
exten => 6000,n,Hangup()

我在musiconhold.conf

中有以下内容
[default]
mode=files
directory=/var/lib/asterisk/mohmp3
random=yes

我怎么能做到这一点?

如有任何回复,不胜感激

要播放声音,可以使用Playback命令。

我在办公室试用了这个方法,如果在工作时间以外或周末有任何电话打到我们的办公室号码,我们会宣布您在非工作时间拨打的电话,并且来电将被放入队列。

呼叫将保持在队列中,并为呼叫方提供音乐。如果任何员工有空,他们都会收到。

呼叫者可以在队列中随时挂断呼叫。

这些是我的配置和脚本,我在我们的办公室使用

extensions_customs.conf

[Landing]
exten => 600,1,Answer()
exten => 600,2,AGI(work-time.php)
exten => 600,3,Hangup()

queues_additional.conf

[30]
announce-frequency=15
announce-holdtime=no
announce-position=yes
autofill=no
eventmemberstatus=no
eventwhencalled=no
joinempty=yes
leavewhenempty=no
maxlen=0
music=New
periodic-announce-frequency=0
queue-callswaiting=queue-callswaiting
queue-thankyou=queue-thankyou
queue-thereare=queue-thereare
queue-youarenext=queue-youarenext
reportholdtime=no
retry=1
ringinuse=no
servicelevel=60
strategy=rrmemory
timeout=15
weight=0
wrapuptime=0
member=Local/50872@from-queue/n,0,Agent 3,SIP/50872
member=Local/50873@from-queue/n,0,Agent 4,SIP/50873
member=Local/50874@from-queue/n,0,Agent 5,SIP/50874
member=Local/50875@from-queue/n,0,Agent 6,SIP/50875
member=Local/50876@from-queue/n,0,Agent 7,SIP/50876
member=Local/50877@from-queue/n,0,Agent 8,SIP/50877
member=Local/50878@from-queue/n,0,Agent 9,SIP/50878

work-time.php

#!/usr/bin/php-cgi -q
<?PHP
//Set time limit
set_time_limit(50);
//Include PHPAGI
require('phpagi.php');
//Development version. Set to none on production.
error_reporting(E_ALL);
//Create a new object
$agi = new AGI();
$agi->answer();
$tempDate = date('Y-m-d H:i');/**(Fetching data and time from running system)**/
                        $hours = date('H:i');
                        $day= date('D', strtotime( $tempDate));
                        if($hours>='09:00' && $hours<='17:30')
                        {
                            if($day=='Sat' || $day=='Sun')
                            {
                                $agi->exec('Playback','called-on-non-working');
                                $agi->exec('Queue','30');/**In queue call will not be hanged until callee hangup**/
                            }
                            else
                            {
                                $agi->exec('Playback','cce');
                                $agi->exec('Queue','30');
                            }
                        }
                        else
                        {
                            $agi->exec('Playback','called-on-non-working');
                            $agi->exec('Queue','30');
                        }
?>

如果我的办公室座机被呼叫,它将被转移到分机600(着陆)那里我有我的小脚本运行名为work-time.php

在此之前,我已经在队列中创建了所有的分机号(参见queues_add .conf)

现在脚本将被执行,脚本检查日期和时间,如果时间高于办公室时间,它将播放文件并将呼叫放入队列。由于no是可用的,呼叫将不会被应答。在队列中Moh将被播放

最新更新