Материал из Oktell
Перейти к: навигация, поиск
Занимаемся более глубокой настройкой исходящих звонков и осваиваем азы отладки сценариев.
1. В исходящем сценарии создаем переменную, в которую записываем значение функции (called ID) — номер, на который идет звонок.
2. Так как звонки могут поступать с IP телефонов и с клиентских приложений прописываем в сценарии две ветви. По первой будут идти вызовы, если переменная с номером пустая — номер нужно будет собрать в сценарии. По другой ветви придут вызовы с IP телефонов. В них в переменной уже будет находиться номер на который совершается вызов.
3. Анализируем длину номера. Трехзаначные номера — внутренний вызов. Все остальные — звоним через внешние линии.
4. Для вызовов с клиентских приложений Called ID будет пустым. По этому в компоненте «Воспроизведение с преднабором» собираем номер, на который будем звонить. Завершающий символ — звездочка.
5. Проверка. Отладка. И снова проверка. Работает.
Проверка и сохранение сценариев
Материал из Oktell
Перейти к: навигация, поиск
Техническая документация / Call-центр или Администрирование / Сценарии / Проверка и сохранение сценариев
После создания сценария его можно проверить на корректность на странице «Сохранение». Эта процедура необязательна, но рекомендуема для исключения очевидных «ляпов». В режиме редактирования сценария перейдите на вкладку «Сохранение». Нажмите кнопку «Проверить» внизу и дождитесь окончания.
После проверки в заполненном списке будет приведена статистика по сценарию, а также все замечания и ошибки, которые рекомендуется проанализировать создателю сценария.
Все ошибки и замечания можно классифицировать на 2 типа:
- Общие замечания и ошибки, относящиеся к сценарию в целом (например, отсутствие стартового элемента) необходимо тщательно проанализировать. Общие замечания выводятся перед началом проверки свойств объектов, и вы их увидите в самом начале списка.
- Ошибки и замечания по значениям свойств объектов.
Двойным щелчком мыши на замечаниях и ошибках, которые относятся к отдельным объектам, вы задействуете процедуру автоматического выделения и центрирования соответствующего объекта и осуществите переход на вкладку редактора сценария. Используя инспектор объектов (F11), поправьте ошибку или замечание и вернитесь вновь на вкладку «Сохранение». Такими же двойными щелчками проанализируйте свойства всех объектов, после чего вновь нажмите кнопку «Проверить».
ВНИМАНИЕ! В сценарии могут оставаться некоторые замечания и ошибки, при этом сервер выполнит сценарий корректно с точки зрения логики комплекса Oktell. Но возможно, что при этом некоторые компоненты будут вести себя неожиданно для создателя.
Пример: Ошибками будут помечены все свойства типа «Переход» объектов, для которых не заданы значения, что, впрочем, не приведет к невозможности сохранить сценарий (как локально, так и на сервер). Однако учитывайте, что если обработчик сценария в момент получения объекта обнаружит пустое свойство перехода – он автоматически прервет выполнение сценария (а для сценария IVR — повесит трубку на обрабатываемой линии).
После внесения необходимых изменений сценарий подлежит сохранению. Сохранение производится на той же вкладке «Сохранение». Вы можете задать/изменить имя для созданного или редактируемого сценария. Сохранение сценария проводится локально. Таким образом, можно длительное время редактировать сценарий, который работает в реальном времени на сервере и находится совершенно в иной реализации. Чтобы сохранить сценарий на сервер – нажмите кнопку «На сервер» внизу. При этом будет проведена попытка сохранить сценарий на сервере. В случае неудачи (отсутствие доступа к одному из файлов, если он существует и используется) будет выдано окно с уведомлением. Немного подождите, и попробуйте снова.
Сценарий может быть сохранен в режиме отладки. В этом случае будут отображаться все уведомления, для которых установлено свойство отладки. В нормальном режиме работы они пропускаются. Режим отладки может применяться для создания масштабных сценариев и вывода временных значений. Отключение режима отладки для сценария позволяет не удалять уведомления, заполоняющие экран и полезные только в случае работ по модификации сценария (должен быть установлен соответствующий параметр компонента уведомление). Активация режима происходит соответствующим флажком в разделе информации о сценарии.
Все находящиеся на сервере сценарии доступны для работы, корректирования всеми пользователями, имеющими на то право.
После создания сценария его можно проверить на корректность на странице «Сохранение». Эта процедура необязательна, но рекомендуема для исключения очевидных «ляпов». В режиме редактирования сценария перейдите на вкладку «Сохранение». Нажмите кнопку «Проверить» внизу и дождитесь окончания.
После проверки в заполненном списке будет приведена статистика по сценарию, а также все замечания и ошибки, которые рекомендуется проанализировать создателю сценария.
Все ошибки и замечания можно классифицировать на 2 типа:
-
Общие замечания и ошибки, относящиеся к сценарию в целом (например, отсутствие стартового элемента) необходимо тщательно проанализировать. Общие замечания выводятся перед началом проверки свойств объектов, и вы их увидите в самом начале списка.
-
Ошибки и замечания по значениям свойств объектов.
Двойным щелчком мыши на замечаниях и ошибках, которые относятся к отдельным объектам, вы задействуете процедуру автоматического выделения и центрирования соответствующего объекта и осуществите переход на вкладку редактора сценария. Используя инспектор объектов (F11), поправьте ошибку или замечание и вернитесь вновь на вкладку «Сохранение». Такими же двойными щелчками проанализируйте свойства всех объектов, после чего вновь нажмите кнопку «Проверить».
ВНИМАНИЕ! В сценарии могут оставаться некоторые замечания и ошибки, при этом сервер выполнит сценарий корректно с точки зрения логики комплекса Oktell. Но возможно, что при этом некоторые компоненты будут вести себя неожиданно для создателя.
Пример: Ошибками будут помечены все свойства типа «Переход» объектов, для которых не заданы значения, что, впрочем, не приведет к невозможности сохранить сценарий (как локально, так и на сервер). Однако учитывайте, что если обработчик сценария в момент получения объекта обнаружит пустое свойство перехода – он автоматически прервет выполнение сценария (а для сценария IVR — повесит трубку на обрабатываемой линии).
После внесения необходимых изменений сценарий подлежит сохранению. Сохранение производится на той же вкладке «Сохранение». Вы можете задать/изменить имя для созданного или редактируемого сценария. Сохранение сценария проводится локально. Таким образом, можно длительное время редактировать сценарий, который работает в реальном времени на сервере и находится совершенно в иной реализации. Чтобы сохранить сценарий на сервер – нажмите кнопку «На сервер» внизу. При этом будет проведена попытка сохранить сценарий на сервере. В случае неудачи (отсутствие доступа к одному из файлов, если он существует и используется) будет выдано окно с уведомлением. Немного подождите, и попробуйте снова.
Сценарий может быть сохранен в режиме отладки. В этом случае будут отображаться все уведомления, для которых установлено свойство отладки. В нормальном режиме работы они пропускаются. Режим отладки может применяться для создания масштабных сценариев и вывода временных значений. Отключение режима отладки для сценария позволяет не удалять уведомления, заполоняющие экран и полезные только в случае работ по модификации сценария (должен быть установлен соответствующий параметр компонента уведомление). Активация режима происходит соответствующим флажком в разделе информации о сценарии.
Все находящиеся на сервере сценарии доступны для работы, корректирования всеми пользователями, имеющими на то право.
При настройке Oktell часто бывает нужно создавать свои настройки произвольного характера, которые будут потом использоваться в различных сценариях (служебных, диалоговых, IVR и так далее). Для этого существует насколько вариантов:
1) Хранить настройки в базе и править их руками sql-запросами. Самый простой и самый унылый с точки зрения юзабилити при администрировании.
2) Создание плагина для редактирования настроек (при этом где и как хранятся нужные нам настройки — дело десятое). Очень хорош, весел для пользователя (когда всё в последствии заработат ), но и трудоёмок и не каждому настройщику oktell /администратору под силу.
3) Хранение настроек в текстовых файлах. Коль скоро Октел позволяет в рамках сценария прочитать содержимое текстового файла (компонент файловая операция), почему бы не воспользоваться этой возможностью, тем более, что редактировать и просматривать текстовый файл сильно проще чем таблицу БД.
Рассмотрим как можно организовать храниение и использование некоторых нужных нам настроек в рамках текстового файла на примере практической задачи.
ЗАДАЧА:
У нас есть Oktell, использующийся как ip-pbx. Есть несколько направлений вызова: мобильные, городские, область, междугородние, международные и т.д. Необходимо разграничить права пользователям Oktell по звонкам на эти направлениям. Замечу, речь не об октеловских направляниях, как о совокупности внешних линий, а о направлениях «по смыслу».
В общем случае задача решается через сценарий исходящей маршрутизации (он есть в примере в поставке oktell). Единственное, что нам необходимо, это организация списков направлений и списков разрешения доступа к направлениям. Будем для этого использовать текстовый файл.
РЕШЕНИЕ:
Для того, чтобы было удобнее разбирать конфиг-файл, с учётом наличия в oktell встроенного XML-парсера, оптимальнее всего организовать хранение настроек в xml-форме. Исходя из нашей задачи, предлагаю следующим образом:
<?xml version=»1.0″?>
<directionlist>
<direction name=»Мобильные» regex=»89[0-9]{9}»>
<userlist>
<user id=»B5DEE595-571D-4CDA-B13C-7E089067B1BC» name=»klepov»/>
<user id=»B6D07F51-D675-4818-AE61-AFC12C33FC8E» name=»vinogradova»/>
</userlist>
</direction>
<direction name=»Межгород» regex=»8(?![495|499]{3})[3,4,8]{1}[1-9]{1}[0-9]{8}»>
<userlist>
<user id=»B5DEE595-571D-4CDA-B13C-7E089067B1BC» name=»klepov»/>
<user id=»B6D07F51-D675-4818-AE61-AFC12C33FC8E» name=»vinogradova»/>
</userlist>
</direction>
</directionlist>
Список направлений direction, каждое соотнесение телефона к направлению предлагается сделать через регулярное выражение regex, внутри каждого направления список пользователей, имеющих право на дозвон по направлению (я использовал GUID-ы пользователей, но можно, к примеру, и логины, не принципиально).
Теперь создадим механизм считывания конфиг-файла. Оптимальнее создать специальный сценарий для проверки, а затем использовать его как вложеный (IVR). Для простоты отладки я буду все работы проводить в служебном сценарии:
Алгоритм работы сценария:
1) Считываем значения номера телефона и ИД пользователя (с учётом того, что я отлаживал служебный сценарий и вызывал его из веб-интерфейса oktell, я использовал «Входной параметр 1/2», во вложенный IVR можно передавать через глобальные переменные).
2) Читаем файл (компонент «файловая операция»)
3) Читаем количество направлений в файле (запрос >direction ) и организуем цикл (в качестве счётчика цикла используем переменную с количеством направлений в файле, т.е. просмотр будет вестись с последнего направления) для их просмотра
4) Выбираем направление ‘>direction:eq(‘+[КоличествоНаправлений]+’)’, выбираем регулярное выражение (атрибут regex из направления)
5) Проверяем регулярным выражением, подходит ли телефон на который мы звоним (подан на вход сценария) направлению через тот же компонент парсер.
6) Если номер подходит ищем запросом ‘>>user[id=’+[Пользователь]+’]’ идентификатор нашего пользователя. Если нашли, сценарий возвращает единицу, в знак того, что пользователю по направлению доступ разрешён, в простивном случае идём дальше по циклу.
7) Если телефон не попал ни в одно из направлений либо пользователь в списке разрешённых не найден выходим из цикла с нулём в возвращаемом значении. (Ну и при ошибк возвращаем -1 )
Сценарий: http://yadisk.cc/d/PQO_ue66Plq
Задача решена стандартными средствами Oktell без разного рода хитрых финтов ушами.
Вопросы приветствуются!
Статья Call-центр Oktell (Архив) содержит неполное описание. Чтобы дополнить описание, нам нужно знать, о чем писать. Вы можете помочь нам в этом, отправив письмо на support@bitmaster.ru, указав в теме письма название этой страницы («Call-центр Oktell (Архив)»).
Call-центр Oktell (Архив) — это гибкая коммуникационная платформа, позволяющая автоматизировать телефонное и информационное обслуживание.
Модуль интеграции с call-центром Oktell — это модуль, который позволяет Такси-Мастер работать с call-центром Oktell.
Модуль интеграции с Oktell позволяет автоматизировать входящие и исходящие операторские кампании, организовать автоматизированный обзвон, управлять операторскими ресурсами.
На пользование Oktell предоставляются лицензии, количество которых оговаривается при покупке и зависит от количества внешних и внутренних линий компании. В соответствии с количеством пользователей задается необходимое количество внутренних линий.
Содержание
- 1 Возможности модуля
- 2 Настройка взаимодействия
- 2.1 Схема настройки
- 3 Сценарии
- 3.1 Создание нового сценария
- 3.2 Параметры сессии
- 4 TMOM
- 5 Ссылки
- 6 Дополнительные материалы в блоге Такси-Мастер
Возможности модуля
Модуль интеграции с Oktell предоставляет большие возможности для развития телефонии.
Часто используемые возможности — это:
- Автоматическое определение категории телефона (новый клиент, постоянный клиент, водитель) по номеру, с которого пришел входящий звонок.
- Автоматический отзвон по изменению состояния заказа.
- Голосовое меню (IVR) для клиентов, водителей и операторов.
- Набор номера из карточки заказа
- Запись телефонных разговоров
- Очередь звонков
- Неограниченное количество операторов
- Неограниченное количество внешних/внутренних линий
- Маршрутизация исходящих вызов по типу: мобильные, городские, по операторам мобильной связи
- Удержание вызова
- Музыка в режиме ожидания
- Озвучивание позиции в очереди
- Автосекретарь для исходящей связи: автоматическое информирование клиентов о смене состояния заказа. Например, при принятии заказа водителем, выборе времени за которое он доедет до клиента, автоинформатор позвонит клиенту, проговорит следующую фразу: «Служба заказ такси! Через 10 минут к Вам подъедет черный BMW, гос. номер 777». На любое состояние заказа Такси-Мастер можно назначить индивидуальный автообзвон.
- Автосекретарь для входящей связи: автоматическое информирование клиентов, при входящем звонке, о текущем состоянии заказа.
- Подготовка аудиозаписей для автоинформатора: комплект аудиозаписей, которые используются для работы автоинформатора: фразы приветствия с названием Вашей службы, перечень марок автомобилей, цветов и т.д.
- Автоматический прием заказов с городских телефонных номеров.
- Отчеты о звонках: входящие, исходящие, пропущенные.
- Настройка внутренних линий для офисной телефонии, отделение звонков диспетчерской от офиса.
Настройка взаимодействия
Oktell устанавливается на сервер организации, после чего в окне «Карта сети» Oktell задается взаимодействие компонентов программы для корректной настройки телефонии.
Схема настройки
- Все разновидности телефонии, которые присутствуют в организации, соединяются с сервером Oktell через специальные шлюзы (за исключением SIP-телефонии), которые преобразуют аналоговую информацию в цифровую. Оптимальным вариантом будет использование SIP-телефонии, так как для нее не требуется установка дополнительного оборудования в виде шлюзов и процесс настройки будет не таким трудоемким.
- Все шлюзы соединяются с роутером или свитчем.
- Свитч или роутер непосредственно соединятся с сервером Oktell.
- Также через свитч или роутер происходит соединение каждого рабочего места, то есть персонального компьютера, с сервером Oktell. На каждом рабочем месте установлен программный телефон — софтфон, с помощью которого происходит прием и обработка звонков.
- С компьютерами соединяются USB-гарнитуры.
Пунктирными линиями задается логическая связь телефона с компьютером, то есть call-центр обращается сначала к компьютеру, а компьютер уже непосредственно к телефону.
Сплошными линиями задается прямое взаимодействие call-центра и телефона.
Обратите внимание, что мы не рекомендуем размещать сервер Oktell и сервер Такси-Мастер на одном компьютере при большом объеме заказов.
Сценарии
Сценарий — это последовательная схема задачи действий, которые полностью автоматизируют работу call-центра, используя интерфейс клиентского приложения или иные подручные средства.
Хранение всех сценариев происходит на диске в каталоге проектов в виде папок, содержащих xml файл и прикрепленные к нему дополнительные файлы данных.
В списке перечислены все существующие в Oktell сценарии, которые могут задаваться самостоятельно. Также часть сценариев прошита непосредственно в состав программы и уже существует в Oktell.
В графе Типы располагаются типы сценариев, которые могут быть трех видов:
- Служебные — сценарии, которые обращаются к базе данных, посылают уведомления, осуществляют проверки, принимают и отправляют SMS и могут инициировать звонки. В общем случае это сценарии, которые выполняют различные действия без привязки к линиям и операторам
- Сценарии диалога — сценарии, которые помогают оператору при обработке звонка в call-центр.
- IVR — сценарии, которые представляют собой предварительно записанные голосовые сообщения, выполняющие функцию маршрутизации звонков внутри call-центра. В основном это исходящие телефонные кампании.
Создание нового сценария
Задание нового сценария происходит во вкладке Редактор окна «Сценарии» и происходит с помощью взаимосвязи инструментов. Для перехода в режим редактирования дважды щелкните на названии сценария в таблице или нажмите кнопку Создать внизу.
Редактор сценариев состоит из 3 основных элементов управления:
- Среда визуального представления
- Окно с перечнем доступных компонентов
- Инспектор объектов
Каждый инструмент представляет собой определенную команду действий, которые должны выполнятся последовательно. Сценарий может выглядеть как небольшой набор действий для какой-либо определенной ситуации, например, отзвон клиенту с сообщением о том, что автомобиль на заказ не найден, так и в качестве синтеза небольших наборов в виде алгоритма последовательных действий, оптимально применимых к различным ситуациям, возникающим по ходу приема и выполнения заказа.
По каждому инструменту существует меню Инспектор объектов, которое всплывает при выборе какого-либо инструмента из списка, либо же по нажатию кнопки F11.
Связь задается соединением необходимых инструментов друг с другом сплошной линией, пошаговое выполнение которых представляет собой алгоритм действий, которые будут выполнятся в указанном порядке.
Алгоритм сценария может включать многовариантность действий со всевозможными вариантами развития событий. Варианты задаются в виде разветвления, которое показывает выполняется данное действие или нет.
Подробнее о создании и редактировании сценариев вы можете узнать, перейдя по этой ссылке
Параметры сессии
Параметры сессии в Oktell — это часть сценария, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную. То есть это определенный шаблон действий в Oktell, который находится в базе данных и при каждом звонке предоставляет возможность получать необходимую информацию.
Название | Расшифровка |
---|---|
TMCategory | ИД категории телефона |
TMClientID | ИД клиента, найденный по справочнику «Телефоны клиентов» |
TMClientBalance | Tекущее значение баланса на счету клиента |
TMOrderClientID | ИД клиента, для которого выполняется заказ, обычно совпадает с TMClientID |
TMOperPhone | Номер телефона диспетчера, создавшего заказ |
TMDriverPhone | Номер сотового телефона водителя |
TMPhoneSystemCategory | Тип категории телефона (0 — «обычный», 1 — «черный», 2 — «белый», 3 — «серый») |
TMOrderID | ИД заказа; |
TMDriverID | ИД водителя |
TMDriverTypeID | ИД группы экипажа водителя; |
TMIsPrior | Признак предварительного заказа (0 — обычный, 1 — предварительный) |
TMAutoinformerRecord | Файл с записью информации об автомобиле экипажа |
TMOrderStateID | ИД состояния заказа |
TMConnectionString | Путь к базе данных ([имя сервера]:[путь к файлу]) |
TMCrewSystemState | Тип состояния экипажа (0 — свободен, 1 — не работает, 2 — на заказе, 3 — перерыв) |
TMCrewID | ИД экипажа |
TMSourceStreetName | Наименование улицы адреса подачи |
TMSourceHouse | Номер дома адреса подачи |
TMSourceFlat | Номер квартиры адреса подачи |
TMCallerID | CallerID (номер телефона абонента) |
TMPhoneToDial | Номер телефона, на который необходимо отзвонить по заказу |
TMDriverRemainder | Текущее значение баланса на счету водителя |
TMDiscountedSumm | Cумма заказа |
TMMusicPath | Путь к папке, содержащей файлы озвучки наименований улиц |
TMDriverTimecount | Приблизительное время доезда до адреса подачи в минутах, указываемое водителем через мобильное устройство |
TMSourceTime | Aбсолютное время доезда к адресу подачи |
TMSourceTimecount | Приблизительное время доезда до адреса подачи в минутах, указываемое оператором в карточке заказа |
В зависимости от абонента используются разные наборы дополнительных параметров сессии:
Абонент — водитель |
TMDriverID TMDriverRemainder TMOrderID TMOrderStateID TMCrewID TMCrewSystemState TMDriverTypeID TMSourceStreetName TMSourceHouse TMSourceFlat TMPhoneToDial TMDiscountedSumm |
Абонент — клиент/заказчик |
TMCategory; TMPhoneSystemCategory; TMClientID; (только для клиентов) TMClientBalance; (только для клиентов) TMOrderID; TMOrderClientID; TMIsPrior; TMOrderStateID; TMCrewID; TMDiscountedSumm; TMSourceStreetName; TMSourceHouse; TMSourceFlat; TMPhoneToDial; TMDriverPhone; TMOperPhone; TMAutoinformerRecord; TMDriverTimecount; TMSourceTime; TMSourceTimecount. |
TMOM
TMOM — программа, которая поставляется в комплекте с Такси-Мастер и служит для связи call-центра Oktell и программы Такси-Мастер. В ней задаются основные исходящие телефонные кампании, которые производит фирма.
Создание новой исходящей кампании:
- Запустите программу tmom.exe.
- Чтобы создать новую кампанию в меню «Файл» выберите пункт «Настройки», после чего у вас появится окно «Настройки», которое необходимо заполнить в соответствии с существующей информацией.
- Для того, чтобы осуществить подключение к call-центру Oktell, заполните группу «Подключение к колцентру»:
- В поле Логин введите логин пользователя call-центра.
- В поле Пароль введите пароль пользователя call-центра.
- Нажмите кнопку Тест для проверки правильности ввода логина и пароля. Если подключение было произведено, то индикатор примет зеленый цвет. В противном же случае индикатор примет красный цвет и в поле будет указана причина неуспешного подключения к call-центру.
- Заполните поля группы «Общие настройки»:
- В поле Период обработки заявок (мин) укажите количество минут, в течение которых будет происходить обработка определенной заявки.
- В поле Цвет заголовков таблиц из выпадающего списка выберите тот цвет, которым будут окрашены заголовки таблиц
- Следующим действием необходимо произвести ввод базы данных. Для этого нажмите кнопку Добавить базу данных и в появившемся окне «Новая база данных» введите параметры базы данных:
- В поле Сервер введите ИД сервера Такси-Мастер.
- В поле Путь введите путь к базе данных.
- В поле Логин введите логин пользователя Такси-Мастер.
- В поле Пароль введите пароль пользователя Такси-Мастер.
- Нажмите ОК для подтверждения.
- Теперь у вас полностью заполнена группа «Подключение к базе данных». Нажмите кнопку Тест, чтобы проверить успешность подключения к базе данных. Если подключение было произведено, то индикатор примет зеленый цвет. В противном же случае индикатор примет красный цвет и в поле будет указана причина неуспешного подключения к базе данных.
- Чтобы добавить новую исходящую кампанию нажмите кнопку Добавить исходящую кампанию, после чего у вас появится окно «Новая исходящая компания».
- В окне «Новая исходящая компания» в поле Идентификатор введите номер идентификации исходящей кампании. Для этого нажмите кнопку слева от поля Создать новый идентификатор.
- В поле Тип из предложенного списка выберите тип исходящей кампании. Автоматически при выборе типа в поле Описание появится его краткое содержание.
- Нажмите Оk для подтверждения создания новой кампании.
- В группе «Параметры исходящей кампании» задайте необходимые настройки для кампании:
- В поле Идентификатор автоматически проставляется идентификационный номер новой кампании.
- В поле Наименование введите название кампании.
- В поле Служебный сценарий укажите сценарий, в котором будет использоваться данная исходящая кампания.
- Нажмите кнопку Сохранить.
Теперь автоинформатор будет проводить оповещение согласно созданной кампании. Он будет автоматически видеть заказы и производить звонки для донесения соответствующей информации в рамках сценария. Обратите внимание на то, что во время работы программы Такси-Мастер tmom должен быть включен для взаимосвязи процессов.
Для каждого автомобиля необходимо задать звуковые сообщения для уведомления клиента о подаче экипажа, которые включают в себя общее описание автомобиля, его цвет, государственный номер и марку. Эти данные автоинформатор будет проговаривать клиенту при отзвоне.
Задать звуковые файлы для автомобиля можно в справочнике «Автомобили» в соответствующих полях группы «Звуковые файлы или записи из медиатеки» в карточке конкретно выбранного автомобиля.
Необходимо задать путь к конкретному звуковому файлу из библиотеки Oktell, который будет соответствовать общему описанию, марке и цвету автомобиля. Звуковой файл для государственного номера можно не задавать, поскольку Oktell произносит автоматически тот номер автомобиля, который соответствует его номеру в карточке. Часть звуков уже включена в состав библиотеки, а необходимые звуковые файлы вы можете записать самостоятельно.
Подключение и настройку call-центра Oktell полностью производит техническая поддержка.
Ссылки
- http://oktell-systems.ru/ — официальный сайт call-центра Oktell.
- http://wiki.oktell.ru/Заглавная_страница — документация по call-центру Oktell.
- http://www.taximaster.ru/solutions/oktell — информация про модуль интеграции с call-центром Oktell.
- http://ru.wikipedia.org/wiki/Call-центр — о call-центрах на Википедии.
- http://ru.wikipedia.org/wiki/IVR — об интерактивном голосовом меню на Википедии.
Дополнительные материалы в блоге Такси-Мастер
- Отчет такси: статистика звонков
- Статистика звонков — один из важнейших отчетов для службы такси. Благодаря анализу статистики вы поймете, стоит ли подключать больше линий связи, увеличивать или сокращать штат операторов, улучшать систему мотивации для диспетчеров.
Содержание
- Проблемы с исходящими звонками
- Содержание
- Описание проблемы
- Диагностика с помощью лога TRN
- Урок 25 Маршрутизация исходящих вызовов
- Содержание
- Введение
- Сценарий исходящей маршрутизации
- Блок: Определение набранного номера
- Блок: Набор номера в сценарии
- Блок: Анализ номера и маршрутизация вызова
- Назначение сценария
- Сценарий набора быстрых/внешних номеров
- Назначение сценария
Проблемы с исходящими звонками
Содержание
Описание проблемы
Проблема: Не получается совершить исходящий звонок.
1. Проверьте следующие сценарии:
- Сценарий исходящей маршрутизации. Линии провайдера должны быть отмечены в компоненте «Переключение на внешний номер» (свойство «Направления»). Возможен вариант выбора «Все линии».
Также проверьте свойства компонента «Caller Id» и «Caller Name». Вы можете использовать эти поля только в том случае, если провайдер связи разрешает подмену номера. Если такой возможности нет, удалите данные из этого поля.
- Сценарий автодозвона и сценарий набора внешних/быстрых номеров. Линии провайдера должны быть отмечены в компоненте «Дозвон» (свойство «Направления»). Возможен вариант выбора «Все линии«.
Внимательно проверьте логику данных сценариев. Напоминаем, что после компонента «Переключение» должен стоять компонент «Стоп», а не «Обрыв связи».
2. Проверьте в модуле Администрирование/Мониторинг, зарегистрированы ли внешние линии (имеют значок в виде зеленой трубки). В случае проблем, обратитесь к статье Не устанавливается регистрация на сервере SIP провайдера
3. В модуле Администрирование/Параметры аппаратуры в настройках шлюза укажите явный интерфейс для соединения. По умолчанию, default — автоматическое определение интерфейса.
4. Поинтересуйтесь у провайдера на какие номера (направления) вы можете совершать исходящие звонки. Возможно, вам разрешено делать звонки только на городские линии.
5. Возможно, у провайдера связи неисправности с оборудованием. Уточните этот вопрос, позвонив в его техническую поддержку.
Диагностика с помощью лога TRN
Точнее всего диагностировать данную проблему можно анализируя лог-журналы oktell или трассировку пакетов wireshark, но для этого необходимо иметь определенные знания sip-протокола. Воспользуйтесь сборщиком лог-журналов (подробнее в статье Сборка_лог-журналов) и соберите лог-журнал(hardwaresiptrn) за время +- 10 минут с момента попытки перерегистрации. Также лог-журнал вы можете найти в папке oktellserverLogHardwareSIPtrn_[дата].log.
В логе trn фиксируются все поступившие пакеты на сервер Oktell. Найдите пакет Invite, который был отправлен провайдеру. По Call-ID пакета найдите ответ от провайдера, в котором может содержаться причина неисправности. С этой ошибкой вы также можете обратиться к провайдеру связи для разъяснения. Расшифровку SIP-ответов можете прочитать в статье SIP ответы и их значения.
Пример совершения исходящего звонка на SIPNET: Oktell отправляет пакет Invite и получает ответ 100 Trying. Если посмотреть далее, то можно увидеть ответ 200 OK, который обозначает успешное соединение. В случае проблем вы можете увидеть ответ с кодом ошибкой, например 503 Service Unavailable. Расшифровку SIP-ответов можете прочитать в статье SIP ответы и их значения.
Источник
Урок 25 Маршрутизация исходящих вызовов
Содержание
Введение
На прошлом уроке мы разбирались с приемом и обработкой входящих соединений, на этом уроке мы разберемся с исходящими вызовами. Все исходящие вызовы разделяют на две группы — исходящие на внешние линии и внутренние звонки (на внутренние линии).
В системе Oktell совершить исходящий звонок различными способами:
- Когда пользователь системы набирает номер со своего устройства запускается сценарий IVR исходящей маршрутизации
- Во время перевода звонка используется сценарий IVR маршрутизации при переводе звонка (если он отсутствует используется сценарий исходящей маршрутизации)
- Если вызов номера происходит в рамках сбора конференции, запускается служебный сценарий набора внешних/быстрых номеров (если приглашен внешний номер) или служебный сценарий набора внутренних номеров при приглашении в конференцию (если приглашен внутренний номер)
- Система может самостоятельно инициировать звонок, например, через служебный сценарий, сервис автодозвона или менеджер задач.
В каждом из этих сценариев в первую очередь определяется тип набранного номера: внутренний или внешний. Если набран внешний — необходимо определить по каким линиям пойдет набор, это требуется для оптимизации расходов. Например, для совершения междугородних вызовов по всей России потребуется особый тарифный план от крупного провайдера связи, а звонки на мобильные дешевле совершать через специальную SIM-карту в SIP-GSM шлюзе. Для этого выполняются необходимые проверки, например на длину номера, время совершения звонка, производятся запросы во внешние сервисы и обращение к базам данных. В итоге определяется выбор направления и совершается звонок. Особое внимание следует обратить защите от несанкционированных звонков на международные или платные короткие номера — их желательно запретить полностью или установить пароль доступа.
Сценарий исходящей маршрутизации
IVR сценарий маршрутизации исходящих вызовов — системный сценарий для набора внутренних и внешних номеров пользователями системы. Сценарий запускается во время набора номера с внутренней линии (IP-телефон, гарнитура, USB-телефон).
ВНИМАНИЕ: В этом и есть отличие, между внутренними и внешними линиями. Любой вызов с внешней линии попадает в IVR сценарий входящей маршрутизации, а вызовы с внутренних линий — в IVR сценарий исходящей маршрутизации.
Начиная проектирование сценария необходимо принять во внимание, что большинство IP-телефонов и софтфонов могут сразу передавать информацию о набранном номере еще до входа в сценарий, а аналоговые телефоны и USB-телефоны набирают номер уже после соединения. Если в первом случае можно определить набранный номер с помощью функции «Внешний номер (CalledId)«, то во втором — придется реализовывать набор номера в сценарии. Таким образом, мы получаем следующие блоки:
- 1й блок будет анализировать есть ли набранный номер
- 2й даст возможность совершить набор номера, если устройство его не передало
- 3й произведет анализ набранного номера и совершит маршрутизацию по соответствующим направлениям.
Рассмотрим стандартный сценарий исходящей маршрутизации, который включен изначально в дистрибутив Oktell. Сценарий выглядит следующим образом:
Блок: Определение набранного номера
Компонент «НОМЕР=CalledID«. Определяет набранный номер и сохраняет его в переменную.
- Переменной «НОМЕР» (строка) присваиваем значение функции CalledID(внешний номер)
Компонент «Номер пусто?«. Маршрутизирует пользователя на блок ввода номера, если набранный номер пуст.
- Аргумент 1 — переменная «НОМЕР«
- Аргумент 2 — пустая строка
- Тип сравнения — «=«
Если равенство не выполнится — это будет означать,что некий набранный номер существует, мы сразу перейдем к блоку анализа набранного номера с последующей маршрутизацией.
Блок: Набор номера в сценарии
Если набранный номер равен пустоте это означает что устройство никакую информацию нам не передало, а значит необходимо вручную организовать набор номера.
Компонент «Начинаем собирать номер«. Используется воспроизведение с преднабором, цель которого получить первый цифру набираемого номера.
- Файл — выберем файл с длинным гудком, snd_city_60_50sek.wav. Файл можно найти в папке OktellServerSnd
- Буфер для DTMF — переменная «НОМЕР»
- Очистить буфер — Да
- Макс время, с — 20
- Количество символов — 1, определяет минимальное количество символов для набора номера.
- Переход — на компонент «Начинаем собирать номер»
- Переход, таймаут — на компонент «Обрыв связи«. Если в течении 20 секунд (параметр Макс время, с) пользователь не набрал ни одного символа, сценарий завершается.
Компонент «+1 цифра«. Производит донабор номера — компонент принимает следующую цифру и добавляет ее в переменную «НОМЕР»
- Буфер для DTMF — переменная «НОМЕР»
- Очистить буфер — Такая настройка поможет записывать полученные символы в конец переменной не затирая предыдущее значение.
- Макс время, с — 3, по истечению этого времени считается что набор номера произведен.
- Количество символов — 1
- Переход — на компонент «Пауза 2»
- Переход, таймаут — на компонент «Длина номера».
Компоненты «Пауза 2» и «Пауза 3» с нулевой задержкой позволяют пользователю набирать столько цифр, сколько он пожелает. Как только пользователь перестанет набирать символы, то по истечению 3х секунд (параметр Макс время, с) сценарий будет считать, что номер набран и перейдет к следующему блоку. С помощью такой схемы мы зацикливаем ввод, давая таким образом пользователя по 3 секунды на ввод каждой цифры.
Блок: Анализ номера и маршрутизация вызова
Данный блок фактически является основной частью сценария. Здесь необходимо произвести анализ набранного номера и маршутизировать коммутацию на соответствующие направления. Если вам и придется делать какие-либо изменения, то, как правило, вы будет производить их именно в этой части сценария.
Компонент «Длина номера» — меню, задача которого определить тип набираемого номера и направить пользователя в соответствующую ветку.
- Аргумент — выражение Len( [НОМЕР] ) , которое определяет длину набранного номера
- Значения:
3 — на компонент «->».
- Переход, прочее — на компонент «Внешние»
Таким образом, если длина номера составляет 3 символа,осуществляем переключения на внутренние номера. Если же аргумент принимает прочие значения,то осуществляем переход на компонент переключение на внешние линии, с указанием направлений.
ВНИМАНИЕ: Если у вас используются четырехзначные внутренние номера, вам нужно добавить в меню обработку длины номера в 4 символа. Здесь же иногда приходится добавлять ветку по длине номера в 10 символов — когда менеджеры набирают номер без «8» (или «7») спереди номера, например, 9171112233. В этом случае нужно преобразовать номер, добавив 8′ с помощью выражения: 8’+[НОМЕР].
Компонент «ВНЕШНИЕ» — переключение на внешние линии.
- Номер — переменная «НОМЕР».
- Тип набора — Без преобразований.
- Тип вызова — Обычный
- Направления — указываем внешние линии через которые должны осуществляться звонки на внешнюю сеть. По умолчанию, установлено «Все внешние линии».
- Коммутировать сразу — выбираем: нет,прослушивать медиа-поток.
Значение «Нет, прослушивать медиа-поток» означает, что пока внешний абонент не поднимет трубку (ответ 200 OK), внутреннему пользователю Oktell будет воспроизводить гудки. Если звонок неудачный в статистике АТС вы увидите неудачную попытку и записи разговора не будет. Если выставить свойству значение «Нет, воспроизводить мелодию«, то вместо собственных гудков Oktell будет воспроизводить указанный файл.
Значение «Да» (то есть коммутировать сразу) означает полную передачу звука от провайдера, а также сразу засчитывание данной попытки как полноценной коммутации. В статистике АТС вы увидите полноценный разговор (хотя по факту его не было, например не подняли трубку). Отличие от предыдущего значения в том, что все звонки считаются успешными. Как правило, это портит статистику и применяется в редких случаях.
- Переход — на компонент «Стоп 2»
- Все остальные переходы — на компонент воспроизведения «busy«
ВНИМАНИЕ: Как правило, перед этим переключением находится еще ряд различных сравнений и функций, определяющих первые цифры номера, на какое направление его выгоднее направить. Возможно, обращение к внешним сервисам или базе данных для реализации какого-либо функционала. Подробнее можно прочитать в статье Выбор исходяшей линии по маске.
Компонент «ВНУТРЕННИЕ» — переключение на внутренние линии.
- Назначение — Внутрь
- Номер — переменная «НОМЕР»
- Тип вызова — Обычный
- Очередь ожидания — Нет
- Время ожидания ответа — 20.
- Переход — на компонент «Стоп 2»
- Все остальные переходы — на компонент воспроизведения «busy«
Компонент «busy» — воспроизводит короткие гудки в случае неудачного соединения
- Режим — Файл полностью.
- Файл — выберем файл с длинным гудком, snd_busy_120sek.wav. Файл можно найти в папке OktellServerSnd
Переход — на компонент «Обрыв связи».
Таким образом, в случае отрицательного перехода,например вызываемый абонент не отвечает или не найдены внешние свободные линии — пользователь Oktell услышит короткие гудки, после чего сможет положить трубку.
ВНИМАНИЕ: Вместо коротких гудков вы можете вставить файл с записью причины отбоя. Например, после неудачного соединения вам в трубку произносится «К сожалению, номер занят. Чтобы оставить голосовое сообщение нажмите 1». Здесь можно использовать любой другой функционал, например сервис автодозвона или сервис уведомлений, когда номер освободится.
Назначение сценария
Сценарий исходящей маршрутизации назначается в модуле Администрирование/Общие настройки на вкладке «Сценарии АТС«. Для того, чтобы назначить сценарий выберите его в выпадающем списке напротив соответствующей строки и поставьте крестик для его активации, затем сохраните настройки. После выполнения данных действий сценарий будет дополнительно подсвечен синим цветом в списке.
Сценарий набора быстрых/внешних номеров
Что будет, если пользователь наберет быстрый номер? К примеру, пусть в системе имеется быстрый номер 500, под которым подразумевается внешний 84955294989. Когда пользователь совершит вызов, сценарий занесет в переменную НОМЕР значение 500. В связи с тем, что длина номера 3 знака — сценарий передаст управление компоненту «ВНУТРЕННИЕ», который попытается его набрать. На этом этапе система, обращается в свою базу данных и понимает, что на самом деле это внешний номер, а значит необходимо определить внешние линии, через которые он будет набираться.
На помощь нам приходит служебный сценарий набора быстрых/внешних номеров, на вход которого передается внешний номер для набора. В ходе работы сценарий должен определить внешние направления для совершения звонка и вернуть управление в сценарий исходящей маршрутизации (или другой управляющий модуль, который запустил этот сценарий).
ВНИМАНИЕ: В этом сценарии рекомендуется определить ту же логику оптимального выбора линии, как и в IVR сценарии исходящей маршрутизации. В противном случае, вы рискуете звонить на междугородние номера через местные городские линии, а в конце месяца получить немалый счет.
После выбора этих параметров сценарий завершается и возвращается в IVR исходящей маршрутизации, который произведет набор и продолжит свое выполнение.
Сценарий набора быстрых внешних/номеров запускается для следующих ситуаций:
- Идет набор быстрого номера
- Происходит набор внутреннего стандартного номера, в котором содержится хотя бы один внешний номер. Например, при наборе группового номера, в котором вызывается два внутренних пользователя и один внешний мобильный.
- Вызывается внешний номер из конференц-связи
- Установлена переадресация на внешний номер
Рассмотрим стандартный служебный сценарий набора быстрых/внешних номеров, который изначально включен в состав дистрибутива:
Компонент «Старт 1«. На вход сценария передается внешний номер, который необходимо набрать. Для сохранения параметра запуска используется переменная Номер (строковая).
Компонент «На внешку«. Требуется для определения внешних направлений и передачи управления обратно в управляющий модуль.
- Номер/команда — переменная «Номер«
- Среда — Внешняя сеть
- Обслуживание — Управляющий модуль, обязательная настройка для корректной работы сценария.
- Тип вызова — Обычный
- Направления — выберите линии или направления для совершения вызова. По умолчанию, используются все внешние линии.
- Фильтровать по правам — Нет.
После завершения сценария, управление возвращается в сценарий исходящей маршрутизации, где происходит набор номера и переход по соответствующим веткам.
Назначение сценария
Сценарий быстрых/внешних номеров назначается в модуле Администрирование/Общие настройки на вкладке «Сценарии АТС«. Для того, чтобы назначить сценарий выберите его в выпадающем списке напротив соответствующей строки и поставьте крестик для его активации, затем сохраните настройки.
Поздравляем! Теперь вы умеете строить маршрутизацию исходящих вызовов. Можете переходить к следующему уроку.
Источник