我试图配置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
我如何实现这一目标?
任何回复都应该非常感激
答案 0 :(得分:1)
要播放声音,您可以使用Playback命令。
答案 1 :(得分:0)
如果我们在工作时间以上或周末打电话给我们的办公室电话,我在办公室试了这个,我们会宣布你在非工作时间打电话的电话,电话会被排队等候。
呼叫将保持在队列中,并且音乐会出现在呼叫者处。如果有任何员工,他们将收到它。
调用者可以随时在队列中挂断呼叫。
这些是我在办公室使用的配置和脚本
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
工作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_additional.conf)
现在将执行脚本,脚本检查日期和时间,如果时间超过办公时间,它将播放文件并将呼叫置于队列中。由于没有可用的电话将无法接听。在队列中Moh将被播放