Представляем перевод документации модуля callcenter. Напоминаем, что в разделе http://garantum.ru/content/category/8-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

© Внимание! Все права на перевод принадлежат фирме Гарантум. При ссылке или цитировании данной информации обязательно вставляйте ссылку на источник.