Сценарий переключения для внешних номеров — различия между версиями
Строка 39: | Строка 39: | ||
*в) Если пользователь В недоступен, то после компонента "ВНУТРЕННИЕ", пользователь Б в режиме предпрослушивания услышит короткие гудки "занято", и у него произойдет сброс линии. Это осуществляется с помощью компонента "статус объекта" с помощью функции "мягкий сброс". После этого Октелл вернется А к Б. Также здесь специально поставлен компонент (устанавливающий есть ли линия во флеше), устанавливающий "незвозврат" в 1, так как иначе будут возникать случаи, что после коммутации А и Б, Б повесит трубку, А будет опять возвращаться к нему. | *в) Если пользователь В недоступен, то после компонента "ВНУТРЕННИЕ", пользователь Б в режиме предпрослушивания услышит короткие гудки "занято", и у него произойдет сброс линии. Это осуществляется с помощью компонента "статус объекта" с помощью функции "мягкий сброс". После этого Октелл вернется А к Б. Также здесь специально поставлен компонент (устанавливающий есть ли линия во флеше), устанавливающий "незвозврат" в 1, так как иначе будут возникать случаи, что после коммутации А и Б, Б повесит трубку, А будет опять возвращаться к нему. | ||
− | г) Если пользователь Б не хочет коммутироваться с В, то он услышав первые гудки кладет трубку, тогда А (начинающий с компонента ВНУТРЕННИЕ) успешно коммутируется и ему ставится переменная "невозврат = 1" и "номер возврата" = номер пользователя В. В случае если В недоступен клиент А услышит короткие гудки, и с помощью статуса объект произойдет сброс линии у А. Мягкий сброс затем запускает сценарий вместо отбоя, куда мы вставим компоненты обеспечивающие возврат клиента А к Б (так как была неудачная коммутация) | + | *г) Если пользователь Б не хочет коммутироваться с В, то он услышав первые гудки кладет трубку, тогда А (начинающий с компонента ВНУТРЕННИЕ) успешно коммутируется и ему ставится переменная "невозврат = 1" и "номер возврата" = номер пользователя В. В случае если В недоступен клиент А услышит короткие гудки, и с помощью статуса объект произойдет сброс линии у А. Мягкий сброс затем запускает сценарий вместо отбоя, куда мы вставим компоненты обеспечивающие возврат клиента А к Б (так как была неудачная коммутация) |
Выглядит он следующим образом: | Выглядит он следующим образом: |
Версия 05:26, 15 июля 2013
Сценарий переключения - это IVR сценарий, который запускается всякий раз, когда вы переводите звонок на другого сотрудника. Перевод звонка может осуществляться, например, с помощью кнопки TRAN на ip-телефоне Yealink, а в клиентском приложении при использовании USB гарнитуры мы можем перевести звонок с помощью кнопки Флеш.
В сценарии переключения возникает большое количество различных ситуаций при переводе звонка. В этой статье, мне хотелось бы затронуть каждую из них. Для того, чтобы можно было легко описать каждый случай представим себе, что в компанию позвонил клиент А. Он попадает в главный сценарий (сценарий входящей маршрутизации) и каким-либо образом коммутируется с пользователем/оператором Б. Немного пообщавшись, пользователь Б хочет соединить клиента А с пользователем В. Это будет нашей отправной точкой.
Пользователи Б и В могут быть представлены как внутренними номерами, так и внешними, что дает нам вообще говоря 4 ситуации:
- внутренний пользователь Б переключает на внутреннего пользователя В
- внутренний пользователь Б переключает на внешний номер В
- внешний номер Б переключает на внутреннего пользователя В (только если установлен режим FLASH на внешней линии)
- внешний номер Б переключает на внешнего пользователя В (только если установлен режим FLASH на внешней линии)
Первый вопрос, который встает перед нами - будет ли в самом начале пользователь Б разговаривать с пользователем В, прежде чем переключит А на В.
Если да, то тогда пользователь Б нажимает флеш -> набирает номер -> ожидает ответа пользователя В. Пользователь В, может в свою очередь, как ответить на звонок, так и нет. Но об этом попозже. Клиент А все это время слушает мелодию ожидания. В случае удачного соединения Б и В, пользователь Б (который переключает) должен положить трубку и клиент А соединится с пользователем В.
Если пользователь Б не хочет дожидаться ответа тогда он будет ожидать первых гудков от пользователя В, а а затем положить трубку. Клиент А, в таком случае, должен соединиться с пользователем В. Если пользователь В недоступен, то клиент А услышит короткие гудки. Поэтому здесь важно, чтобы в случае неудачной коммутации клиент А возвратился к пользователю Б. Итого 2 варианта в этом вопросе.
Второй вопрос, который встает перед нами - доступен ли абонент В. Если абонент В недоступен, то клиент А должен опять соединиться с Б. Это добавляет еще 2 варианта.
Таким образом, мы приходим к выводу, что в сценарии переключения у нас могут быть 4*2*2 = 16 различных вариантов, которые все нужны учесть при создании.
Предлагаемый сценарий переключения способен учесть все варианты, но имеет свои особенности, которые будут освещены далее.
- 1. Перевод звонка внутренней линией на внутреннюю. Пользователи Б и В - внутреннии линии.
В таком случае при переводе звонка сценарий пойдет следующим образом:
- а) При нажатии на флеш запустится сценарий переключения. Затем на компоненте "Режим Flash" служебной переменной Режим Flash устанавливается значение 1. Если пользователь Б положит трубку, то у клиента А (который был во Flash буфере) запустится сценарий переключения с того компонента, на котором отключился пользователь Б. Затем в компоненте сравнения "Это внутренний пользователь?" сценарий будет продолжен по ветке Ложь, и переменной "Номер возврата" присвоится номер пользователя Б. В случае неудачного перевода на пользователя В, клиент А вернется именно на этот номер. Затем на компоненте сравнения "флеш пусто?" сценарий перейдет по ветке Ложь и переменной НОМЕР будет присвоен номер пользователя В (с помощью функции CalledId). На компоненте сравнения "Номер Пусто?" в зависимости от типа устройства на котором происходит переключение стандартным образом происходит сборка номера В, до компонента присвоения "На который = Номер". Это обозначает, что номер пользователя В находится в переменной "НАКОТОРЫЙ". Далее происходит набор номера В.
- б)На компоненте "Внутренние" происходит коммутация. Если пользователь Б продолжает ожидать коммутацию и пользователь В берет трубку. То переменной "невозврат" присваивается 1 , а номеру возврата (то есть в случае неудачной коммутации) присваивается номер "НАКОТОРЫЙ", то есть пользователя В. Таким образом у нас всегда есть информация, о том куда звонить клиенту А в случае неудачной коммутации. После разговора пользователь Б положит трубку, и А переключится на В. Также есть возможность пользователю В положить трубку и А соединится с В.
- в) Если пользователь В недоступен, то после компонента "ВНУТРЕННИЕ", пользователь Б в режиме предпрослушивания услышит короткие гудки "занято", и у него произойдет сброс линии. Это осуществляется с помощью компонента "статус объекта" с помощью функции "мягкий сброс". После этого Октелл вернется А к Б. Также здесь специально поставлен компонент (устанавливающий есть ли линия во флеше), устанавливающий "незвозврат" в 1, так как иначе будут возникать случаи, что после коммутации А и Б, Б повесит трубку, А будет опять возвращаться к нему.
- г) Если пользователь Б не хочет коммутироваться с В, то он услышав первые гудки кладет трубку, тогда А (начинающий с компонента ВНУТРЕННИЕ) успешно коммутируется и ему ставится переменная "невозврат = 1" и "номер возврата" = номер пользователя В. В случае если В недоступен клиент А услышит короткие гудки, и с помощью статуса объект произойдет сброс линии у А. Мягкий сброс затем запускает сценарий вместо отбоя, куда мы вставим компоненты обеспечивающие возврат клиента А к Б (так как была неудачная коммутация)
Выглядит он следующим образом:
В самом начале в компоненте "наша линия?" проверяется соответствует ли линия, запустившая сценарий - линии А (которая присвоена в сценарии входящей маршрутизации). Далее сценарий перейдет по ветке "правда" и определит, есть ли номер возврата - если такого не имеется произойдет обрыв связи. Иначе будет третье сравнение, в котором проверяется переменная невозврат, отвечающая за возврат звонка на Б. Происходит пауза 3 секунды, после чего А возвращается к Б. Невозврат затем ставится в состояние 1. (состояние "невозврат" = 1 отвечает за то, что вовзращать к Б не надо). Возврат к Б осуществляется по номеру "номер возврата".
- 2. В случае, когда внутренняя линия переключает на внешний номер (либо сразу набирая внешний , либо переключая на быстрый), можно поставить режим Flash на внешней линии. Подробнее в сценарии набора быстрых/внешних номеров. Остальная маршрутизация звонка при переключении происходит также, как описано выше.
- 3. Чтобы работал перевод звонка с внешнего номера, необходимо добавить во внутренние номера "*", как служебный номер Flash, далее выполнить все действия указанные в этой статье.. Это работает только если в вашем главном сценарии (сценарии входящей маршрутизации) стоит переключение на внутренний номер, который содержит в себе внешний. При вызове через компонент "переключение на внешний номер" вам надо добавить компонент "статус объекта" в сценарии исходящей маршрутизации.