Loading
Прием и отправка факсов на e-mail, общий или назначенный екстеншену.
Asterisk должен быть скомпилирован с поддержкой SpanDSP. Убедимся что модули res_fax.so и res_fax_spandsp.so загружены:
localhost*CLI> module show like fax Module Description Use Count Status res_fax.so Generic FAX Applications 1 Running res_fax_spandsp.so Spandsp G.711 and T.38 FAX Technologies 1 Running 2 modules loaded
Настройки Системного факса
Settings > Fax Configuration
Как видите, ничего интересного.
Далее создадим виртуальный факс екстеншен.
И включим поддержку факсов в настройках екстеншена.
Перейдем в модуль FollowMe созданного екстеншена.
И в разделе Destination if no answer: выберем Fax Recipient — номер нашего факса FAX(1999)
Таким же образом, можно использовать созданный факс для приема входящих факсов
в модуле Connectivity > Inbound Routes
там же можно включить автоматическое распознавание факс сигнала:
Fax Detect
Или создать факс для любого SIP екстеншена в системе.
localhost*CLI> core show channels Channel Location State Application(Data) IAX2/iaxmodem1-15384 (None) Up ReceiveFAX(/var/spool/asterisk 1 active channel 1 active call 495 calls processed -- Executing [s@ext-fax:5] ExecIf("IAX2/iaxmodem1-15384", "0?Set(FAXSTATUS="FAILED: error: statusstr: OK")") in new stack -- Executing [s@ext-fax:6] Hangup("IAX2/iaxmodem1-15384", "") in new stack == Spawn extension (ext-fax, s, 6) exited non-zero on 'IAX2/iaxmodem1-15384' -- Executing [h@ext-fax:1] GotoIf("IAX2/iaxmodem1-15384", "0?failed") in new stack -- Executing [h@ext-fax:2] GotoIf("IAX2/iaxmodem1-15384", "0?noemail") in new stack -- Executing [h@ext-fax:3] Set("IAX2/iaxmodem1-15384", "DELETE_AFTER_SEND=true") in new stack -- Executing [h@ext-fax:4] System("IAX2/iaxmodem1-15384", "/var/lib/asterisk/bin/fax2mail.php --to "hdi@neotek.ru" --dest "" --callerid '"" <fax2>' --file /var/spool/asterisk/fax/1415626900.6823.tif --exten "Fax (1999)" --delete "true" --attachformat "pdf"") in new stack -- Executing [h@ext-fax:5] Macro("IAX2/iaxmodem1-15384", "hangupcall,") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("IAX2/iaxmodem1-15384", "1?theend") in new stack -- Goto (macro-hangupcall,s,3) -- Executing [s@macro-hangupcall:3] ExecIf("IAX2/iaxmodem1-15384", "0?Set(CDR(recordingfile)=)") in new stack -- Executing [s@macro-hangupcall:4] Hangup("IAX2/iaxmodem1-15384", "") in new stack
Принятые факсы, по умолчанию, сохраняются в директорию /var/spool/asterisk/fax .
Настройка Postfix
FreePBX
В данной статье рассмотрим пошаговую настройку FreePBX 14 – настройка факса с отправкой полученных факсов на указанный E-mail адрес.
Настройки факса
Переходим в меню Settings → Fax Configuration.
Подробнее о настройках:
- Default Fax header – Идентификатор, который будет указан на каждом листе отправленного факса, например название компании.
- Default Local Station Identifier – Телефонный номер факса. Если отсутствует отдельный номер, можно указать существующий.
- Outgoing Email address – Адрес отправителя (поле «От» :).
- Email address – Почтовый адрес, на который приходит факс, если использовать код «Набрать Системный Факс», или если не указан никакой другой адрес.
- Error Correction Mode – Режим исправления ошибок.
- MaximumMinimum transfer rate – Скорость передачи (значение по умолчанию – 14400).
- Default Paper Size – Размер документа, который будет использоваться, если документ не попадает ни под какой стандарт.
Создание Extension
Следующим шагом необходимо создать внутренний номер (extension) в уже известном нам меню: Application → Extensions → + Add New Virtual Extension:
General
- User Extension – Виртуальный номер (extensions). Для всех виртуальных номеров рекомендуется создать нумерацию, не пересекающуюся с основной. Например, основная нумерация 1XX, то как для виртуальный мы создали 09XXX.
- Display Name – Имя CallerID, используемое для исходящих вызовов с этого extension.
- Outbound CID – Переопределяет идентификатор вызывающего абонента при наборе на внешнюю линию (транк). Формат: “имя вызывающего абонента” <телефонный номер>.
- Language Code – Выбор языка для голосовых подсказок.
- User Manager Settings – Следует указать директорию пользователя (по умолчанию или новую).
Подключение факса к extension
Переходим в меню Admin → User Managment и выбираем “Редактировать” в столбце Action созданного extension 09100. Вкладка Fax:
- Enabled – Yes
- Attachment Format – PDF
- Store Locally – Yes
- Outgoing Station ID – Обычно, номер факса
- Outgoing Header – Заголовок в факсимильных сообщениях.
Все остальные параметры ясны и не требуют объяснений, заполняются по желанию.
На данном этапе FreePBX 14 – настройка факса настроена на возможность приема факса. О том, как настроить IVR для приема факсимильных сообщений мы писали в статье: FreePBX 14 – настройка IVR
В заключении следует отметить, что теперь любой вызов можно отправить на подсистему факсов, так как в во входящих маршрутах появилась такая возможность: Connectivity → Inbound Routes → Set Destination (вкладка General) → Fax Recipient.
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
— Executing [666@from-internal:1] Set(«SIP/001107-000001f4», «FAX_RX_EMAIL=
test@ya.ru
«) in new stack
— Executing [666@from-internal:2] Goto(«SIP/001107-000001f4», «ext-fax,s,1») in new stack
— Goto (ext-fax,s,1)
— Executing [s@ext-fax:1] Macro(«SIP/001107-000001f4», «user-callerid,») in new stack
— Executing [s@macro-user-callerid:1] Set(«SIP/001107-000001f4», «TOUCH_MONITOR=1408045522.6951») in new stack
— Executing [s@macro-user-callerid:2] Set(«SIP/001107-000001f4», «AMPUSER=001107») in new stack
— Executing [s@macro-user-callerid:3] GotoIf(«SIP/001107-000001f4», «0?report») in new stack
— Executing [s@macro-user-callerid:4] ExecIf(«SIP/001107-000001f4», «1?Set(REALCALLERIDNUM=001107)») in new stack
— Executing [s@macro-user-callerid:5] Set(«SIP/001107-000001f4», «AMPUSER=001107») in new stack
— Executing [s@macro-user-callerid:6] GotoIf(«SIP/001107-000001f4», «0?limit») in new stack
— Executing [s@macro-user-callerid:7] Set(«SIP/001107-000001f4», «AMPUSERCIDNAME=test nik») in new stack
— Executing [s@macro-user-callerid:8] GotoIf(«SIP/001107-000001f4», «0?report») in new stack
— Executing [s@macro-user-callerid:9] Set(«SIP/001107-000001f4», «AMPUSERCID=001107») in new stack
— Executing [s@macro-user-callerid:10] Set(«SIP/001107-000001f4», «__DIAL_OPTIONS=Ttr») in new stack
— Executing [s@macro-user-callerid:11] Set(«SIP/001107-000001f4», «CALLERID(all)=»test nik» <001107>») in new stack
— Executing [s@macro-user-callerid:12] GotoIf(«SIP/001107-000001f4», «0?limit») in new stack
— Executing [s@macro-user-callerid:13] ExecIf(«SIP/001107-000001f4», «0?Set(GROUP(concurrency_limit)=001107)») in new stack
— Executing [s@macro-user-callerid:14] ExecIf(«SIP/001107-000001f4», «0?Set(CHANNEL(language)=)») in new stack
— Executing [s@macro-user-callerid:15] GosubIf(«SIP/001107-000001f4», «7?sub-ccss,s,1(ext-fax,666)») in new stack
— Executing [s@sub-ccss:1] ExecIf(«SIP/001107-000001f4», «0?Return()») in new stack
— Executing [s@sub-ccss:2] Set(«SIP/001107-000001f4», «CCSS_SETUP=TRUE») in new stack
— Executing [s@sub-ccss:3] GosubIf(«SIP/001107-000001f4», «0?monitor_config,1(ext-fax,666):monitor_default,1(ext-fax,666)») in new stack
— Executing [monitor_default@sub-ccss:1] GotoIf(«SIP/001107-000001f4», «0?is_exten») in new stack
— Executing [monitor_default@sub-ccss:2] StackPop(«SIP/001107-000001f4», «») in new stack
— Executing [monitor_default@sub-ccss:3] Return(«SIP/001107-000001f4», «FALSE») in new stack
— Executing [s@macro-user-callerid:16] GotoIf(«SIP/001107-000001f4», «0?continue») in new stack
— Executing [s@macro-user-callerid:17] ExecIf(«SIP/001107-000001f4», «1?Set(__CALLEE_ACCOUNCODE=)») in new stack
— Executing [s@macro-user-callerid:18] Set(«SIP/001107-000001f4», «__TTL=64») in new stack
— Executing [s@macro-user-callerid:19] GotoIf(«SIP/001107-000001f4», «1?continue») in new stack
— Goto (macro-user-callerid,s,30)
— Executing [s@macro-user-callerid:30] Set(«SIP/001107-000001f4», «CALLERID(number)=001107») in new stack
— Executing [s@macro-user-callerid:31] Set(«SIP/001107-000001f4», «CALLERID(name)=test «) in new stack
— Executing [s@macro-user-callerid:32] Set(«SIP/001107-000001f4», «CDR(cnum)=001107») in new stack
— Executing [s@macro-user-callerid:33] Set(«SIP/001107-000001f4», «CDR(cnam)=test») in new stack
— Executing [s@macro-user-callerid:34] Set(«SIP/001107-000001f4», «CHANNEL(language)=en») in new stack
— Executing [s@ext-fax:2] NoOp(«SIP/001107-000001f4», «Receiving Fax for:
test@ya.ru
, From: «test» <001107>») in new stack
— Executing [s@ext-fax:3] StopPlayTones(«SIP/001107-000001f4», «») in new stack
— Executing [s@ext-fax:4] ReceiveFAX(«SIP/001107-000001f4», «/var/spool/asterisk/fax/1408045522.6951.tif,f») in new stack
— Channel ‘SIP/001107-000001f4’ receiving FAX ‘/var/spool/asterisk/fax/1408045522.6951.tif’
> 0x7fd2540420d0 — Probation passed — setting RTP source address to xx.xx.xx.xx:8000
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
— Executing [h@ext-fax:1] GotoIf(«SIP/001107-000001f4», «1?failed») in new stack
— Goto (ext-fax,h,103)
— Executing [h@ext-fax:103] NoOp(«SIP/001107-000001f4», «FAX FAILED for: test@ya.ru , From: «test nik» <001107>«) in new stack
— Executing [h@ext-fax:104] Macro(«SIP/001107-000001f4», «hangupcall,») in new stack
— Executing [s@macro-hangupcall:1] GotoIf(«SIP/001107-000001f4», «1?theend») in new stack
— Goto (macro-hangupcall,s,3)
— Executing [s@macro-hangupcall:3] ExecIf(«SIP/001107-000001f4», «0?Set(CDR(recordingfile)=)») in new stack
— Executing [s@macro-hangupcall:4] Hangup(«SIP/001107-000001f4», «») in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on ‘SIP/001107-000001f4’ in macro ‘hangupcall’
== Spawn extension (ext-fax, h, 104) exited non-zero on ‘SIP/001107-000001f4’
Содержание
- FreePBX 14 — настройка IVR
- FreePBX 14 настройка IVR
- Маршрутизация основного номера
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Настройка IVR в FreePBX 13
- Базовый курс по Asterisk
- Пошаговое видео
- Настройка
- Продвинутый курс по Asterisk
FreePBX 14 — настройка IVR
Мы ранее приводили доводы в пользу IVR в компании, а также рассказывали об ошибках при внедрении IVR в компании или call-центре и как следствие привели 16 полезных приемов использования голосовых помощников. В этой статье мы расскажем о FreePBX 14 настройка IVR. Основная задача IVR – маршрутизация входящих вызовов между сотрудниками, отделами, колл-центром и т.д. Во-вторых, IVR снижает или распределяет нагрузку, поступающую на секретарей, операторов или сотрудников, предоставляя возможность клиенту (позвонившему) самостоятельно получить услугу или выбрать необходимую опцию: отправить факс, соединиться с персональным менеджеров, получить информацию в автоматическом режиме и т.д. Также, IVR может использоваться в рекламных компаниях, акциях для получения информации или информировании абонентов (клиентов). А если произвести интеграция с порталом распознавания и синтеза речи – так вообще бомба получится!
Безусловно, в крупных центрах обработки вызовов (ЦОВ), к IVR подходят серьезно, опираясь на собственные регламенты формирования звуковых файлов и обработки вызовов. Мы не будем писать подробно о всех возможностях IVR, так как вся информация присутствует в статье: Почему IVR так важен для ЦОВ?
Эта статья является этапом курса по настройке FreePBX 14 маршрутизация вызовов:
Следующим этапом после создания маршрутизации, прежде всего мы расскажем как направить входящие вызовы на IVR-систему, используя варианты, предлагаемые модулем IVR во FreePBX 14.
Техническое задание
Во-первых, обозначим исходное техническое задание к созданию нашего IVR меню. Во-вторых изобразим наше ТЗ на схеме – это упростит выполнение задачи.
На рисунке ниже изображено техническое задание по созданию IVR на FreePBX 14. Суть проста, другими словами:
- Приветствие
- 4 пункта донабора (dtmf)
- 4 очереди с операторами
- Отправка факса на e-mail
- Возможность набрать внутренний номер сотрудника
- Действие при отсутствии выбора или неверном наборе
Далее приступим к реализации FreePBX 14 настройка IVR, к тому же рассмотрим редактирование очередей.
Создание звуковых файлов
Кроме того необходимо загрузить подготовленные ранее звуковые файлы для нашего IVR. Более подробно о данном процессе мы также писали в статье: Создание звуковых файлов с помощью Audacity.
Загрузка звуковых файлов во FreePBX 14 осуществляется через меню Admin → System Recordings.
- Name – Название записи. Отображается в списке всех загруженных аудиофайлов.
- Description – Описание файла. Можно ввести где используется или назначение.
- File List for Russian – Выбор списка и сортировка в соответствии я языков используемых файлов.
- Upload Recording – Загрузка звукового файла.
- Record Over Extension – Указываете номер extension, нажимаете call и файл можно записать с помощью телефонного аппарата. Система наберет указанный номер и после отбоя сохранит файл и предложит назвать его.
- Add System Recording – Системные записи или записи, которые были добавлены ранее. Можно выбрать вместо загружаемого файла.
- Link to Feature Code – Активирует дополнительный код для перезаписи звукового файла. По умолчанию *291
- Feature Code Password – Пароль на перезапись указанного файла.
- Convert To – Конвертация файлов в выбранные форматы. Поддерживается множественный выбор форматов.
Настройка очередей
По техническому заданию предусмотрено создание 4-х очередей:
- Регистрация заявок (Request-Operator )
- Техническая поддержка (Support-Operator )
- Отдел продаж (Sales-Operator )
- Секретариат (Main-Operator )
Создание очередей производится в меню Applications → Queues
После этого создаем очередь “Регистрация заявок” с номером . Мы не будем подробно расписывать назначение параметров, так как подробно об этом рассказали в статье: Queue FreePBX 14 – очередь вызовов. Указываем основные параметры:
На вкладке General Settings :
- Queue Number – 14
- Queue Name – Request-Operator
- Restrict Dynamic Agents – Yes
- Ring Strategy – rrmemory
- Autofill – Yes
- Skip Busy Agents – Yes + (ringinuse=no)
- Music on Hold Class – default, MoH only
- Call Recording – Yes
- Fail Over Destinations – Extensions 100
На вкладке Queue Agents :
Мы указали Static Agents (статических агентов) из списка ранее созданных внутренних номеров, так как компания не вселенских масштабов и текучесть персонала отсутствует. Если вам необходима авторизация в очереди по сервисному коду – указывайте Dynamic Agents. Обычно, это необходимо при сменном графике работы операторов.
На вкладке Timing & Agent Options :
- Max Wait Time – 30 minutes
- Max Wait Time Mode – Strict
- Agent Timeout – 15 seconds
- Retry – 5 seconds
На вкладке Capacity Options :
- Max Callers – 0
- Join Empty – Yes
- Leave Empty – No
Подобным образом создаем оставшиеся 3 очереди:
Настройка факса
По исходному заданию по нажатии клавиши 4 у нас активируется получение факса, который мы должны отправить на указанный e-mail. Дополнительно о настройке факсов мы написали в статье: FreePBX 14 – настройка факса. Переходим к настройке: Settings → Fax Configuration.
FreePBX 14 настройка IVR
Тем временем переходим в меню Application → IVR. Добавим новое голосовое меню с помощью кнопки + Add IVR.
- IVR Name – Имя голосового меню.
- IVR Description – Описание IVR, например “Основной IVR компании Professionals VoIP”.
- Announcement – Голосовое сообщение, которое будет слышать дозвонившийся. Именно данное сообщение будет направлять абонента (“Нажмите 1, Нажмите 2 и т.д.”). Добавляется через меню Admin → System Recordings.
- Enable Direct Dial – Данная опция позволяет абоненту набрать внутренний номер сотрудника (если он его знает) и соединиться с ним, не дожидаясь, пока это предложит IVR.
- Timeout – Время, за которое абоненту необходимо выбрать опцию после сообщения (“Нажмите 1, Нажмите 2 и т.д.”). Если данное время истекло, то IVR отработает по правилам таймаута (Опция “t” в диалплане Asterisk), которые приведено ниже.
- Alert Info – ALERT_INFO может использоваться для особого звонка с устройства SIP (например внешние вызовы). Данную опцию, прежде всего, должен поддерживать IP-телефон.
- Ringer Volume Override – Переопределение громкости звонка. Доступно на данный момент только для аппаратов Sangoma.
- Invalid Retries – Количество попыток, которые есть у абонента, чтобы ввести предложенный пункт меню IVR (опция), прежде чем вызов абонента будет отправлен на Invalid Destination.
- Invalid Retry Recording – Сообщение, которое услышит абонент, после того как введет неверный номер опции указанное количество раз в Invalid Retries. Добавляется через Admin → System Recordings.
- Append Announcement to Invalid – Опция, определяющая проигрывать ли основное сообщение IVR (Announcement) пользователю, который исчерпал все попытки ввода (Invalid Retries).
- Return on Invalid – Данная опция контролирует процесс возврата звонка пользователя, исчерпавшего попытки ввода (Invalid Retries), в основное меню IVR из, так называемого подменю (sub-IVR). Работает только в случае, если данный IVR был настроен как sub-IVR для основного голосового меню.
- Invalid Recording – Сообщение, которое будет проигрываться абоненту, после того как он исчерпает все попытки Invalid Retries. Добавляется через Admin → System Recordings.
- Invalid Destination – Если пользователь исчерпал все попытки ввода (Invalid Retries), то он будет отправлен по данному пути. Это может быть, например, внутренний номер, очередь, факс, другой IVR, конференция и т.д. или любое другое направление настроенное на АТС (внешнее, к примеру).
- Timeout Retries – Количество повторных попыток, когда не слышно DTMF и время ожидания выбора пункта меню IVR истекает.
- Timeout Retry Recording – Сообщение, которое услышит пользователь, достигший Timeout. Добавляется через Admin → System Recordings.
- Append Announcement on Timeout – Опция, определяющая проигрывать ли основное сообщение IVR (Announcement) пользователю, который достиг Timeout Retry Recording. Добавляется через Admin → System Recordings.
- Return on Timeout – Данная опция контролирует процесс возврата звонка пользователя, впоследствии достигшего Timeout, в основное меню IVR из, так называемого подменю (sub-IVR). Работает в случае, если данный IVR был настроен как sub-IVR для основного голосового меню.
- Timeout Recording – Сообщение, которое услышит пользователь, исчерпавший Timeout Retries. Добавляется через Admin → System Recordings.
- Timeout Destination – Если пользователь исчерпал попытки, указанные в Timeout Retries, то он будет отправлен по данному пути.
- Return to IVR after VM – Опция, позволяющая пользователю вернуться в IVR после того как он был направлен на голосовую почту.
- IVR Entries – Определяет нажатия из IVR (максимальное количество 10: от 0 до 9 и #). Другими словами, мы настраиваем соответствие цифр тонального набора и маршрут направления вызова. По нашему техническому заданию: нажатие 1, 2, 3 – соответствующие очереди; 4 – подсистема факсов.
Маршрутизация основного номера
Чтобы попасть на созданный IVR необходимо направить на него телефонный номер.
Для отладки IVR рекомендуется использовать новый внутренний номер, а уже после чего производить переключение на внешний городской номер.
Переходим в меню Connectivity → Inbound Routes и нажимаем + Add Inbound Route:
General
- Description – Содержательное описание того, что представляет собой этот входящий маршрут
- DID Number – Определение формата номера DID (самое главное), который направляется с внешней линии (к примеру, с транка). Если оставить пустым – будут приниматься все вызовы. Кроме того, можно использовать шаблон (например, _495123456[135-7].
- CallerID Number – Определение номера CallerID, который сопоставляется при входящих вызовах. Если оставить пустым, будет соответствовать любой или никакой информации CID.
- CID Priority – Это влияет только на CID маршруты, где указан DID. Если установлен флажок, то вызовы с этим CID будут перенаправляться на этот маршрут, даже если существует маршрут к вызываемому DID.
- Alert Info – ALERT_INFO может использоваться для особого звонка с устройства SIP (например, внешние вызовы). Но данную опцию, прежде всего, должен поддерживать IP-телефон.
- Ringer Volume Override – Переопределение громкости звонка. Доступно на данный момент только для аппаратов Sangoma.
- CID name prefix – Дополнительно или при необходимости добавляет префикс к имени идентификатора вызывающего абонента.
- Music On Hold – Устанавливает MoH.
- Set Destination – Приложение для направления вызовов.
Advanced
- Indication Zone Country – Набор тоновых сигналов в соответствии с выбранной страной.
- Signal RINGING – Некоторые провайдеры также требуют отправки RINGING-сообщения вызова до ответа. Это возможно увидеть, если вызов отправляется на extensions (внутренний номер), если вызов отправляется на IVR – то RINGING работать не будет.
- Reject Reverse Charges – Поддержка выставления биллинговых счетов на канала PRI.
- Force Answer – Принудительный ответ на вызов.
- Pause Before Answer – Установка задержки на ответ на канале. Полезно, например, если параллельно установлены системы безопасности или факсимильное оборудование и вы хотите вызов захватить параллельно всеми устройствами.
Подводя итог, следует отметить, что если вы на данном маршруте принимаете как голосовые так и факсимильные сообщения, следует установить значение Detected Faxes в значение Yes на вкладке Fax. По умолчанию – No (следует отключать).
Остальные настройки устанавливаются по желанию. На этом все! FreePBX 14 настройка IVR окончена.
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
”Здравствуйте, вы позвонили в компанию «Company Name», для соединения с отделом продаж – нажмите 1, если вы являетесь партнером нашей компании – нажмите 2, по вопросам технической поддержки – 3. Для соединения с оператором – оставайтесь на линии”. Наверное, сейчас уже ни одна компания не осталась без подобного сценария обработки входящих звонков. Короткие гудки в трубке, прежде чем Вам ответит сотрудник компании, в которую Вы пытаетесь дозвониться – теперь уже большая редкость. Всё это стало возможным с появлением цифровых АТС, а функционал, пример которого был приведен выше, называется IVR (Interactive Voice Response) в русской литературе – голосовое меню. В сегодняшней статье, мы рассмотрим функционал IVR на примере IP-АТС Asterisk и FreePBX 13.
Базовый курс по Asterisk
Мы собрали концентрат всех must have знаний в одном месте, которые позволяют тебе сделать шаг вперед на пути к экспертному владению Asterisk
Основной функцией IVR – является маршрутизация входящих вызовов между департаментами компании, посредством обработки сигналов тонального набора, осуществляемых дозвонившимся клиентом, на своем телефоне. Тем самым, IVR позволяет распределить нагрузку на операторов кол-центра, т.к клиенту предоставляется возможность соединиться с интересующим его отделом и получить всю необходимую информацию, минуя первую линию операторов. Помимо данной функции, IVR может использоваться в рекламных и маркетинговых акциях, в целях получения статистической информации и даже в организации автономных голосовых порталов с распознаванием речи, где вообще не требуется присутствие оператора.
В больших кол-центрах к организации IVR подходят серьёзно, учитываются все факторы вплоть до психологического. От того насколько грамотно подобран голос диктора, музыкальное сопровождение и информация сообщения, зависит расположение клиента, который дозвонился в компанию и его лояльность. Информация, которая сообщается в меню IVR должна быть изложена лаконично, дружелюбно и емко. Поэтому в первую очередь – необходимо написать текст IVR и его сценарий. Общая рекомендация – ограничиться несколькими опциями, т.е не стоит задавать слишком большое меню с 6 и более опциями, поскольку в нем попросту будет сложно ориентироваться.
Пошаговое видео
Настройка
Перейдём к FreePBX 13 и рассмотрим какие варианты предлагает его функционал при настройке IVR. В первую очередь, с главной страницы перейдем по следующему пути Applications -> IVR. Нам предложат создать новое голосовое меню:
Перед нами откроется страница добавления нового голосового меню IVR, нажимаем Add IVR
Пройдёмся по основным пунктам:
- IVR Name – Имя голосового меню, тут все просто
- IVR Description – Опционально, можно добавить описание данного IVR, например IVR_Holiday – меню, которое будет слышать дозвонившийся по праздникам
- Announcement – Голосовое сообщение, которое будет слышать дозвонившийся. Именно данное сообщение будет направлять абонента (“нажмите 1, нажмите 2 и так далее”). Добавляется через System Recordings
- Enable Direct Dial – Данная опция позволяет абоненту набрать внутренний номер сотрудника (если он его знает) и напрямую соединиться с ним, не дожидаясь, пока это предложит IVR
- Timeout – Время, за которое абоненту предлагают выбрать опцию после сообщения. Если данное время истекло, то IVR отработает по timeout rules, которые описываются ниже
- Invalid Retries – Количество попыток, которые есть у абонента, чтобы ввести правильный номер опции, прежде чем абонента отправят на Invalid Destination
- Invalid Retry Recording – Сообщение, которое услышит абонент, после того как повторно введет неверный номер опции. Добавляется через System Recordings
- Append Announcement to Invalid – Опция, определяющая проигрывать ли основное сообщение IVR пользователю, который исчерпал все попытки ввода
- Return on Invalid – Данная опция контролирует процесс возврата звонка пользователя, исчерпавшего попытки ввода, в основное меню IVR из, так называемого под-меню (sub-IVR). Работает только если настроено данный IVR был настроен как sub-IVR для основного голосового меню
- Invalid Recording – Сообщение, которое будет проигрываться абоненту, после того как он исчерпает все попытки Invalid Retries. Добавляется через System Recordings
- Invalid Destination — Если пользователь исчерпал все попытки ввода, то он будет отправлен по данному пути. Это может быть, например, номер операторов или любое другое направление настроенное на АТС
- Timeout Retries – Как много раз пользователь может ждать времени, указанного в Timeout
- Timeout Retry Recording — Сообщение, которое услышит пользователь, достигший Timeout. Добавляется через System Recordings
- Append Announcement on Timeout — Опция, определяющая проигрывать ли основное сообщение IVR пользователю, который достиг Timeout. Добавляется через System Recordings
- Return on Timeout — Данная опция контролирует процесс возврата звонка пользователя, достигшего Timeout, в основное меню IVR из, так называемого под-меню (sub-IVR). Работает только если настроено данный IVR был настроен как sub-IVR для основного голосового меню
- Timeout Recording — Сообщение, которое услышит пользователь, исчерпавший Timeout Retries. Добавляется через System Recordings
- Timeout Destination — Если пользователь исчерпал все Timeout Retries, то он будет отправлен по данному пути.
- Return to IVR after VM – Опция, позволяющая пользователю вернуться в IVR после того как он был направлен на голосовую почту
- IVR Entries — Самая важная вкладка. Здесь мы настраиваем соответствие цифр тонального набора и направления звонка, т.е ту самую маршрутизацию вызова. На примере ниже, если абонент введет цифру 1, то попадет на группу обзвона ( Ring Group ) технической поддержки
Продвинутый курс по Asterisk
Концентрат редких знаний, для внедрения Asterisk в крупных предприятиях, Все это мы собрали в одном курсе для тебя
Источник
В данной статье будет рассмотрена настройка виртуального факса для приёма факс-сообщений из IVR. Содержание Настройка IVR на FreePBX. Настройка приёма виртуального факса на FreePBX Настройка скрипта sendEmail.pl для отправки сообщений на почту. Проверка получения факса на почту Настройка IVR на FreePBX Первым пунктом в настройке приёма факса идёт настройка IVR. Предположим, что голосовое меню у […]
В данной статье будет рассмотрена настройка виртуального
факса для приёма факс-сообщений из IVR.
Содержание
- Настройка IVR на FreePBX.
- Настройка приёма виртуального факса на FreePBX
- Настройка скрипта sendEmail.pl для отправки сообщений на почту.
- Проверка получения факса на почту
Настройка IVR на FreePBX
Первым пунктом в настройке приёма факса идёт настройка IVR.
Предположим, что голосовое меню у нас уже настроено,
нужно только добавить возможность клиентам или компаниям-партнёрам отправлять
факс по нажатию цифры 9. Для этого переходим в Applications -> IVR на FreePBX:
Затем, в разделе IVR Entries,
блоке Digits устанавливаем
на ввод девятки переадресацию на Feature
Code Admin, затем выбираем сервисный код Dial System Fax 666. В моём случае
используется кастомизированный сервисный код 665:
Сохраняем изменения — Submit -> Apply Config
Настройка приёма виртуального факса на FreePBX.
Теперь необходимо настроить модуль виртуального факса.
Переходим во вкладку Settings ->
Fax Configuration.
Параметров у факса не очень много, поэтому настройка
модуля не займёт много времени. Опишу параметры:
Default
Fax
header – заголовок факсимильного
сообщения, который будет напечатан на принимающей стороне на каждой странице
принимаемого факсимильного сообщения.
Default Local Station Identifier – Идентификатор станции.
Outgoing Email
address – почта, с которой будет
осуществляться отправка факсимильного сообщения.
Email
address – почта, на которую будет
осуществляться приём факсимильного сообщения.
Error Correction Mode – режим коррекции ошибок.
Maximum
transfer rate – максимальная скорость передачи
факсимильного сообщения.
Minimum
transfer rate – минимальная скорость
передачи факсимильного сообщения.
Default
Paper
Size – размер
документа по умолчанию в случае, если документ не попадает ни под один из
стандартов.
Пример настройки виртуального факса на скриншоте ниже:
Настройка скрипта sendEmail.pl для отправки сообщений на почту.
Для того, чтобы АТС могла отправлять факс на почту
необходимо настроить скрипт sendEmail.pl, либо postfix.
Информер: sendEmail.pl – скрипт
на php. Это сторонняя
разработка доступная в открытом доступе. На GitHub можно найти и исходный файл.
Перейдём в терминал для работы со скриптом. Введём команду:
#nano /usr/local/bin/sendEmail.pl
В зависимости от дистрибутива директория может отличаться от той, что в моём примере.
Перед нами откроется код скрипта:
Далее необходимо произвести его настройку. Перейдём к разделу Global Variables:
В блоке ##Network
укажем
SMTP
почтовый сервер, который будем использовать, а так же порт. По умолчанию SMTP использует
25 порт, его и укажем:
Далее перейдём к блоку ## eSMTP
Необходимыми параметрами являются username и password к нашему почтовому ящику.
Это нужно для того, чтобы сервер для отправки мог пользоваться почтовым ящиком.
Пример заполнения:
Последнее, что нужно сделать, это перейти к блоку ## More variables used later in the program.
В переменную my $from
необходимо
записать адрес почтового ящика, с которого будет осуществляться отправка:
Сохраняем файл crtl+O. Переходим
в терминал для тестовой отправки сообщения на почту. Для этого введём следующую
команду:
#/usr/local/bin/sendEmail.pl
-f [email protected] -t [email protected] -u «test sendEmail» -m «Hello
World!» (—f [email protected] – почта отправителя, а –t [email protected] – почта
получателя, –u
–
заголовок сообщения, —m
–
текст сообщения. Подставьте свои значения и нажмите Enter для отправки.)
Если видим сообщение следующего плана:
Значит, отправка прошла успешно. Давайте проверим
почтовый ящик:
Сообщение доставлено успешно.
Проверка получения факса на почту.
Теперь проверим работу всей связки. Для проверки нужно
зайти в Asterisk,
чтобы можно было наблюдать лог в реальном времени, позвонить на номер, к
которому привязана IVR, и
набрать 9, чтобы отправить факс.
Если всё сделано успешно, то в логе Asterisk увидим
следующий вывод:
Проверим почту:
Если сообщение было доставлено, с прикреплением, значит,
всё работает.
Создание virtual_fax_extension.
Так же не лишним будет создать virtual_extension,
который так же может использоваться как приёмщик факсимильных сообщений.
Для этого перейдём в Applications -> Extensions.
Воспользуемся кнопкой Quick Create Extension:
Настроим основные параметры:
Type – тип экстеншена. В нашем
случае – виртуальный.
Extension Number – номер, который будет
присвоен нашему экстеншену.
Display Name – отображаемое имя.
Email Address – почтовый ящик.
Переходим на 2 шаг по клику на кнопку Next. Настроим
оставшиеся параметры и нажмём Finish:
Далее, переходим в Admin -> User
Management:
Находим созданный нами экстеншен и переходим на страницу
редактирования:
Затем переходим во вкладку Fax,
устанавливаем в параметре Enabled селектор
в положение Yes, а Attachment Format
в
PDF:
Сохраняем. Виртуальный факс готов. Чтобы воспользоваться
данным экстеншеном вместо сервисного кода, перейдём в IVR
и
заменим сервисный код на virt_ext:
Сохраняем.
Резюмируя всё вышеописанное, можно сказать, что был
настроен виртуальный факс на приём факсимильных сообщений путём набора
сервисного кода 665, а также заведён и настроен виртуальный экстеншен.
Прием и отправка факсов на e-mail, общий или назначенный екстеншену.
Asterisk должен быть скомпилирован с поддержкой SpanDSP. Убедимся что модули res_fax.so и res_fax_spandsp.so загружены:
localhost*CLI> module show like fax Module Description Use Count Status res_fax.so Generic FAX Applications 1 Running res_fax_spandsp.so Spandsp G.711 and T.38 FAX Technologies 1 Running 2 modules loaded
Настройки Системного факса
Settings > Fax Configuration
Как видите, ничего интересного.
Далее создадим виртуальный факс екстеншен.
И включим поддержку факсов в настройках екстеншена.
Перейдем в модуль FollowMe созданного екстеншена.
И в разделе Destination if no answer: выберем Fax Recipient — номер нашего факса FAX(1999)
Таким же образом, можно использовать созданный факс для приема входящих факсов
в модуле Connectivity > Inbound Routes
там же можно включить автоматическое распознавание факс сигнала:
Fax Detect
Или создать факс для любого SIP екстеншена в системе.
localhost*CLI> core show channels Channel Location State Application(Data) IAX2/iaxmodem1-15384 (None) Up ReceiveFAX(/var/spool/asterisk 1 active channel 1 active call 495 calls processed -- Executing [s@ext-fax:5] ExecIf("IAX2/iaxmodem1-15384", "0?Set(FAXSTATUS="FAILED: error: statusstr: OK")") in new stack -- Executing [s@ext-fax:6] Hangup("IAX2/iaxmodem1-15384", "") in new stack == Spawn extension (ext-fax, s, 6) exited non-zero on 'IAX2/iaxmodem1-15384' -- Executing [h@ext-fax:1] GotoIf("IAX2/iaxmodem1-15384", "0?failed") in new stack -- Executing [h@ext-fax:2] GotoIf("IAX2/iaxmodem1-15384", "0?noemail") in new stack -- Executing [h@ext-fax:3] Set("IAX2/iaxmodem1-15384", "DELETE_AFTER_SEND=true") in new stack -- Executing [h@ext-fax:4] System("IAX2/iaxmodem1-15384", "/var/lib/asterisk/bin/fax2mail.php --to "hdi@neotek.ru" --dest "" --callerid '"" <fax2>' --file /var/spool/asterisk/fax/1415626900.6823.tif --exten "Fax (1999)" --delete "true" --attachformat "pdf"") in new stack -- Executing [h@ext-fax:5] Macro("IAX2/iaxmodem1-15384", "hangupcall,") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("IAX2/iaxmodem1-15384", "1?theend") in new stack -- Goto (macro-hangupcall,s,3) -- Executing [s@macro-hangupcall:3] ExecIf("IAX2/iaxmodem1-15384", "0?Set(CDR(recordingfile)=)") in new stack -- Executing [s@macro-hangupcall:4] Hangup("IAX2/iaxmodem1-15384", "") in new stack
Принятые факсы, по умолчанию, сохраняются в директорию /var/spool/asterisk/fax .
Настройка Postfix
FreePBX
В данной статье рассмотрим пошаговую настройку FreePBX 14 – настройка факса с отправкой полученных факсов на указанный E-mail адрес.
Настройки факса
Переходим в меню Settings → Fax Configuration.
Подробнее о настройках:
- Default Fax header – Идентификатор, который будет указан на каждом листе отправленного факса, например название компании.
- Default Local Station Identifier – Телефонный номер факса. Если отсутствует отдельный номер, можно указать существующий.
- Outgoing Email address – Адрес отправителя (поле «От» :).
- Email address – Почтовый адрес, на который приходит факс, если использовать код «Набрать Системный Факс», или если не указан никакой другой адрес.
- Error Correction Mode – Режим исправления ошибок.
- MaximumMinimum transfer rate – Скорость передачи (значение по умолчанию – 14400).
- Default Paper Size – Размер документа, который будет использоваться, если документ не попадает ни под какой стандарт.
Создание Extension
Следующим шагом необходимо создать внутренний номер (extension) в уже известном нам меню: Application → Extensions → + Add New Virtual Extension:
General
- User Extension – Виртуальный номер (extensions). Для всех виртуальных номеров рекомендуется создать нумерацию, не пересекающуюся с основной. Например, основная нумерация 1XX, то как для виртуальный мы создали 09XXX.
- Display Name – Имя CallerID, используемое для исходящих вызовов с этого extension.
- Outbound CID – Переопределяет идентификатор вызывающего абонента при наборе на внешнюю линию (транк). Формат: “имя вызывающего абонента” <телефонный номер>.
- Language Code – Выбор языка для голосовых подсказок.
- User Manager Settings – Следует указать директорию пользователя (по умолчанию или новую).
Подключение факса к extension
Переходим в меню Admin → User Managment и выбираем “Редактировать” в столбце Action созданного extension 09100. Вкладка Fax:
- Enabled – Yes
- Attachment Format – PDF
- Store Locally – Yes
- Outgoing Station ID – Обычно, номер факса
- Outgoing Header – Заголовок в факсимильных сообщениях.
Все остальные параметры ясны и не требуют объяснений, заполняются по желанию.
На данном этапе FreePBX 14 – настройка факса настроена на возможность приема факса. О том, как настроить IVR для приема факсимильных сообщений мы писали в статье: FreePBX 14 – настройка IVR
В заключении следует отметить, что теперь любой вызов можно отправить на подсистему факсов, так как в во входящих маршрутах появилась такая возможность: Connectivity → Inbound Routes → Set Destination (вкладка General) → Fax Recipient.
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.