Вопрос

Входящий звонок на групповой номер

Добрый день. При входящем звонке на групповой номер (более одного сотрудника), карточки звонки TS Call center Oktell выбрасывает одновременно у всех звонящих сотрудников.

Но берет трубку только один из них. Но звонки то уже созданы. И создается несколько "ложных" записей в базе на фактически один звонок.
Что посоветует сообщество, кроме удаления группового номера?

Нравится

26 комментариев

Нужно доработать сохранение звонка таким образом, что бы перед добавлением новой записи о звонке еще делалась проверка по полю IntegrationID. В случае ее наличия дубль не делать. Тут конечно есть риск, что во время проверки записи еще нет, а при добавлении она уже есть. Подход очень похож на получение почты несколькими сотрудниками, работающими с одним и тем же почтовым ящиком в Outlook. Там в реализации как раз делается такая хитрая вставка при отсутствии записи одним запросом. Это и позволяет избежать такой ситуации.

причем запись разговора можно прослушать со всех "ложных" записей :)

будем добавлять в базовый функционал такую проверку?

Конечно же можно, ведь IntegrationID у них одинаковый.

Да, в базовой будем делать.

"Карло Сергей" написал:Конечно же можно, ведь IntegrationID у них одинаковый.

клиент был в шоке. менеджеры счастливы ))))

Учтём

+1 Ну так как обойти у меня в офисе групповой вызов?

Александр Ярмоленко
Лайнсервис

Сохранение необходимо реализовать аналогично сохранению E-mail при интеграции письма из Outlook. Там делается не просто INSERT новой записи в БД, а INSERT в случае, если записи еще нет. При этом проверка и вставка делается одним запросом, что позволяет избежать конфликтов и дублирования.

"Карло Сергей" написал:INSERT в случае, если записи еще нет

Реализовал такой вариант на простой схеме: групповой вызов на два номера (абонент1, абонент2), у каждого на экране возникает карточка с новым звонком. Абонент1 берет трубку. При этом - у абонента2 приходит нотифай ChainExit (то есть как бы для него звонок завершен), запись У НЕГО сохраняется, карточка в неактивном виде продолжает висеть на экране. Абонент1, поговорив, вешает трубку - и при этом ему по описанной выше логике НЕ СОХРАНЯТ запись, так как IntegrationID уже есть в таблице в записи от пассивного абонента2. Таким образом, именно активный абонент лишается возможности сохранить результаты звонка и т.д.
Есть, конечно, вариант, что при окончании вызова мы будем искать запись с нужным IdentificationID и делать ее Update - но при этом получается, что проспавший вызов абонент2, увидев-таки когда-нибудь карточку на экране впишет в нее что-либо и пересохранит "хорошую" запись от активного коллеги.
Вывод - карточку для всех "проспавших" вызов надо закрыть (в смысле, совсем закрыть, убрать), как только кто-либо из них поднял трубку. Как только поднимает трубку активный пользователь - всем остальным Oktell отправляет изменение состояния линии - пишем обработчик на OnNotify и можем даже предотвратить сохранение лишних звонков (позакрывать карточки без Dataset.Post) - пусть Post записи идет от активного абонента по завершении им разговора. Вот тут и проблемка - что ж туда отправляет Oktell - ChainExit или еще что-то специфическое?

ООО "Лайнсервис"
www.ls-crm.ru

Сергей, ждем Вашей помощи в нашем нелегком деле!

(c) Help me, Obi-Wan Kenobi; you're my only hope

Придется немного расширить логику при сохранении записи, а именно:
1. Если при сохранении записи в БД уже есть запись с таким IntegrationID, то ее необходимо обновлять только в том случае, если именно текущий оператор общался с абонентом. Эта информация в карточке звонка доступна

2. Если происходит сохранение записи оператором, который не общался с абонентом, и в БД уже есть запись с таким IntegrationID, то необходимо как минимум предупреждать оператора об этом

На счет закрытия карточки звонка для оператора, который не общался с абонентом - абсолютно согласен. Более того, такая доработка уже выполнена, и войдет в версию 3.3.1. Также в этом случае будет добавлена возможность создавать напоминания по пропущенным вызовам.

