Голосовой ввод в 1С (Asterisk + Yandex speechkit + php)

05.01.16

Интеграция - Телефония, SIP

Пример того, что можно получить, подружив телефонию на базе Asterisk и 1С.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Asterisk_ГолосовойВвод.epf
.epf 10,08Kb
21 1 850 руб. Купить
asterisk_yandex_test.zip
.zip 0,96Kb
19 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Условия.

У нас есть 1С (версия 8.Х) и Linux-сервер (в моем случае ubuntu server 15.04 ) c Asterisk (1.8.28.2) на борту. Для интеграции использовал ВК от Simplit ROM-Asterisk.dll (полностью свободная и для 7.7 и для 8.х). Описывать интеграцию подробно не вижу смысла, вот несколько ссылок по этой теме.

//infostart.ru/public/95691/

//infostart.ru/public/125719/

http://wiki.simplit.info/doku.php/community/rom-asterisk

Цель.

При звонке на определенный номер, произнести любую фразу, после чего распознаный текст должен попасть в поле ввода формы в 1С.

Речевые технологии Yandex.

Подробнее о Yandex SpeechKit прочитать здесь: https://tech.yandex.ru/speechkit/cloud/

Для дусту к сервису Вам необходимо получить API-ключ разработчика.

Настройка со стороны OS Linux  и Asterisk

Для выполнения скрипта необходим установленный пакет php-cli.

Правим dialplan, пусть номер для записи разговора будет *14:

exten => *14,1,Goto(yandex-test,s,1)

[yandex-test]

exten => h,1,NoOP(${DIALSTATUS})

exten => h,2,System( php /root/asterisk_yandex_text.php &)

exten => h,n,Hangup()

exten => s,1,Answer()

exten => s,2,Wait(1)

exten => s,3,Record(yandex_test.wav,2)

exten => s,n,Hangup()


На что стоит обратит внимание: 1) символ & при вызове php-скрипта, необходим для того что бы пользователь не ждал полного выполнения скрипта; 2) команда Record сохраняет записи в /var/lib/asterisk/sounds(если не задан полный путь и не изменены настройки Asterisk).

В скрипте asterisk_yandex_text.php изменяем переменыые : $username и $secret (логин и пароль для доступа к AMI),$prefix –путь для хранения записей (по умолчанию /var/lib/asterisk/sounds/), $yandex_key –Ваш api-ключ Yandex SpeechKit и $uuid.

 

Настройка со стороны 1С

Во внешней обработке в Модуде Формы в функции ПодключениеКСерверуAsterisk() изменяем переменные:

Адрес="...";

Порт="5038";

Логин="...";

Пароль="...";

ПутьКФайлуВК="c:\....\";

ПоказыватьСобытияAsterisk=Истина;

Принцип работы.

Звоним на указанный номер (*14), после гудка произносим фразу (2 секунды тиины расценивается как окончание фразы). Asterisk, после записи, запускает php-скрипт, который в свою очередь конвертирует полученный файл, отправляет в сервис Яндекса на обработку. Далее php-скрипт, подключась AMI передает полученный ответ. Обработка 1С отслеживает внешнее событие UserEvent, и при возникновении такого заполняет поле ввода формы.

 

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Телефония, SIP 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Удобная универсальная обработка для быстрых звонков с мобильного телефона по контактам из 1С. Также поддерживается работа с электронными адресами, адресами сайтов, почтовыми адресами и другими видами контактов. Возможно копирование карточки контакта на мобильный телефон. Просто отсканируйте QR-код камерой телефона!

3 стартмани

26.11.2024    706    2    bme    0    

3

Телефония, SIP Пользователь 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 Россия Абонемент ($m)

Данная внешняя обработка позволяет делать звонки из программы 1С, используя сервис сайта zvonok.com.

1 стартмани

18.01.2024    1919    1    v3132    0    

3

Телефония, SIP Россия Бесплатно (free)

Делимся опытом разработки системы обзвона абонентов-задолжников.

18.01.2024    1818    slavik27    11    

5

Телефония, SIP Программист Пользователь 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Отображение информации о клиенте из 1С при входящем звонке — настраиваем интеграцию с Softphone.Pro.

1 стартмани

20.07.2022    4043    1    nikolay.surdo    0    

3

WEB-интеграция Телефония, SIP Программист 1С v8.3 1C:Бухгалтерия Россия Абонемент ($m)

Внешняя обработка для выгрузки записей разговоров с виртуальной АТС Билайна.

1 стартмани

01.07.2022    3062    4    s_evgen    0    

0

Телефония, SIP Бесплатно (free)

Описан процесс интеграции с UniBell (https://www.unibell.ru), облачные телекоммуникационные технологии.

20.06.2022    1988    itserve    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. teyana 39 11.01.16 18:02 Сейчас в теме
Ок, 1С! Сведи баланс. :)
Irwin; Terabaytus; Wilka; solodovnikov.84; Golikov; Bazin; Zero_nv; +7 Ответить
2. OerlandHue 06.05.16 09:00 Сейчас в теме
Я себя чувствую тупым после таких публикаций. Может так оно и есть.
Спасибо за статью, но как-то очень лаконично.
3. S_Rogov 14 13.06.17 06:11 Сейчас в теме
Респект за статью! Есть мысль реализовать распознавание выбора пунктов меню IVR голосом, а то клиенты ленятся кнопки жать. Может есть наработки уже у кого?
mussolene; Wilka; +2 Ответить
4. mussolene 25 23.01.18 05:05 Сейчас в теме
Наработки есть. но не лучше ли реализовать напрямую в 1с технологию распознования голоса??
Terabaytus; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация