Extension управления рабочим временем у меня устроен просто. Если сейчас рабочее время — кидаем запись в лог и передаем звонок дальше. Если время нерабочее, то отправляем запись в лог, произносим соответствующую фразу и звонок завершаем.
Точнее, именно так должно работать, и я считал, что там все ок. А Freeswitch думал иначе.
Оказалось, что данный extension в нерабочее время вообще не проявляет себя в процессе звонка. А все потому, что у меня при проверке является ли текущее время рабочим, стояло условие break=on-false. Оно вообще отменяет обработку данного extension при невыполнении условий extension-а. В итоге, даже в нерабочее время звонок проходил дальше, заставляя напрягаться техническую поддержку.
Подстановка в условия break=never зарубила данную проблему на корню.