Сценарий переключения для внешних номеров — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 29: Строка 29:
 
[[Файл:Перекл.png]]
 
[[Файл:Перекл.png]]
  
1. Перевод звонка внутренней линией на внутреннюю. Пользователи Б и В - внутреннии линии.  
+
*1. Перевод звонка внутренней линией на внутреннюю. Пользователи Б и В - внутреннии линии.  
  
 
В таком случае при переводе звонка сценарий пойдет следующим образом:  
 
В таком случае при переводе звонка сценарий пойдет следующим образом:  
  
а) При нажатии на флеш запустится сценарий переключения. Затем на компоненте "Режим Flash" служебной переменной Режим Flash устанавливается значение 1. Если пользователь Б положит трубку, то у клиента А (который был во Flash буфере) запустится сценарий переключения с того компонента, на котором отключился пользователь Б. Затем в компоненте сравнения "Это внутренний пользователь?" сценарий будет продолжен по ветке Ложь, и переменной "Номер возврата" присвоится номер пользователя Б. В случае неудачного перевода на пользователя В, клиент А вернется именно на этот номер. Затем на компоненте сравнения "флеш пусто?" сценарий перейдет по ветке Ложь и переменной НОМЕР будет присвоен номер пользователя В (с помощью функции CalledId). На компоненте сравнения "Номер Пусто?" в зависимости от типа устройства на котором происходит переключение стандартным образом происходит сборка номера В, до компонента присвоения "На который = Номер". Это обозначает, что номер пользователя В находится в переменной "НАКОТОРЫЙ". Далее происходит набор номера В.  
+
*а) При нажатии на флеш запустится сценарий переключения. Затем на компоненте "Режим Flash" служебной переменной Режим Flash устанавливается значение 1. Если пользователь Б положит трубку, то у клиента А (который был во Flash буфере) запустится сценарий переключения с того компонента, на котором отключился пользователь Б. Затем в компоненте сравнения "Это внутренний пользователь?" сценарий будет продолжен по ветке Ложь, и переменной "Номер возврата" присвоится номер пользователя Б. В случае неудачного перевода на пользователя В, клиент А вернется именно на этот номер. Затем на компоненте сравнения "флеш пусто?" сценарий перейдет по ветке Ложь и переменной НОМЕР будет присвоен номер пользователя В (с помощью функции CalledId). На компоненте сравнения "Номер Пусто?" в зависимости от типа устройства на котором происходит переключение стандартным образом происходит сборка номера В, до компонента присвоения "На который = Номер". Это обозначает, что номер пользователя В находится в переменной "НАКОТОРЫЙ". Далее происходит набор номера В.  
  
б)На компоненте "Внутренние" происходит коммутация. Если пользователь Б продолжает ожидать коммутацию и пользователь В берет трубку. То переменной "невозврат" присваивается 1 , а номеру возврата (то есть в случае неудачной коммутации) присваивается номер "НАКОТОРЫЙ", то есть пользователя В. Таким образом у нас всегда есть информация, о том куда звонить клиенту А в случае неудачной коммутации. После разговора пользователь Б положит трубку, и А переключится на В. Также есть возможность пользователю В положить трубку и А соединится с В.  
+
*б)На компоненте "Внутренние" происходит коммутация. Если пользователь Б продолжает ожидать коммутацию и пользователь В берет трубку. То переменной "невозврат" присваивается 1 , а номеру возврата (то есть в случае неудачной коммутации) присваивается номер "НАКОТОРЫЙ", то есть пользователя В. Таким образом у нас всегда есть информация, о том куда звонить клиенту А в случае неудачной коммутации. После разговора пользователь Б положит трубку, и А переключится на В. Также есть возможность пользователю В положить трубку и А соединится с В.  
  
в) Если пользователь В недоступен, то после компонента "ВНУТРЕННИЕ", пользователь Б в режиме предпрослушивания услышит короткие гудки "занято", и у него произойдет сброс линии. Это осуществляется с помощью компонента "статус объекта" с помощью функции "мягкий сброс". После этого Октелл вернется А к Б. Также здесь специально поставлен компонент (устанавливающий есть ли линия во флеше), устанавливающий "незвозврат" в 1, так как иначе будут возникать случаи, что после коммутации А и Б, Б повесит трубку, А будет опять возвращаться к нему.  
+
*в) Если пользователь В недоступен, то после компонента "ВНУТРЕННИЕ", пользователь Б в режиме предпрослушивания услышит короткие гудки "занято", и у него произойдет сброс линии. Это осуществляется с помощью компонента "статус объекта" с помощью функции "мягкий сброс". После этого Октелл вернется А к Б. Также здесь специально поставлен компонент (устанавливающий есть ли линия во флеше), устанавливающий "незвозврат" в 1, так как иначе будут возникать случаи, что после коммутации А и Б, Б повесит трубку, А будет опять возвращаться к нему.  
  
 
г) Если пользователь Б не хочет коммутироваться с В, то он услышав первые гудки кладет трубку, тогда А (начинающий с компонента ВНУТРЕННИЕ) успешно коммутируется и ему ставится переменная "невозврат = 1" и "номер возврата" = номер пользователя В. В случае если В недоступен клиент А услышит короткие гудки, и с помощью статуса объект произойдет сброс линии у А. Мягкий сброс затем запускает сценарий вместо отбоя, куда мы вставим компоненты обеспечивающие возврат клиента А к Б (так как была неудачная коммутация)  
 
г) Если пользователь Б не хочет коммутироваться с В, то он услышав первые гудки кладет трубку, тогда А (начинающий с компонента ВНУТРЕННИЕ) успешно коммутируется и ему ставится переменная "невозврат = 1" и "номер возврата" = номер пользователя В. В случае если В недоступен клиент А услышит короткие гудки, и с помощью статуса объект произойдет сброс линии у А. Мягкий сброс затем запускает сценарий вместо отбоя, куда мы вставим компоненты обеспечивающие возврат клиента А к Б (так как была неудачная коммутация)  
Строка 47: Строка 47:
 
В самом начале в компоненте "наша линия?" проверяется соответствует ли линия, запустившая сценарий - линии А (которая присвоена в сценарии входящей маршрутизации). Далее сценарий перейдет по ветке "правда" и определит, есть ли номер возврата - если такого не имеется произойдет обрыв связи. Иначе будет третье сравнение, в котором проверяется переменная невозврат, отвечающая за возврат звонка на Б. Происходит пауза 3 секунды, после чего А возвращается к Б. Невозврат затем ставится в состояние 1. (состояние "невозврат" = 1 отвечает за то, что вовзращать к Б не надо). Возврат к Б осуществляется по номеру "номер возврата".
 
В самом начале в компоненте "наша линия?" проверяется соответствует ли линия, запустившая сценарий - линии А (которая присвоена в сценарии входящей маршрутизации). Далее сценарий перейдет по ветке "правда" и определит, есть ли номер возврата - если такого не имеется произойдет обрыв связи. Иначе будет третье сравнение, в котором проверяется переменная невозврат, отвечающая за возврат звонка на Б. Происходит пауза 3 секунды, после чего А возвращается к Б. Невозврат затем ставится в состояние 1. (состояние "невозврат" = 1 отвечает за то, что вовзращать к Б не надо). Возврат к Б осуществляется по номеру "номер возврата".
  
2. В случае, когда внутренняя линия переключает на внешний номер (либо сразу набирая внешний , либо переключая на быстрый), можно поставить режим Flash на внешней линии. Подробнее [http://wiki.oktell.ru/%D0%95%D1%81%D0%BB%D0%B8_%D0%B7%D0%B2%D0%BE%D0%BD%D0%BE%D0%BA_%D0%BF%D1%80%D0%B8%D0%BD%D1%8F%D1%82_%D0%BD%D0%B0_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC._%D0%9A%D0%B0%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C_%D0%B5%D0%B3%D0%BE_%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE_%D0%B2_%D0%BE%D1%84%D0%B8%D1%81 в сценарии набора быстрых/внешних номеров]. Остальная маршрутизация звонка при переключении происходит также, как описано выше.  
+
*2. В случае, когда внутренняя линия переключает на внешний номер (либо сразу набирая внешний , либо переключая на быстрый), можно поставить режим Flash на внешней линии. Подробнее [http://wiki.oktell.ru/%D0%95%D1%81%D0%BB%D0%B8_%D0%B7%D0%B2%D0%BE%D0%BD%D0%BE%D0%BA_%D0%BF%D1%80%D0%B8%D0%BD%D1%8F%D1%82_%D0%BD%D0%B0_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC._%D0%9A%D0%B0%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C_%D0%B5%D0%B3%D0%BE_%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE_%D0%B2_%D0%BE%D1%84%D0%B8%D1%81 в сценарии набора быстрых/внешних номеров]. Остальная маршрутизация звонка при переключении происходит также, как описано выше.  
 
----
 
----
  
 
----
 
----

Версия 15:05, 12 июля 2013

Сценарий переключения - это IVR сценарий, который запускается всякий раз, когда вы переводите звонок на другого сотрудника. Перевод звонка может осуществляться, например, с помощью кнопки TRAN на ip-телефоне Yealink, а в клиентском приложении при использовании USB гарнитуры мы можем перевести звонок с помощью кнопки Флеш.

В сценарии переключения возникает большое количество различных ситуаций при переводе звонка. В этой статье, мне хотелось бы затронуть каждую из них. Для того, чтобы можно было легко описать каждый случай представим себе, что в компанию позвонил клиент А. Он попадает в главный сценарий (сценарий входящей маршрутизации) и каким-либо образом коммутируется с пользователем/оператором Б. Немного пообщавшись, пользователь Б хочет соединить клиента А с пользователем В. Это будет нашей отправной точкой.

Пользователи Б и В могут быть представлены как внутренними номерами, так и внешними, что дает нам вообще говоря 4 ситуации:

  • внутренний пользователь Б переключает на внутреннего пользователя В
  • внутренний пользователь Б переключает на внешний номер В
  • внешний номер Б переключает на внутреннего пользователя В (только если установлен режим FLASH на внешней линии)
  • внешний номер Б переключает на внешнего пользователя В (только если установлен режим FLASH на внешней линии)

Первый вопрос, который встает перед нами - будет ли в самом начале пользователь Б разговаривать с пользователем В, прежде чем переключит А на В.

Если да, то тогда пользователь Б нажимает флеш -> набирает номер -> ожидает ответа пользователя В. Пользователь В, может в свою очередь, как ответить на звонок, так и нет. Но об этом попозже. Клиент А все это время слушает мелодию ожидания. В случае удачного соединения Б и В, пользователь Б (который переключает) должен положить трубку и клиент А соединится с пользователем В.

Если пользователь Б не хочет дожидаться ответа тогда он будет ожидать первых гудков от пользователя В, а а затем положить трубку. Клиент А, в таком случае, должен соединиться с пользователем В. Если пользователь В недоступен, то клиент А услышит короткие гудки. Поэтому здесь важно, чтобы в случае неудачной коммутации клиент А возвратился к пользователю Б. Итого 2 варианта в этом вопросе.

Второй вопрос, который встает перед нами - доступен ли абонент В. Если абонент В недоступен, то клиент А должен опять соединиться с Б. Это добавляет еще 2 варианта.

Таким образом, мы приходим к выводу, что в сценарии переключения у нас могут быть 4*2*2 = 16 различных вариантов, которые все нужны учесть при создании.




Предлагаемый сценарий переключения способен учесть все варианты, но имеет свои особенности, которые будут освещены далее.

Перекл.png

  • 1. Перевод звонка внутренней линией на внутреннюю. Пользователи Б и В - внутреннии линии.

В таком случае при переводе звонка сценарий пойдет следующим образом:

  • а) При нажатии на флеш запустится сценарий переключения. Затем на компоненте "Режим Flash" служебной переменной Режим Flash устанавливается значение 1. Если пользователь Б положит трубку, то у клиента А (который был во Flash буфере) запустится сценарий переключения с того компонента, на котором отключился пользователь Б. Затем в компоненте сравнения "Это внутренний пользователь?" сценарий будет продолжен по ветке Ложь, и переменной "Номер возврата" присвоится номер пользователя Б. В случае неудачного перевода на пользователя В, клиент А вернется именно на этот номер. Затем на компоненте сравнения "флеш пусто?" сценарий перейдет по ветке Ложь и переменной НОМЕР будет присвоен номер пользователя В (с помощью функции CalledId). На компоненте сравнения "Номер Пусто?" в зависимости от типа устройства на котором происходит переключение стандартным образом происходит сборка номера В, до компонента присвоения "На который = Номер". Это обозначает, что номер пользователя В находится в переменной "НАКОТОРЫЙ". Далее происходит набор номера В.
  • б)На компоненте "Внутренние" происходит коммутация. Если пользователь Б продолжает ожидать коммутацию и пользователь В берет трубку. То переменной "невозврат" присваивается 1 , а номеру возврата (то есть в случае неудачной коммутации) присваивается номер "НАКОТОРЫЙ", то есть пользователя В. Таким образом у нас всегда есть информация, о том куда звонить клиенту А в случае неудачной коммутации. После разговора пользователь Б положит трубку, и А переключится на В. Также есть возможность пользователю В положить трубку и А соединится с В.
  • в) Если пользователь В недоступен, то после компонента "ВНУТРЕННИЕ", пользователь Б в режиме предпрослушивания услышит короткие гудки "занято", и у него произойдет сброс линии. Это осуществляется с помощью компонента "статус объекта" с помощью функции "мягкий сброс". После этого Октелл вернется А к Б. Также здесь специально поставлен компонент (устанавливающий есть ли линия во флеше), устанавливающий "незвозврат" в 1, так как иначе будут возникать случаи, что после коммутации А и Б, Б повесит трубку, А будет опять возвращаться к нему.

г) Если пользователь Б не хочет коммутироваться с В, то он услышав первые гудки кладет трубку, тогда А (начинающий с компонента ВНУТРЕННИЕ) успешно коммутируется и ему ставится переменная "невозврат = 1" и "номер возврата" = номер пользователя В. В случае если В недоступен клиент А услышит короткие гудки, и с помощью статуса объект произойдет сброс линии у А. Мягкий сброс затем запускает сценарий вместо отбоя, куда мы вставим компоненты обеспечивающие возврат клиента А к Б (так как была неудачная коммутация)

Выглядит он следующим образом:

Вместо отбоя.png

В самом начале в компоненте "наша линия?" проверяется соответствует ли линия, запустившая сценарий - линии А (которая присвоена в сценарии входящей маршрутизации). Далее сценарий перейдет по ветке "правда" и определит, есть ли номер возврата - если такого не имеется произойдет обрыв связи. Иначе будет третье сравнение, в котором проверяется переменная невозврат, отвечающая за возврат звонка на Б. Происходит пауза 3 секунды, после чего А возвращается к Б. Невозврат затем ставится в состояние 1. (состояние "невозврат" = 1 отвечает за то, что вовзращать к Б не надо). Возврат к Б осуществляется по номеру "номер возврата".

  • 2. В случае, когда внутренняя линия переключает на внешний номер (либо сразу набирая внешний , либо переключая на быстрый), можно поставить режим Flash на внешней линии. Подробнее в сценарии набора быстрых/внешних номеров. Остальная маршрутизация звонка при переключении происходит также, как описано выше.