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

Смена групп операторов по AEL еженедельно [закрыт]

0

Есть КЦ с двумя группами операторов. Необходимо сделать в автоматическом режиме смену основной группы (грубо говоря, меняются пенальти, неделю у одной группы меньший, неделю у другой). Ничего умнее двух файлов extensions.ael и их смены по крону не придумал. Как брать номер недели в самом AEL?

UPD: Решил не заморачиваться и тупо брать в диалплане номер недели и в зависимости от него плясать. Осталось с получением даты разобраться.

удалить переоткрыть спам изменить тег редактировать

спросил 2012-02-22 14:16:44 +0400

tesak89 Gravatar tesak89 flag of Russian Federation
422 25 3 16

обновил 2012-02-22 14:31:21 +0400

2 Ответа

0
${STRFTIME(${EPOCH},,%W)}
${MATH(${STRFTIME(${EPOCH},,%W)}%2)}
ссылка удалить спам редактировать

ответил 2012-02-22 14:30:53 +0400

g613 Gravatar g613
309 13

обновил 2012-02-22 14:32:14 +0400

Comments

Таки, как раз то, как я и решил в итоге реализовывать. Спасибо!

tesak89 ( 2012-02-22 14:32:17 +0400 )редактировать
0

Это пример как я исползую includes по времени

context InFromFXO {

    // We are include context for calling card client
    includes {
            normalplan1|07:59-12:58|mon-sun|*|*;
            normalplan|19:59-00:58|mon-sun|*|*;
    };
        1234567 => {

            Noop( == Incomming call from FXO Dlink_Elit == );
            Noop( == Caller ID is: ${CALLERID(all)} == );
            Noop( == if no, continue to check, if it CC or to operator == );
            hamar="";
            cc_card="";
            hamar1=${CALLERID(number)};
            hamar=${hamar1};
            lenhamar=${LEN(${hamar})};

            CALLERID(number)=${hamar};
            CHANNEL(language)=am;

            Noop( == Checking in DB for existing callerid == );

            &CheckCallerID(${hamar});

            if ("${cid}" = "") {
                    Noop ( == If not found, jump to extra operator context == );
                    goto callcenter,s,1;
            } else {
                    Noop ( == If found, continue to work == );
                    Answer;
                    Wait(0.5);
                    CDR(accountcode)=${cc_card}; // Setting  account code in new Billing
                    goto s|begin; // We have find callerid, so go to "begin" label in "s" includes.
            };
            Hangup;
    };

И сами include:

context normalplan {
    s   => {
     begin:
            Noop( == Normal plan, time 07:59 to 12:58 == );
            DeadAgi(a2b14.php,13);
    };
};

context normalplan1 {
    s   => {
     begin:
            Noop( == Normal plan, time 19:59 to 00:58 == );
            DeadAgi(a2b14.php,12);
    };
};
ссылка удалить спам редактировать

ответил 2012-02-22 14:28:14 +0400

varnar Gravatar varnar
11 3

Comments

Спасибо, но пока пробую проще.

tesak89 ( 2012-02-22 14:30:19 +0400 )редактировать

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-02-22 14:16:44 +0400

Просмотрен: 405 раз

Обновлен: Feb 22 '12

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