Загрузка записей телефонных звонков из 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

См. также

Управление взаимоотношениями с клиентами (CRM) Телефония, SIP Облачные сервисы, хостинг 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Продукт интеграции возможностей Облачной АТС Билайн в систему 1С Предприятие 8. Звонки прямо из программы 1С, уведомления о текущих звонках, регистрация пропущенных и завершенных вызовов, ведение журнала, анализ данных об использовании мобильной связи.

12000 руб.

20.03.2019    23642    56    0    

39

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

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

3 стартмани

26.11.2024    531    2    bme    0    

3

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

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

1 стартмани

18.01.2024    1583    1    v3132    0    

3

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

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

18.01.2024    1658    slavik27    11    

5

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

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

1 стартмани

20.07.2022    3849    1    nikolay.surdo    0    

3

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

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

1 стартмани

01.07.2022    2926    3    s_evgen    0    

0

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

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

20.06.2022    1804    itserve    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Dnki 4 29.09.19 11:42 Сейчас в теме
Как говорилось в одном советском фильме: "Я от Моцарта ожидал большего."
2. soulner 475 29.09.19 20:34 Сейчас в теме
(1) Согласен, с начала планировал авторизовываться на web-морде Asterisk, и качать файлы со странички cdr, но оказалось, что можно проще.
3. Dnki 4 29.09.19 21:20 Сейчас в теме
А как создается документ "Телефонный звонок"? Руками?
Правильная постановка вопроса:
- автоматически в момент реального звонка от АТС
- документ получает и сохраняет в себе имя файла
- при желании прослушать, файл может и нужно скачать с компа АТС во временную папку. Но лучше сразу проиграть с удаленного компа (если это в локальной сети, то папка расшарена, ведь нет проблемы с SMB )
- а вот "загружаем файл, прикрепляем к карточке" это уже точно лишнее. Я правильно понял - все звуковые файлы хранятся в БД?
4. soulner 475 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 475 12.11.19 12:17 Сейчас в теме
(5) Я помню, но всё руки не доходят
7. malinko.vasiliy 7 19.03.20 15:12 Сейчас в теме
"Поэтому я попросил администратора АТС расшарить папочку с записями и смонтировать её на сервере 1С" - не могли бы кратенькую инструкция от администратора :)
8. soulner 475 19.03.20 18:47 Сейчас в теме
(7) Тут всё зависит от той операционной системы, на которой развёрнут Asterisk. Если это windows (да, и такое бывает), то тут всё просто - правой кнопкой - поделиться. А если Linux, то не знаю. Яндекс по фразе "linux расшарить папку" выдаёт кучу статей. А если это иное оборудование? Есть вариант поставить АТС на роутер Mikrotik, то тут не помогу ничем.
Могу сообщить путь, который расшарен у нас: /var/spool/asterisk/monitor, может это поможет.
Оставьте свое сообщение