Есть 2 голосовые записи
Нужно сделать если звонки поступают в промежуток понедельник-суббота с 9-00 до 19-00 проигрывать первую запись и переводить на группу номеров, если входящий звонок поступает в другое время включать другую запись и после воспроизведения её, делать hangup.
Система elastix 2.2
Asterisk 1.8.7.0
Написан такой сценарий:
exten => _X.,1,Wait(1)
exten => _X.,n,Wait(1)
exten => _X.,n,Playback(custom/1,1,,,1) ; воспроизводит голосовое приветсвие 1
exten => _X.,n,GotoIfTime(08:00-22:00,Mon-Sat,*,*?:to_hangup) ; если звонок приходит не в этот временной промежуток сбрасывает вызов.
;exten => _X.,n,GotoIfTime(09:00-19:00,Mon-Sat,*,*?:Playback(custom/1,1,,,1)
exten => _X.,n,Set(fname=${UNIQUEID})
exten => _X.,n,MixMonitor(/var/spool/asterisk/monitor/${STRFTIME(,,%G%m%d)}/${fname}.wav)
exten => _X.,n,Noop(${EXTEN}"----
_________________
P4 3.0 + 1Gb CentOS 5.7 Aster 1.8.15.1
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
exten => _X.,1,Wait(1)
exten => _X.,n,Wait(1)
exten => _X.,n,GotoIfTime(08:00-22:00,Mon-Sat,*,*?: ????? Что здесь нужно прописать чтобы оно выбирало?
exten => _X.,n,Playback(custom/1,1,,,1) ; воспроизводит голосовое приветсвие 1
exten => _X.,n,Playback(custom/2,1,,,1) ; воспроизводит голосовое приветсвие 2
типа GotoIfTime(.....:metka1)
exten => s,n(metka1),Playback(......)
_________________
P4 3.0 + 1Gb CentOS 5.7 Aster 1.8.15.1
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
exten => ,n,NoOp(Call from ${CALLERID(num)})
exten => ,n,GotoIfTime(08:00-22:00,Mon-Sat,*,*?Say_Closed) ; переходим на эту метку Say_Closed
exten => ,n,GotoIfTime(09:00-19:00,Mon-Sat,*,*?Say_Open) ; переходим на эту метку Say_Open
exten => ,n,GoTo(exit_dialplan) ;на всякий случай убежим что бы если криво настроено избежать проблем
exten => ,n(Say_Closed),Playback(We_Closed)
Что то делаем или не делаем
exten => ,n,GoTo(exit_dialplan)
exten => ,n(Say_Open),Playback(We_Open)
Что то делаем или не делаем
exten => ,n,GoTo(exit_dialplan)
....................................................................
exten => ,n(exit_dialplan),Hangup()
Но не советую Вам сразу проверять день недели в GotoIfTime, так как возможно что это праздник и Вы работаете в этот день!!! Или это рабочий день но вы не работаете так как это был перенос!!
Делайте проверку на время (если время не рабочее дропайтесь), потом на дату (рабочий выходной по календарю) а уже если нет в базе даты (рабочий/выходной) проверяйте день недели..
Советую сначала нарисовать блок схему и только потом пишите диалплан.
С уважением.
_________________
Мы всегда можем уметь...
exten => _X.,n,GotoIfTime(08:00-22:00,Mon-Sat,*,*?:metka1)
exten => _X.,n,Playback(custom/121,1,,,1)
exten => _X.,n(metka1),Playback(custom/122,1,,,1)
exten => _X.,n(metka1),Goto(to_hangup)
Корректно ли это?
exten => _X.,n,Playback(custom/121,1,,,1)
exten => _X.,n,Goto(metka2)
exten => _X.,n(metka1),Playback(custom/122,1,,,1)
exten => _X.,n,Goto(to_hangup)
exten => _X.,n(metka2),....................................
_________________
P4 3.0 + 1Gb CentOS 5.7 Aster 1.8.15.1
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
Но, вручную прописывать конфиги конечно наглядней и полезней для изучения, только зачем тогда веб-интерфейс.