Pokud pouzivate FreePBX asi se vas to netyka ale pokud potrebuje vyresit stavky vcetne velikonocniho pondeli v dialplanu asterisku, muze se vam nasleduji navod hodit.
Prvne naplnime databazi Asterisku klici s daty:
asterisk -rx ‚database put holiday 0101 1‘ |
asterisk -rx ‚database put holiday 0501 1‘ |
asterisk -rx ‚database put holiday 0508 1‘ |
asterisk -rx ‚database put holiday 0705 1‘ |
asterisk -rx ‚database put holiday 0706 1‘ |
asterisk -rx ‚database put holiday 0928 1‘ |
asterisk -rx ‚database put holiday 1028 1‘ |
asterisk -rx ‚database put holiday 1117 1‘ |
asterisk -rx ‚database put holiday 1224 1‘ |
asterisk -rx ‚database put holiday 1225 1‘ |
asterisk -rx ‚database put holiday 1226 1‘ |
asterisk -rx ‚database put holidayeaster 20160328 1‘ |
asterisk -rx ‚database put holidayeaster 20170417 1‘ |
asterisk -rx ‚database put holidayeaster 20180402 1‘ |
asterisk -rx ‚database put holidayeaster 20190422 1‘ |
asterisk -rx ‚database put holidayeaster 20200413 1‘ |
asterisk -rx ‚database put holidayeaster 20210405 1‘ |
asterisk -rx ‚database put holidayeaster 20220418 1‘ |
asterisk -rx ‚database put holidayeaster 20230410 1‘ |
asterisk -rx ‚database put holidayeaster 20240401 1‘ |
asterisk -rx ‚database put holidayeaster 20250421 1‘ |
klic holiday obsahuje ve formatu MMDD mesic a den statniho svatku, klic holidayeaster obsahuje ve formatu YYYYMMDD datum velikonocniho pondeli do roku 2025.
V dialplanu je potom mozne vyuzit data takto:
exten => s,n,Set(ISHOLIDAY=${DB_EXISTS(holiday/${STRFTIME(${EPOCH},,%m%d)})}) ;kontrola zda neni svatek exten => s,n,GotoIf($["${ISHOLIDAY}" = "1"]?svatek) ;pokud ano, skace na label svatek exten => s,n,Set(ISEASTER=${DB_EXISTS(holidayeaster/${STRFTIME(${EPOCH},,%y%m%d)})}) ;kontrola velikonocniho pondeli do roku 2025 exten => s,n,GotoIf($["${ISEASTER}" = "1"]?svatek) ;pokud ano, skace na label svatek