Сделал настройки согласно этому гайду:
https://wiki.mikopbx.com/providers:many_hosts:non-work
Прописал путь к файлу, как вы и сказали. /storage/usbdisk1/mikopbx/media/1589956520 (путь взял из АТС, посмотрев код элемента при проигрывании необходимого файла) где 1589956520 имя файла на АТС. Зашёл по SSH на АТС, проверил расположение файла, он есть, по этому пути в mp3 и wav. Но - это не работает. В файле extensions.conf, выбрал добавлять в конец, прописал для провайдера:
[public-direct-dial-custom]
exten => _.!,1,NoOp(check time)
same => n,Gosub(check-out-work-time-custom,${FROM_DID},1)
same => n,return
[check-out-work-time-custom]
exten => 3832091588,1,NoOp(check time)
same => n,ExecIfTime(00:00-09:00,mon-fri,*,*?Macro(playback-exit,/storage/usbdisk1/mikopbx/media/1589956520))
same => n,ExecIfTime(18:00-23:59,mon-fri,*,*?Macro(playback-exit,/storage/usbdisk1/mikopbx/media/1589956520))
same => n,return
Где 3832091588, данные указанные в поле логин в настройках провайдера. Но при звонке, оный перебрасывается на IVR рабочего времени. Причём пробовал в том числе и прописывать стандартный путь "/offload/asterisk/sounds/other/out_work_times" - тоже самое. Звонок перебрасывается на IVR-меню рабочего времени. Ну и при настройке на перевод в нерабочее время на соответствующий IVR, так же, перевод идёт на IVR рабочего времени. Такое чувство что АТС не "видит" данную настройку в extensions.conf.
Меня смущает что в конце основного файла конфигурации прописано следующее:
[none-incoming]
[public-direct-dial]
[playback-exit]
exten => _.!,1,NoOp(check time)
same => n,Gosub(dial_outworktimes,${EXTEN},1)
same => n,Playback(${filename})
same => n,Hangup()
[check-out-work-time]
exten => _.!,1,NoOp(check time)
same => n,GotoIfTime(*,*,4-4,nov-nov?internal,2053,1)
same => n,GotoIfTime(*,*,31-31,dec-dec?internal,2053,1)
same => n,return
Возможно эти параметры имеют приоритет, и дальше АТС просто не доходит. Может быть нужно выбрать "заменять полностью", и заменить эти строки на то что я писал выше?