Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2014-03-10 17:01:06 +0400

zzuz Gravatar zzuz flag of Russian Federation

http://line24.ru/

храните данные о количестве минут для каждого транка в БД и изменяйте переменную после разговора. Ограничивайте время разговора через опцию команды Dial L(x[:y][:z]) . Из веб-интерфейса сделать это не получится, но задача вполне выполнимая.

храните данные о количестве минут для каждого транка в БД и изменяйте переменную после разговора. Ограничивайте время разговора через опцию команды Dial L(x[:y][:z]) . Из веб-интерфейса сделать это не получится, но задача вполне выполнимая.

Пример использования

;;Устанавливаем проигрывание файлов
exten => _X.,n,Set(LIMIT_PLAYAUDIO_CALLER=yes)
exten => _X.,n,Set(LIMIT_PLAYAUDIO_CALLEE=no)
;; файл для предупреждения об окончании 15ти последних секунд
exten => _X.,n,Set(LIMIT_WARNING_FILE=15-seconds)
exten => _X.,n,AGI(balance_check.agi) ; проверка баланса
exten => _X.,n,Dial(${TRUNK}/${EXTEN},${DEFAULT_TIMEOUT},L($[${MAX_DURATION}*60000]:15000))

где

TRUNK - выбираемый транк для звонка (также можно анализировать из БД)

MAX_DURATION - максимальное время для звонка в минутах (берется из проверки баланса)

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.