Загрузка записей телефонных звонков из Asterisk

02.11.19

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

Как и обещал, вторая часть моей реализации взаимодействия с АТС Asterisk из Управления торговлей 11, а именно загрузка записей телефонных разговоров в качестве прикреплённого файла к документу Телефонный звонок.

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Загрузка записей телефонных звонков из Asterisk (linux, wav):
.epf 14,03Kb
8 1 850 руб. Купить
Загрузка записей телефонных звонков из Asterisk (windows, mp3):
.epf 15,36Kb
8 1 850 руб. Купить

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

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

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

Эта публикация является продолжением моей публикации Звонок из карточки контакта через Asterisk без внешних компонент

Мне показалось, что делать авторизацию на АТС и загрузку файлов со странички CDR слишком сложно. Поэтому я попросил администратора АТС расшарить папочку с записями и смонтировать её на сервере 1С. Собственно для функционирования обработки этот путь необходимо указать в переменной ПутьКПапке в двух местах: в форме интерактивной загрузки и в модуле обработки в процедуре автоматической загрузки.

ПутьКПапке = "/home/usr1cv8/.1cv8/1C/asterisk/";
ВидКИ = "Внутренний"; // новый вид КИ, который заведён для внутреннего номера 

Т.к. мы не знаем идентификатора звонка АТС, будем искать файл по направлению (out), номеру абонента, внутреннему номеру пользователя (для этого нам нужен вид контактной информации) и точному времени звонка. Вот тут важные моменты: обработка корректно найдёт только те звонки, которые были совершены с помощью расширения из моей предыдущей статьи и время на сервере 1С и АТС должно быть синхронизировано.

А дальше всё просто:

  1. получаем список звонков за последний час;
  2. производим преобразование телефонного номера;
  3. ищем файл по маске “out-номер_абонента-номер_внутренний-дата-время*.wav”;
  4. проверяем размер файла (если 44 байта, то там только заголовок);
  5. загружаем файл, прикрепляем к карточке.

Дата и время создания документа «Телефонный звонок» могут немного отличаться от даты и времени записи, т. к. файл создаётся сразу при инициализации звонка, а документ после того, как пользователь возьмёт трубку, но эта разница не может быть больше 30 сек. (см. настройку ТаймАаут из предыдущей статьи). Чтобы не пропустить такой файл, ищем файл не только по дате документа, но и на минуту вперёд.

Теперь подключаем обработку и указываем в расписании запуск в рабочее время каждые 30 минут. С помощью интерактивной загрузки контролируем полноту и качество.

Обработка проверена на конфигурации 1С:Комплексная автоматизация 2 (2.4.7.151) и должна работать на ERP и Управлении торговлей 11.

P.S. Развернул аналогичную систему на базе ОС Windows, дополнительно встроил конвертацию в mp3, файлы уменьшились в 2-3 раза. Соответственно нужно поставить библиотеку FFmpeg и правильно указать к ней путь:

Команда = "C:\Program Files\ffmpeg\bin\ffmpeg -i " + СтрокаСписка.Файл + " -vn -ar 8000 -ac 1 -ab 128K -f mp3 " + ИмяФайлаВМП3;

 

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

Фонограмма Запись звонка АТС Asterisk

См. также

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

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

3 стартмани

26.11.2024    576    2    bme    0    

3

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

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

1 стартмани

18.01.2024    1633    1    v3132    0    

3

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

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

18.01.2024    1701    slavik27    11    

5

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

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

1 стартмани

20.07.2022    3878    1    nikolay.surdo    0    

3

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

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

1 стартмани

01.07.2022    2955    4    s_evgen    0    

0

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

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

20.06.2022    1842    itserve    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Dnki 4 29.09.19 11:42 Сейчас в теме
Как говорилось в одном советском фильме: "Я от Моцарта ожидал большего."
2. soulner 483 29.09.19 20:34 Сейчас в теме
(1) Согласен, с начала планировал авторизовываться на web-морде Asterisk, и качать файлы со странички cdr, но оказалось, что можно проще.
3. Dnki 4 29.09.19 21:20 Сейчас в теме
А как создается документ "Телефонный звонок"? Руками?
Правильная постановка вопроса:
- автоматически в момент реального звонка от АТС
- документ получает и сохраняет в себе имя файла
- при желании прослушать, файл может и нужно скачать с компа АТС во временную папку. Но лучше сразу проиграть с удаленного компа (если это в локальной сети, то папка расшарена, ведь нет проблемы с SMB )
- а вот "загружаем файл, прикрепляем к карточке" это уже точно лишнее. Я правильно понял - все звуковые файлы хранятся в БД?
4. soulner 483 30.09.19 14:05 Сейчас в теме
(3) Там немного другой алгоритм:
1. пользователь нажимает кнопку вызова тут (https://infostart.ru/public/1085994/) или кликает по номеру телефона тут (https://infostart.ru/public/1124492/);
2. у него начитает звонить телефон;
3. пользователь снимает трубку, открывается карточка звонка, он пишет тему, разговаривает и если есть возможность, по набирает описание телефонного разговора.
В этот момент в базе ещё не создан документ "Телефонный звонок", а на АТС ещё не записан звуковой файл.
4. Звонок заканчивается, пользователь кладёт трубку, файл появился, а документ "Телефонный звонок" ещё нет.
5. Пользователь дописывает информацию о звонке и сохраняет карточку. В принципе, в этот момент уже можно загрузить файл.
6. Обработка, запускаемая регламентным заданием загружает файл и прикрепляет к карточке.
Файлы не хранятся в базе, они, как и все остальные файлы, хранятся в томах на диске.
5. zavyzka 51 10.11.19 20:01 Сейчас в теме
soulner, ждём обещанную статью про приём входящего звонка)
6. soulner 483 12.11.19 12:17 Сейчас в теме
(5) Я помню, но всё руки не доходят
7. malinko.vasiliy 7 19.03.20 15:12 Сейчас в теме
"Поэтому я попросил администратора АТС расшарить папочку с записями и смонтировать её на сервере 1С" - не могли бы кратенькую инструкция от администратора :)
8. soulner 483 19.03.20 18:47 Сейчас в теме
(7) Тут всё зависит от той операционной системы, на которой развёрнут Asterisk. Если это windows (да, и такое бывает), то тут всё просто - правой кнопкой - поделиться. А если Linux, то не знаю. Яндекс по фразе "linux расшарить папку" выдаёт кучу статей. А если это иное оборудование? Есть вариант поставить АТС на роутер Mikrotik, то тут не помогу ничем.
Могу сообщить путь, который расшарен у нас: /var/spool/asterisk/monitor, может это поможет.
Оставьте свое сообщение