Макросы

Макросы - способ централизовать повторяющиеся операции диалплана для их последующего редактирования в одном месте. В следующем примере операция записи звонка вынесена в отдельный макрос:

;; без макроса

[incoming]
exten => s,1,Set(MONITOR_FILE=/mixmon/${UNIQUEID})
same => n,MixMonitor(${MONITOR_FILE}.wav)
same => n,Playback(beep)
same => n,Queue(myqueue,,,,30)
same => n,Hangup()
;; с макросом

[macro-mymixmon]
exten => s,1,Set(MONITOR_FILE=/mixmon/${UNIQUEID})
exten => s,n,MixMonitor(${MONITOR_FILE}.wav)

[incoming]
exten => s,1,Macro(mymixmon)
same => n,Playback(beep)
same => n,Queue(myqueue,,,,30)
same => n,Hangup()

При использовании макросов следуйте двум правилам:

  1. Название макроса начинается с macro-: [macro-somename]
  2. Обращение к созданному макросу осуществлется через приложение Macro(), в качестве параметра в скобках указывается его имя: Macro(somename)