FreePBX 2.9.0.7 и asterisk18-core-1.8.5.0-1, хочется настроить авторизацию для Call Forward. Сам контекст беру отсюда http://www.freepbx.org/forum/freepbx/users/call-forward-authorization. Если заменить контекст в файле extensionsadditional.conf, то авторизация работает как нужно (естественно до перезапуска freepbx). Из extensionscustom.conf контекст почему то не воспринимается. Может что то нужно включить в WebGUI дополнительно, что бы настройки воспринимались из кастом контекста?
настройки из кастомного раздела будут применяться, если:
1)имеется оригинальный контекст в extensions_additional.conf
2)в этом контексте приоритетно прописан инклуд на кастомный контекст
в крайнем случае всегда можно воспользоваться override конфигурационым файлом
Для явной замены контекстов Freepbx используйте файл extensions_override_freepbx.conf
Решил так, не нужно прописывать include => app-cf-on-custom, т.е. контекст нужно вписать без вложений, тогда всё ок.
Попробовал заполнить /etc/asterisk/extensionsoverridefreepbx.conf, ничего не вышло. Настройки оттуда не применяются.
Заполнил так:
[app-cf-on]
include => app-cf-on-custom
exten => sstate,1,Set(DEVICE_STATE(Custom:CF${fromext})=${STATE})
exten => sstate,n,Set(DEVICES=${DB(AMPUSER/${fromext}/device)})
exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return)
exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)})
exten => sstate,n,Set(ITER=1)
exten => sstate,n(begin),Set(DEVICE_STATE(Custom:DEVCF${CUT(DEVICES,&,${ITER})})=${STATE})
exten => sstate,n,Set(ITER=$[${ITER} + 1])
exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin)
exten => sstate,n(return),Return()
; end of [app-cf-on]
[app-cf-on-custom]
exten => *72,1,Answer
exten => *72,n,Wait(1)
exten => *72,n,Macro(user-callerid,)
exten => *72,n,Playback(call-fwd-unconditional)
exten => *72,n(startread),Playback(ent-target-attendant)
exten => *72,n,Read(toext,then-press-pound,,,,)
exten => *72,n,GotoIf($["foo${toext}"="foo"]?startread)
exten => *72,n,Wait(1)
exten => *72,n,Set(DB(CF/${AMPUSER})=${toext})
exten => *72,n,Playback(call-fwd-unconditional&for&extension)
exten => *72,n,SayDigits(${AMPUSER})
exten => *72,n,Playback(is-set-to)
exten => *72,n,SayDigits(${toext})
exten => *72,n,Macro(hangupcall,)
exten => _*72.,1,Answer
exten => _*72.,n,Wait(1)
exten => _*72.,n,Macro(user-callerid,)
exten => _*72.,n,Set(DB(CF/${AMPUSER})=${EXTEN:3})
exten => _*72.,n,Playback(call-fwd-unconditional&for&extension)
exten => _*72.,n,SayDigits(${AMPUSER})
exten => _*72.,n,Playback(is-set-to)
exten => _*72.,n,SayDigits(${EXTEN:3})
exten => _*72.,n,Macro(hangupcall,)
exten => h,1,Hangup()
; end of [app-cf-on-custom]
Задан: 2011-10-07 21:59:44 +0400
Просмотрен: 4,699 раз
Обновлен: Oct 23 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.