Для того чтобы оператор мог зарегистрироваться на телефонном номере, для данного телефонного номера должна быть активирована услуга cc_agent. Рекомендуется активировать эту услугу только для тех телефонных номеров, которые специально зарезервированы для регистрации на них операторов. Здесь нужно соблюсти осторожность, так как супервизор имеет возможность прослушивать любой телефонный номер из тех, которые заняты его агентами.
Не стоит активировать услугу cc_agent для всех телефонных номеров в виртуальной АТС кроме случаев, когда вы точно осознаете что делаете. |
Пример активации услуги cc_agent:
admin@[restfs1@ecss1]:/$ domain/test.domain/ss/activate 103 cc_agent Success: Supplementary service cc_agent activated for domain "test.domain" address "103" |
Услуга cc_agent должна быть установлена в виртуальной АТС, и разрешена для использования этим оператором. Если услуга не установлена, то вам нужно воспользоваться инструкцией по установке и использованию услуги в ECSS-10.
Очередь может работать как с обычными телефонными номерами, так и расширенными операторами, обладающими дополнительными возможностями. Для того чтобы добавить расширенного оператора, его нужно предварительно создать.
Команды по управлению агентами в call-центре см. в разделе Команда управления агентами.
В виртуальной АТС изначально нет ни одного оператора. Посмотреть список операторов, можно, используя команду list.
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/list ┌────────┬────────────┬─────┬──────────┬───────────┬────────┬────────┬────┐ │Agent id│Display name│Group│Supervisor│Description│Password│ Auto │Load│ │ │ │ │ │ │ │complete│ │ ├────────┼────────────┼─────┼──────────┼───────────┼────────┼────────┼────┤ └────────┴────────────┴─────┴──────────┴───────────┴────────┴────────┴────┘ |
Пример 1:
Создадим нового оператора. Для создания оператора необходимо явно указать его целочисленный идентификатор. Этот идентификатор будет использоваться для входа в АРМ и управления оператором с телефонного аппарата.
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/declare 1 ok [exec at: 29.06.2016 22:51:13, exec time: 29ms, nodes: ds1@ecss1] admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/list ┌────────┬────────────┬───────┬──────────┬───────────┬────────┬────────┬────┐ │Agent id│Display name│ Group │Supervisor│Description│Password│ Auto │Load│ │ │ │ │ │ │ │complete│ │ ├────────┼────────────┼───────┼──────────┼───────────┼────────┼────────┼────┤ │1 │ │default│ │ │ │ │1 │ └────────┴────────────┴───────┴──────────┴───────────┴────────┴────────┴────┘ |
Если не указывать группу, то оператору автоматически будет выставлена группа по умолчанию - default. Если мы не укажем пароль данному оператору, то такой оператор не сможет выполнить вход в систему.
Редакция свойств оператора.
Свойства оператора можно редактировать после его создания:
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 1 display_name "Иван Васильевич" ok admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 1 supervisor true ok admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 1 description "Супервизор главной группы" ok admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 1 password 142354 ok ┌────────┬───────────────┬───────┬──────────┬─────────────────────────┬────────┬────────┬────┐ │Agent id│ Display name │ Group │Supervisor│ Description │Password│ Auto │Load│ │ │ │ │ │ │ │complete│ │ ├────────┼───────────────┼───────┼──────────┼─────────────────────────┼────────┼────────┼────┤ │1 │Иван Васильевич│default│true │Супервизор главной группы│142354 │ │1 │ └────────┴───────────────┴───────┴──────────┴─────────────────────────┴────────┴────────┴────┘ |
В именах и описании можно использовать кириллицу.
Мы можем создавать несколько операторов одной командой, с помощью интервала:
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/declare {3-4}
ok
[exec at: 29.06.2016 23:04:58, exec time: 48ms, nodes: ds1@ecss1]
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/list
┌────────┬───────────────┬───────┬──────────┬─────────────────────────┬────────┬────────┬────┐
│Agent id│ Display name │ Group │Supervisor│ Description │Password│ Auto │Load│
│ │ │ │ │ │ │complete│ │
├────────┼───────────────┼───────┼──────────┼─────────────────────────┼────────┼────────┼────┤
│1 │Иван Васильевич│default│true │Супервизор главной группы│142354 │ │1 │
│3 │ │default│ │ │ │ │1 │
│4 │ │default│ │ │ │ │1 │
└────────┴───────────────┴───────┴──────────┴─────────────────────────┴────────┴────────┴────┘ |
Команда создания оператора может автоматически выбрать целочисленный идентификатор оператора с помощью опции auto:
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/declare auto display_name = Алекс, description = Оператор главной группы, password = 335123 ok [exec at: 29.06.2016 23:11:38, exec time: 32ms, nodes: ds1@ecss1] admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/list ┌────────┬───────────────┬───────┬──────────┬─────────────────────────┬────────┬────────┬────┐ │Agent id│ Display name │ Group │Supervisor│ Description │Password│ Auto │Load│ │ │ │ │ │ │ │complete│ │ ├────────┼───────────────┼───────┼──────────┼─────────────────────────┼────────┼────────┼────┤ │1 │Иван Васильевич│default│true │Супервизор главной группы│142354 │ │1 │ │2 │Алекс │default│ │Оператор главной группы │335123 │ │1 │ │3 │ │default│ │ │ │ │1 │ │4 │ │default│ │ │ │ │1 │ └────────┴───────────────┴───────┴──────────┴─────────────────────────┴────────┴────────┴────┘ [exec at: 29.06.2016 23:11:42, exec time: 15ms, nodes: ds1@ecss1] |
Для завершения конфигурирования группы укажем дополнительную информацию об операторах:
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 3 display_name Боб ok [exec at: 29.06.2016 23:13:35, exec time: 61ms, nodes: ds1@ecss1] admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 3 password 114235 ok [exec at: 29.06.2016 23:13:49, exec time: 24ms, nodes: ds1@ecss1] admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 4 display_name Цезарь ok [exec at: 29.06.2016 23:14:07, exec time: 30ms, nodes: ds1@ecss1] admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set 4 password 232456 ok [exec at: 29.06.2016 23:14:16, exec time: 29ms, nodes: ds1@ecss1] admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/list ┌────────┬───────────────┬───────┬──────────┬─────────────────────────┬────────┬────────┬────┐ │Agent id│ Display name │ Group │Supervisor│ Description │Password│ Auto │Load│ │ │ │ │ │ │ │complete│ │ ├────────┼───────────────┼───────┼──────────┼─────────────────────────┼────────┼────────┼────┤ │1 │Иван Васильевич│default│true │Супервизор главной группы│142354 │ │1 │ │2 │Алекс │default│ │Оператор главной группы │335123 │ │1 │ │3 │Боб │default│ │ │114235 │ │1 │ │4 │Цезарь │default│ │ │232456 │ │1 │ └────────┴───────────────┴───────┴──────────┴─────────────────────────┴────────┴────────┴────┘ |
Установим описание операторам 3 и 4:
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/set {3-4} description Оператор главной группы
ok
[exec at: 29.06.2016 23:15:44, exec time: 27ms, nodes: ds1@ecss1]
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/agent/list
┌────────┬───────────────┬───────┬──────────┬─────────────────────────┬────────┬────────┬────┐
│Agent id│ Display name │ Group │Supervisor│ Description │Password│ Auto │Load│
│ │ │ │ │ │ │complete│ │
├────────┼───────────────┼───────┼──────────┼─────────────────────────┼────────┼────────┼────┤
│1 │Иван Васильевич│default│true │Супервизор главной группы│142354 │ │1 │
│2 │Алекс │default│ │Оператор главной группы │335123 │ │1 │
│3 │Боб │default│ │Оператор главной группы │114235 │ │1 │
│4 │Цезарь │default│ │Оператор главной группы │232456 │ │1 │
└────────┴───────────────┴───────┴──────────┴─────────────────────────┴────────┴────────┴────┘ |
Мы получили простейшую конфигурацию операторов Call-центра с группой по-умолчанию, тремя операторами и одним супервизором. Для создания группы не требуется предпринимать какие-либо дополнительные действия. Если при создании оператора указать имя группы, которое ранее не использовалось, будет создана новая группа.
В дальнейшем для изменения свойств созданных операторов мы можем использовать команду set. Стоит однако отметить, что свойства оператора применяются и будут видны в АРМ.
Для завершения конфигурирования, вновь созданных операторов осталось добавить в одну из очередей. Далее мы создадим расширенную очередь и добавим в неё наших операторов.
Создать расширенную очередь и добавить в нее операторов и/или телефонные номера можно используя CoCon CLI (см. Создание операторов и супервизоров в CoCon CLI).
Команды управления очередью расположены по пути:
/domain/<Domain>/cc/queue/ |
Новая очередь создается командой declare. Приведем здесь полный синтаксис команды declare:
admin@mycelium1@ecss1:/$ domain/biysk.local/cc/queue/declare -h Declare new queue. Usage: declare <QueueName> [<Parameters>] <QueueName> - name of queue to declare. <Parameters> (key1=value1, ..., keyN=valueN): agents :: list of operators and/or aliases. Example: [agent:1,agent:2,alias:101, ...] distribution_mode :: random | mia | loa | multicall random - Random agent. The random available agent; mia - Most Idle Agent. The available agent who has been idle the longest since their last call; loa - Least Occupied Agent. The available agent with the lowest percentage of work time since login; multicall - Call on all available agents simultaneously; skill_based_distribution :: true | false - enables skill based distribution max_wait_time :: Time in seconds max_distribution_attempts :: Max distribution attemps performed before conversation leaves queue max_distribution_duration :: Max time in seconds between operators selected and connection established ringback_mode :: once | none. Once (default) - play ringback if distribution starts immediately after call enqueued. None - don't play ringback max_active_waiting_callbacks :: Max active waiting callbacks count window_duration :: Max time in seconds before window moved to the next available operators in serial-based distributions groups :: Supervisor can observe queue only if it is in the same group description :: string() remember_choice :: none | strict | non-strict. Distribute conversation on previously selected operator none - disabled; strict - if operator busy wait until he become available; non-strict - if operator busy use ordinary distribution strategy; email :: Email address to send important notifications (call missing) Rules below applied to call before accept it into queue: rules\max_predicted_time :: Time in seconds. Max predicted wait time. If it exeeded call will be declined rules\queue_length :: non_neg_integer(). Max enqueued calls number rules\decline_if_no_operators :: boolean(). If true and if no queue operators is logged in call will be declined time_prediction\statistics\lower_threshold :: Lower threshold of conversation duration in seconds. Values less then lower threshold ignored during prediction. Default is 10 seconds. time_prediction\statistics\upper_threshold :: Upper threshold of conversation duration in seconds. Values greater then upper threshold ignored during prediction. Default is 30 minutes. time_prediction\statistics\max_count :: Max values stored in the statistics count. Default is 100. time_prediction\based_on :: average | most_freq | defined_value. What value to consider during prediction. Default is average. average - processed conversation duration average. most_freq - most frequently appeared interval of conversation processing duration. defined_value - manually specified value of conversation processing duration. time_prediction\defined_value :: Manually defined single conversation processing time in seconds. It used in prediction if it explicitly specified by time_prediction\based_on or if statistic values count less then time_prediction\min_values_in_statistics. Default is 60 seconds. time_prediction\min_values_in_statistics :: Min values count in the statistics to make prediction. If values count less then time_prediction\min_values_in_statistics then queue will use time_prediction\defined_value as estimate value of the single conversation handling duration. Default is 10 |
Назначение и параметры очереди подробно описаны в разделе Расширенная очередь.
Пример 2:
Создадим расширенную очередь и добавим в неё операторов, созданных в примере 1:
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/queue/declare queue1 agents = [agent:2,agent:3,agent:4], description = "Тестовая очередь", groups = default, max_wait_time = 300, distribution_mode = random ok admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/queue/list ┌────────┬───────┬───────┬────────────┬────────┬─────┬────────────────┐ │Queue id│Groups │Agents │Distribution│Max wait│Rules│ Description │ │ │ │ │ mode │ time │ │ │ ├────────┼───────┼───────┼────────────┼────────┼─────┼────────────────┤ │queue1 │default│agent:2│random │300 │ │Тестовая очередь│ │ │ │agent:3│ │ │ │ │ │ │ │agent:4│ │ │ │ │ └────────┴───────┴───────┴────────────┴────────┴─────┴────────────────┘ |
Командой выше мы создали очередь, в которую добавили агентов с идентификаторами 2,3 и 4. Максимальное время ожидания в ней 300 сек (5 минут), ограничений на максимальную длину или предсказываемое время ожидания нет. Очередь имеет стратегию распределения random. Это значит, что каждый раз во время распределения оператор будет выбираться из списка свободных случайным образом.
Также мы можем добавить в эту очередь обычные телефонные номера:
admin@[restfs1@ecss1]:/$ domain/test.domain2/cc/queue/queue1/add-agent alias 100{1-3}
ok |
Новые параметры очереди применяются сразу же после их изменения.