Описание модуля CallCenter (Часть третья)
Представляем перевод документации модуля callcenter. Напоминаем, что в разделе FREESWITCH будут собраны переводы статей о freeswitch.
Вторая часть
API команды модуля callcenter
callcenter_config
agent
Добавление нового агента в систему
callcenter_config agent add [agent name] [type(Callback)]
Обновление значения агента
callcenter_config agent set
[key(contact|status|state|type|max_no_answer|wrap_up_time|ready_time|reject_delay_time|busy_delay_time)] [agent name] [value]
Удаление агента
callcenter_config agent del [agent name]
Перечисление агентов
callcenter_config agent list [agent_name]
Получение uuid агента, соединённого с участником
callcenter_config agent get uuid [agent_name]
tier
Добавление нового уровня, сопоставляющего агента с очередью. Обратите внимание, что в случае возникновения проблем должны использоваться только готовые уровни.
callcenter_config tier add [queue name] [agent name] [[level]] [[position]]
Обновление значения уровня
callcenter_config tier set [key(state|level|position)] [queue name] [agent name] [value]
Удаление уровня
callcenter_config tier del [queue name] [agent name]
Перечисление уровней
callcenter_config tier list
queue
Загрузка в память XML-файла конфигурации очереди
callcenter_config queue load [queue_name]
Выгрузка параметров очереди
callcenter_config queue unload [queue_name]
Обновление параметров очереди
callcenter_config queue reload [queue_name]
Перечисление параметров очередей
callcenter_config queue list
Перечисление агентов с уровнем, связанным с указанной очередью. Если указан статус, перечисляются только агенты с данным статусом.
callcenter_config queue list agents [queue_name] [status] [state]
Перечисление абонентов, находящихся в очереди.
callcenter_config queue list members [queue_name]
Перечисление уровней, связанных с конкретной очередью.
callcenter_config queue list tiers [queue_name]
Возвращает общее количество очередей.
callcenter_config queue count
Возвращает количество агентов с уровнем, связанным с конкретной очередью. Если указан статус, учитываются только агенты с данным статусом.
callcenter_config queue count agents [queue_name] [status]
Возвращает количество абонентов, находящихся в очереди (абонентов, ожидающих в очереди и абонентов, соединённых с агентом).
callcenter_config queue count members [queue_name]
Возвращает количество уровней, связанных с конкретной очередью.
callcenter_config queue count tiers [queue_name]
Переменные
cc_export_vars
Экспорт переменных в ветку b колл-центра (агентов)
Пример использования:
<action application="set" data="hold_music=local_stream://example_moh"/>
<action application="set" data="origination_caller_id_name=Call Center"/>
<action application="set" data="origination_caller_id_number=9000"/>
<action application="set" data="cc_export_vars=hold_music,origination_caller_id_name,origination_caller_id_number"/>
<action application="callcenter" data="9000@callcenter"/>
cc_moh_override
Заменяет дефолтную мелодию удержания (Music On Hold) для очереди.
cc_base_score
Добавляет указанное число к базовому рейтингу абонента, потенциально помещая его впереди других абонентов в очереди.
cc_exit_keys
Вызывающий абонент может выйти из очереди, нажав на эту кнопку.
cc_outbound_cid_name_prefix
Добавляет префикс к Caller ID вызывающего абонента.
cc_outbound_announce
Воспроизводит заданный аудиофайл или ряд аудиофайлов для агента перед тем, как присоединить участника.
cc_warning_tone
Эта переменная действует только для агентов в режиме 'uuid-standby'. Воспроизводит указанный тон, когда вызов передаётся агенту.
cc_record_filename
Содержит имя файла записи разговоров, если шаблон записи был предусмотрен в конфигурации очереди. (только для чтения)
cc_side
Содержит указание на ветку вызова. Может быть либо участник, либо агент. (только для чтения)
cc_member_uuid
Содержит уникальный uuid участника колл-центра (отличается от uuid сессии участника) (только для чтения)
cc_member_session_uuid
Содержит uuid сессии участника. (Отличается от member_uuid) (только для чтения) cc_agent
Содержит агента, принявшего вызов из очереди. (только для чтения)
cc_queue_answered_epoch
Содержит поворотный момент времени, когда агент ответил на звонок. (только для чтения)
cc_queue_terminated_epoch
Содержит поворотный момент времени, когда связь с агентом была прекращена. (только для чтения)
cc_queue_joined_epoch
Содержит поворотный момент времени, когда вызывающий абонент присоединился к очереди и начал ожидание. (только для чтения)
cc_queue_canceled_epoch
Содержит поворотный момент времени, когда вызывающий абонент оставляет очередь и прерывает звонок. (только для чтения)
Events
ПРИМЕЧАНИЕ: Эти события могут быть изменены. Мы находимся в самом начале развития.
Actions
Вот несколько примеров событий, генерируемых mod_callcenter.
agent-status-change
Когда изменяется статус агента, это событие генерируется с новым статусом.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Agent: 1000@default
CC-Action: agent-status-change
CC-Agent-Status: Available
agent-state-change
Каждый раз, когда изменяется состояние агента, генерируется это событие.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Agent: 1000@default
CC-Action: agent-state-change
CC-Agent-State: Receiving
agent-offering
agent-offering
Каждый раз, когда абонент представляется агенту (до того, как он ответит), генерируется это событие.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Agent: AgentNameHere
CC-Action: agent-offering
CC-Agent-System: single_box
CC-Member-UUID: 453324f8-3424-4322-4242362fd23d
CC-Member-Session-UUID: 600165a4-f748-11df-afdd-b386769690cd
CC-Member-CID-Name: CHOUINARD MO
CC-Member-CID-Number: 4385551212
bridge-agent-start
Когда агент подключен, генерируется это событие. Примечание: в коде присутствуют канальные переменные, включая, например, Event-Date-Timestamp, а также параметры колл-центра.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Action: bridge-agent-start
CC-Agent: AgentNameHere
CC-Agent-System: single_box
CC-Agent-UUID: 7acfecd3-ab50-470b-8875-d37aba0429ba
CC-Agent-Called-Time: 10000
CC-Agent-Answered-Time: 10009
CC-Member-Joined-Time: 9000
CC-Member-UUID: 453324f8-3424-4322-4242362fd23d
CC-Member-Session-UUID: c6360976-231c-43c6-bda7-7ac4c7d1c125
CC-Member-CID-Name: Their Name
CC-Member-CID-Number: 555-555-5555
bridge-agent-end
Когда агент отключен, генерируется это событие. Примечание: в коде присутствуют канальные переменные, включая, например, Event-Date-Timestamp, а также параметры колл-центра.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Action: bridge-agent-end
CC-Agent: AgentNameHere
CC-Agent-System: single_box
CC-Agent-UUID: 7acfecd3-ab50-470b-8875-d37aba0429ba
CC-Agent-Called-Time: 10000
CC-Agent-Answered-Time: 10009
CC-Bridge-Terminated-Time: 10500
CC-Member-Joined-Time: 9000
CC-Member-UUID: 453324f8-3424-4322-4242362fd23d
CC-Member-Session-UUID: c6360976-231c-43c6-bda7-7ac4c7d1c125
CC-Member-CID-Name: Their Name
CC-Member-CID-Number: 555-555-5555
bridge-agent-fail
Когда создание агента не удаётся, генерируется это событие. Примечание: в коде присутствуют канальные переменные, включая, например, Event-Date-Timestamp, а также параметры колл-центра.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Action: bridge-agent-fail
CC-Hangup-Cause: CHECK FS HANGUP CAUSE
CC-Agent: AgentNameHere
CC-Agent-System: single_box
CC-Member-UUID: 453324f8-3424-4322-4242362fd23d
CC-Member-Session-UUID: c6360976-231c-43c6-bda7-7ac4c7d1c125
CC-Member-CID-Name: Their Name
CC-Member-CID-Number: 555-555-5555
members-count
Это событие генерируется каждый раз, когда вызывается относящее к очереди api и каждый раз, когда абонент входит или покидает очередь.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Action: members-count
CC-Count: 1
CC-Selection: Single-Queue
member-queue-start
Присоединение к очереди создаёт это событие, позволяя отслеживать, когда абоненты входят в очередь.
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Action: member-queue-start
CC-Member-UUID: 453324f8-3424-4322-4242362fd23d
CC-Member-Session-UUID: b77c49c2-a732-11df-9438-e7d9456f8886
CC-Member-CID-Name: CHOUINARD MO
CC-Member-CID-Number: 4385551212
member-queue-end
Генерируется, когда абонент покидает очередь. Разные длины определенных для очередей промежутков времени сообщаются в секундах. Существует два значения для CC-Cause: 'Terminated' и 'Cancel'. 'Terminated' означает, что звонок завершается после разговора с агентом. Вот пример:
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Action: member-queue-end
CC-Hangup-Cause: CHECK FS HANGUP CAUSE
CC-Cause: Terminated
CC-Agent-Called-Time: 10000
CC-Agent-Answered-Time: 10009
CC-Member-Joined-Time: 9000
CC-Member-Leaving-Time: 10100
CC-Member-UUID: 453324f8-3424-4322-4242362fd23d
CC-Member-Session-UUID: b77c49c2-a732-11df-9438-e7d9456f8886
CC-Member-CID-Name: CHOUINARD MO
CC-Member-CID-Number: 4385551212
Если абонент прервёт звонок перед разговором с агентом, у CC-Cause будет состояние 'Cancel'. CC-Cause-Reason содержит возможную причину падения: NONE (нет особых причин), TIMEOUT (вызывающий абонент ожидает больше установленного времени ожидания), NO_AGENT_TIMEOUT (вызывающий абонент ожидает дольше, чем задано в no_agent_timeout) и BREAK_OUT (абонент покинул линию). Вот пример:
Event-Subclass: callcenter::info
Event-Name: CUSTOM
CC-Queue: support@default
CC-Action: member-queue-end
CC-Member-Joined-Time: 9000
CC-Member-Leaving-Time: 10050
CC-Cause: Cancel
CC-Cancel-Reason: TIMEOUT
CC-Member-UUID: 453324f8-3424-4322-4242362fd23d
CC-Member-Session-UUID: e260ffd0-a731-11df-9341-e7d9456f8886
CC-Member-CID-Name: Marc O Robinson
CC-Member-CID-Number: 5145551212
© Внимание! Все права на перевод принадлежат фирме Гарантум. При ссылке или цитировании данной информации обязательно вставляйте ссылку на источник.