На счет событий, которые приходят в том или ином случае, могу посоветовать почитать документацию для разработчиков по ссылке http://www.telsystems.ru/loadfile/manual_dev.chm, но сразу замечу, что реально все придется проверять вручную на реальном стенде.

Сергей, спасибо!
по порядку))
1. Идея ясна, осталось разобраться как понять что именно текущий оператор общался, по смене статуса линии опять же не выйходит, надо обдумать.
2. Предупреждение при сохранении сделаем, тут все ясно.
По закрытию лишних карточек - полезно, ждем обновленных сервисов - Сергей, есть ли какие-то сроки?

ООО "Лайнсервис"
www.ls-crm.ru

Александр, добрый день.
Сергей имел ввиду, что данная доработка войдет в версию 3.3.2.

"Ключник Алексей" написал:что данная доработка войдет в версию 3.3.2.

... переход на которую с 3.3.1.31 будет тернист, чует мое сердце.

ООО "Лайнсервис"
www.ls-crm.ru

С

"Александр Кудряшов" написал:переход на которую с 3.3.1.31 будет тернист,

Если конфигурация с доработками, то конечно будут некоторые вопросы, но не более чем обычно.

"Ключник Алексей" написал:не более чем обычно

где наша не пропадала (большой смайл)

Так как основные заморочки у нас с call- модулем то возможно просто оттуда к себе перетащим часть сервисов. Но не будем загадывать, дождемся 3.3.2, там посмотрим))

ООО "Лайнсервис"
www.ls-crm.ru

к 4 кварталу ....

Александр Ярмоленко
Лайнсервис
http://www.ls-crm.ru

"alexsandr yarmolenko" написал:к 4 кварталу ....

Александр, Вы с нетерпением ждете версию 3.3.2?
Если Вам необходимы какие либо исправления раньше, мы можем их Вам предоставить.

"Карло Сергей" написал:Придется немного расширить логику при сохранении записи

Сергей, а если реализовать некий "монитор" карточек звонка - скажем, во временной таблице хранить информацию по каждой открытой карточке и удалять ее при закрытии карточки.
Можно записывать ID звонка, IntegrationID, ID пользователя,
состояние звонка (ожидание ответа, разговор, отбой без разговора и т.д.). По этой информации, мне кажется, будет легко решить не только проблему с групповым звонком, но много других, связанных с одновременной работой нескольких пользователей.

"Ключник Алексей" написал:
Александр, Вы с нетерпением ждете версию 3.3.2?
Если Вам необходимы какие либо исправления раньше, мы можем их Вам предоставить.

Нет, просто константирую факт того что выход 3.3.2 Назначен на октябрь. Про возможность предоставления исправлений меня сергей предупредил спасибо

Александр Ярмоленко
Лайнсервис
http://www.ls-crm.ru

Октябрь - планируемая дата.

"Тимофеев Александр" написал:а если реализовать некий "монитор" карточек звонка - скажем, во временной таблице хранить информацию по каждой открытой карточке и удалять ее при закрытии карточки
Можно конечно так сделать, но временная талица для такой цели - не очень хорошее изменение структуры БД. Не думаю что в коробке будет такое решение, но для себя конечно же такое сделать можно.

Есть ли какие-нить обновления с реализацией групповых номеров? Имеется клиент для которого это критично=(.

Пока никаких доработок не делали. Как только что то появится, обязательно сообщим.

Сергей, что-то новое появилось? Обновление для 3.3.1...
Или самому писать? :confused:

--
www.it-sfera.com.ua

Виталий, добрый день.
Проблема "ложных" записей пока еще осталась, решить проблему планируем в процессе подготовки версии 3.3.2 к выпуску.

Ребят, не знаю как на платформе Terrasoft, но в bpm'online (на примере 7.13) проблема такая имеется. 10 лет прошло с неофицального момента её регистрации в коммунити, а она всё аукается. Решение только для Terrasoft 3х предусмотрели?

Показать все комментарии