@z0rgoyok

Как раздавать звонки по диспетчерам такси?

Разрабатываем программу для диспетчеров такси, следовательно задача примерно такая:
Есть несколько диспетчеров и один номер телефона.
Нужно раздавать звонки по свободным диспетчерам, а другие ставить в очередь (со словами "вы такой то в очереди").
При звонке нужно обращаться к нашему ПО, оно должно знать номер звонящего (дальше разберемся:))
Не знаю как подступиться к задаче, порекомендуйте методы как хардкорные так и готовые сервисы.
  • Вопрос задан
  • 2608 просмотров
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Это умеет любая атска
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@torr2009
В Asteriske есть понятие очередь, обладает всем требуемым Вам функционалом. Очереди настраиваются очень просто. Так сказать, работают из коробки. Надо только указать операторов.
Обращаться к ПО можно из диалплана, через AGI/AMI и передавать все параметры вызова, включая CallerId.
Ответ написан
icqboot
@icqboot
Я делаю так, в очереде, при поднятии трубки вызываем макрос.
context macro-nav-taxi {
    s => {
        Set(CALLERIDNUM=${TELNO});
        AGEN=${CHANNEL:4:4};
        Set(CALLFILENAME=${STRFTIME(${EPOCH},,20%y-%m-%d_%H-%M-%S)}__${CALLERIDNUM}__${AGEN});
        System(/var/www/scripts/checkdir.sh);
        Set(monopt=nice -n 19 /usr/local/bin/lame -b 16 --silent "/var/spool/asterisk/monitor/${CALLFILENAME}.wav" "/usr/local/recorder/records/${STRFTIME(${EPOCH},,20%y-%m-%d)}/${CALLFILENAME}.mp3" && rm -f "/var/spool/asterisk/monitor/${CALLFILENAME}.wav");
        MixMonitor(${CALLFILENAME}.wav,b,${monopt});
        Set(CDR(accountcode)=taxi);
        Set(CDR(userfield)=${CALLFILENAME});
        NoOp(${AGEN});
        AGENTIP=${DB(${AGEN}/ip)};
        NoOp(AGENT IP=${AGENTIP});
        PORT=6001;
        NoOp(${MACRO_EXTEN});
        Set(CDR(operator)=${AGEN});
        System(echo -e "Message: ActivateCard. Operator: ${AGEN}. CallerID: ${TELNO} \n\n" | nc ${AGENTIP} ${PORT} );
     };
};
Ответ написан
Комментировать
denis-titusov
@denis-titusov
DevOps engineer
Не сочтите за рекламу, но Naumen Contact Center умеет это из коробки.
А заодно в нем можно очень гибко настраивать исходящие/входящие очереди, вести статистику, рассылать СМС и так далее.
В общем, полноценный КЦ.

Если нужна только очередь, то либо Asterisk, либо костыльный скрипт. По трудозатратам на внедрение будет одинаково.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы