8(499)-709-97-83
Работаем с 8:00 до 19:00

FreeSWITCH:IVR меню

  • 03 марта 2015

В сегодняшней статье мы расскажем, как сделать простенький сценарий IVR во Freeswitch.

Большое преимущество Freeswicth перед другими открытыми PBX-платформами (сугубо мнение автора, но я думаю, многие согласятся) - это возможность построения обширного, глубокого и распределенного IVR меню. Практически все компании используют стандартное приветствие “Здравствуйте, вы позвонили в компанию Рога и Копыта. Для соединения с техническим специалистом нажмите 1, и т.д. ”. Мы не стали изобретать велосипед, и сделали такой же сценарий, чтобы показать возможности Freeswitch.

 

Указать путь к аудио файлам и выбрать язык вы можете в vars.xml

<X-PRE-PROCESS cmd="set" data="default_language=ru"/>
 <X-PRE-PROCESS cmd="set" data="sounds_dir=/usr/src/sound/"/>
 <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>

А можете прописать путь к вашим звуковым файлам непосредственно “на месте”.

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

  • 1 – перевод на секретаря
  • 2 – перевод на группу технической поддержки
  • 3 - отдел продаж
  • 4 - факс
  • 5 - переходим в меню, где автоинформатор проигрывает контактные данные
  • Если абонент знает добавочный номер, то вызов маршрутизируется на этот добавочный.

Переходим в папку /usr/local/freeswitch/conf/ivr_menus/ и создаем office-ivr.xml

<include>
 <menu name="office-ivr"
  greet-long="/usr/src/sound/privacy-prompt.wav"
  invalid-sound="/usr/src/sound/pbx-invalid.wav"
  exit-sound="/usr/src/sound/vm-goodbye.wav"
  confirm-macro=""
  confirm-key=""
  tts-engine="flite"
  tts-voice="rms"
  confirm-attempts="3"
  timeout="10000"
  inter-digit-timeout="
  max-failures="1"
  max-timeouts="3"
  digit-len="3">
  
  <entry action="menu-exec-app" digits="/^([0-9]0[0-9])$/" param="bridge user/$1"/>
  
  <entry action="menu-exec-app" digits="1" param="bridge user/100"/>
  
  <entry action="menu-exec-app" digits="2" param="transfer 200 XML office"/>
  
  <entry action="menu-exec-app" digits="3" param="transfer 300 XML office"/>
  
  <entry action="menu-exec-app" digits="4" param="transfer 400 XML office"/>
  
  <entry action="menu-sub" digits="6" param=" ivr_contact"/>
 menu>
 <menu name=" ivr_contact "
  greet-long="/usr/src/sound/contact.wav"
  exit-sound="/usr/src/sound/vm-goodbye.wav"
  timeout="15000">
 menu>
include>

Теперь переходим dialplan (/usr/local/freeswitch/conf/dialplan/office.xml) и создаем маршрут на наш сценарий IVR.

 
<include>
 
 <context name="office">
  <extension name=" to_office-ivr">
   <condition field="destination_number" expression="^(74997099783)$">
   
    <action application="answer"/> <action application="ivr" data="office-ivr"/>
    <action application="set" data="ringback=$${hold_music}"/>
    <action application="set" data="call_timeout=60"/>
    <action application="bridge" data="user/100"/>
    <action application="hangup"/>
   condition>
  extension>

 context>
include>

На этом наша настройка завершена. Теперь можно позвонить себе на номер и услышать и проверить все, что мы сделали выше. В этой статье приведен далеко не полный функционал IVR меню, но для начальной настройки данного материала должно хватить.

Более подробно об IVR меню вы можете узнать по ссылке: IVR Menu

 

Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)
 
Метки: FreeSWITCH