Звонок из карточки контакта через Asterisk без внешних компонент

24.08.19

Функциональные - Управление взаимоотношениями с клиентами (CRM)

Не спешат, к сожалению, разработчики 1С интегрировать Управление торговлей с IP-телефонией. Есть решения от сторонних производителей, но они сильно платные и используют механизм внешних компонент. А было бы круто, если бы можно было сразу позвонить из карточки контактного лица и тут же заполнить форму звонка, и всё это без привязки к Windows… Эх, мечты!

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Вызов из карточки контакта через Asterisk
.cfe 23,95Kb
40 1 850 руб. Купить

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

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

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

Поискал информацию на нашем любимом сайте, а там такое Asterisk без внешних компонент?. Очень благодарен уважаемому Олегу, он подтолкнул к разным интересным мыслям…

Работы по интеграции с АТС Asterisk решил разбить на 4 этапа:

  1. вызов из 1С, открытие формы документа «Телефонный звонок»;
  2. сохранение записи разговора в 1С;
  3. приём входящего звонка в 1С;
  4. набор дополнительного номера при исходящем звонке (надо проиграть DTFM после дозвона до абонента).

Предлагаю решение 1го этапа.

Расширение перехватывает команду «ПозвонитьПоТелефону» из модуля «Управление контактной информацией» и пытается осуществить вызов. Далее из номера телефона убираются все символы, кроме цифр и анализируется то, что получилось. Если все проверки пройдены, то на АТС отправляется запрос через интерфейс AJAM (не зависит от внешних компонент, будет работать на Linux). АТС дозванивается до внутреннего абонента, а когда он снимает трубку, набирает внешний номер. Параллельно, после снятия трубки внутренним абонентом, открывается форма создания нового телефонного звонка с заполненными полями контакта.

Коротко про настройки. На стороне АТС настраивал не я, но мне сказали, что по инструкции от "ребят из МИКО" всё получается (см. ссылку выше). В текст функции «ВызовНачат» общего модуля «ИТТ_ТелефонияСервер» нужно внести необходимые настройки:
 

IP        = "192.168.0.1";  	// адрес АТС
Port      = 8088;               // порт АТС
User      = "admin";            // логин
Password  = "password";	        // пароль
Контекст  = "from-internal";    // контекст вызова АТС
ВидКИ     = "Внутренний";    	// новый вид КИ, который заведён для внутреннего номера
ТаймАаут  = 30;			// таймайт соединения с АТС
CookieTTL = 60;			// по умолчанию Max-Age=60

Тут всё понятно, поясню только переменную «ВидКИ» - это новый вид контактной информации справочника «Пользователи», которая содержит внутренний номер абонента, он необходим для осуществления звонка.

Все ошибки пишутся в системный журнал, я решил не утомлять пользователя сложными текстами про неправильные цифры в номере телефона или ответе Asterisk.

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

Продолжение следует...

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

Телефонный звонок АТС Asterisk

См. также

Платные (руб)

Битрикс24 – это цифровое рабочее пространство для автоматизации вашей компании и работы сотрудников. Ставьте и контролируйте задачи, отправляйте файлы и голосовые сообщения, общайтесь в чате, обсуждайте планы и принимайте взвешенные решения. Используйте для работы десктопное и мобильное приложения. Мы проконсультируем по стоимости Bitrix24 и выбору нужного тарифа, а также поможем внедрить решение в вашем бизнесе!

159000 руб.

30.11.2020    31419    185    0    

60

Бизнес-аналитик Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

Комплексная автоматизация 1С — универсальное решение для управления предприятием и автоматизации учета, производства, продаж и финансов. Подходит для малого и среднего бизнеса. Купить программу 1С:Комплексная автоматизация 8 (редакция 2.5) можно по выгодной цене с электронной поставкой. Внедрение системы позволит объединить все ключевые процессы в одной платформе и повысить эффективность компании. Узнайте стоимость, сравните версии и закажите автоматизацию для вашего бизнеса с бонусом 15% в Инфостарт!

94700 руб.

19.02.2016    84862    119    0    

115

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    37297    72    45    

31

Пользователь 1С v8.3 Управленческий учет Платные (руб)

Решение 1С:CRM 3.1 предназначено для компаний с потребностью совместной работы более 5 пользователей в единой информационной базе. Решение позволяет автоматизировать все бизнес-процессы компании в соответствии с концепцией CRM, включая закупки, продажи, маркетинг, сервисное обслуживание и пр.

6500 руб.

10.11.2015    44249    35    1    

20

Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

4800 руб.

07.04.2014    88888    60    199    

145

Рабочее место Оптовая торговля Розничная торговля Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Данная обработка - удобный инструмент в 1С для менеджеров по продажам для повседневной работы с клиентами. Позволяет упростить весь цикл работы с клиентом: первичная консультация по наличию товара, быстрое оформление нового заказа, контроль исполнения заказов. Обработка будет особенно актуальна для компаний, работающих, в основном, с юридическими лицами.

18000 руб.

08.11.2016    63058    43    23    

65

Взаиморасчеты Производство готовой продукции (работ, услуг) Рабочее место Пользователь Руководитель проекта 1С v8.3 Гостиничный бизнес Управленческий учет Платные (руб)

Конфигурация для автоматизации учета работы мини-отеля или хостела. Конфигурация максимально проста, что позволяет приступить к работе максимально быстро! Достаточно посмотреть 9-ти минутное видео, в котором показаны основные принципы работы с конфигурацией. Разработана на управляемых формах. Код открыт, при необходимости конфигурацию можно дорабатывать под свои нужды.

8400 руб.

30.09.2015    41535    14    40    

27
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. nytlenc 01.07.19 09:26 Сейчас в теме
Без внешних компонент но зато со сторонним телефоном или софтфоном.... Одно решение другого краше...
2. ArchLord42 84 01.07.19 09:50 Сейчас в теме
(1)
Без внешних компонент но зато со сторонним телефоном или софтфоном.... Одно решение другого краше...


Ну а как вы позвоните без телефона или софтфона в принципе? Интегрировать VOIP в 1С напрямую, так это дорого и нафиг не нужно.
4. nytlenc 01.07.19 11:20 Сейчас в теме
(2) уже звоню. Скоро выйдет мое платное решение для 1С, позволяющее выполнять звонки (и еще много чего) напрямую из 1С минуя софтфоны и стационарные телефоны. Внешняя компонента будет сама непосредственно выступать в роли софтфона с различными полезными функциями, начиная от определения ввода (кнопки которые нажимает пользователе на телефоне) и заканчивая синтезом речи в трубку пользователя прямиком из 1С. Таким образом 1С сама себе станет софтфоном.
5. soulner 483 01.07.19 11:23 Сейчас в теме
(1) Телефон, конечно нужен (или софтофон с гарнитурой) без него никак. Тут вопрос удобства. Менеджеру начальник ставит задачу или он сам себе делает напоминание, предметом является контактное лицо. Таким образом звонок - это 3 клика мышью: 1-по предмету, 2-по закладке с контактами, 3-по команде звонка. Там, где я поставил это расширение все очень довольны.
7. nytlenc 01.07.19 11:30 Сейчас в теме
(5) я к тому, что помимо этого расширения нужно ставить отдельно сторонний софтфон чтобы все работало ))) в идеале же можно сделать тоже самое и без стороннего софтфона
8. soulner 483 01.07.19 11:35 Сейчас в теме
(7) если Вам это удастся, да ещё и кроссплатформенно, буду стоя аплодировать.
9. nytlenc 01.07.19 12:42 Сейчас в теме
(8) обещаете снять видео, где вы аплодируете стоя и выложить его в публичный доступ, поделившись здесь ссылкой? )))
3. ArchLord42 84 01.07.19 09:52 Сейчас в теме
сохранение записи разговора в 1С


Зачем их сохранять в 1С? Достаточно достать их из астера и все, к тем более у него есть табличка с Cdr обычно, где хранятся идентфикаторы звонков, через которые в свою очередь можно скачать файл звонка напрямую с АТС пользователю.
6. soulner 483 01.07.19 11:28 Сейчас в теме
(3) Иногда возникают спорные вопросы с клиентом, тогда руководство может прослушать разговоры и разобраться кто прав. Иногда нет смысла или возможности хранить записи звонков на АТС (некоторые ставят Asterisk через METARouter в Mikrotik). Ваш вариант сложней для руководства и требует привлечения специалиста для получения записи.
10. nytlenc 01.07.19 12:44 Сейчас в теме
(3)
тем более у него есть табличка с Cdr обычно, где хранятся идентфикаторы звонков, через которые в свою очередь можно скачать файл звонка напрямую с АТС пользователю.


и нужно мудрить костыль который будет лезть в эту внешнюю таблицу и выдергивать оттуда данные, сращивать индентификаторы звонков, потом искать файлы звонков, а потом и вовсе тянуть запись с "левого" сервера, чтобы проиграть ее пользователю - а это все время и ресурсы....
11. ArchLord42 84 01.07.19 14:34 Сейчас в теме
(10) не знал что обычный sql запрос это костыль...)
О каком времени и ресурсах говорится когда нужно качнуть 100кб через http или ftp?
12. nytlenc 01.07.19 16:18 Сейчас в теме
(11) к вашему сведению, стоило бы знать - обычный sql запрос в 1С - это костыль )))) и уж тем более когда нужно качнуть 100 кб через http или ftp это два костыля сразу.
13. DenisCh 01.07.19 16:21 Сейчас в теме
(12)Штатный ПолучитьФайл() - это костыль? О_о Давно?
15. nytlenc 02.07.19 05:38 Сейчас в теме
(13) Отличить FTP, HTTP от ПолучитьФайл() не можете?
17. DenisCh 02.07.19 10:40 Сейчас в теме
(15) Предлагаю попробовать команду:

ПолучитьФайл("http://ftp.dlink.ru/README.html")

И насладиться результатом.
18. nytlenc 02.07.19 11:51 Сейчас в теме
(17) А теперь с таким же наслаждением прикручиваем сюда авторизацию )))) Которая требуется для того, чтобы получить данные и ваш ПолучитьФайл() с наслаждением превращается в сложную конструкцию с HTTPСоединение, HTTPЗапрос, FTPСоединение и т.д. и т.п. - в общем начинаем делать костыли :)
14. ArchLord42 84 01.07.19 16:23 Сейчас в теме
(12)
к вашему сведению, стоило бы знать - обычный sql запрос в 1С - это костыль ))))

Ясно.
16. пользователь 02.07.19 05:40
Сообщение было скрыто модератором.
...
19. DenisCh 02.07.19 11:59 Сейчас в теме
Я с астериска таскал данные по фтп с авторизацей в урле и наслаждался жизнью
20. nytlenc 02.07.19 12:25 Сейчас в теме
(19) наверняка в виде конструкции:
ПолучитьФайл("ftp://Login:Password@ftp.dlink.ru/README.html");

Которая предполагает открытую передачу логина и пароля, что легко перехватывается злоумышленником.... И чем же это не костыль? )))
21. soulner 483 02.07.19 12:31 Сейчас в теме
(20) Всё зависит от области применения. Данную конструкцию предполагается использовать внутри локальной сети или через VPN. Вероятность перехвата низка. К тому же, в моём случае, предполагается запрос с конкретного сервера 1С у конкретного сервера, где хранятся файлы с записями. Тут можно применить дополнительные меры защиты, сервера могут быть в своём физическом сегменте сети, например.
22. nytlenc 02.07.19 12:34 Сейчас в теме
(21)
внутри локальной сети, вероятность перехвата низка


Но она есть :) значит это не есть решение. По крайней мере массовое.

(21)
применить дополнительные меры защиты

Опять костыль )))
23. DenisCh 02.07.19 14:34 Сейчас в теме
А использование внешних компонент - так и вообще инвалидная коляска...
24. nytlenc 03.07.19 04:00 Сейчас в теме
(23) Да ладно? ))) Это почему же? Просто потому, что вы не умеете их готовить?
Внешние компоненты как раз и есть инструмент который по человечески позволяет реализовать то. чего не предусмотрено платформой нативно....
25. DenisCh 03.07.19 09:05 Сейчас в теме
(24) Нативное скачивание файлов в платформе реализовано. Это просто кто-то не умеет енго сипользовать
26. nytlenc 03.07.19 09:41 Сейчас в теме
(25) вы ушли в дебри и отклонились от темы. Мы начали обсуждение не со скачивания файлов, а вот с того:

Зачем их сохранять в 1С? Достаточно достать их из астера и все, к тем более у него есть табличка с Cdr обычно, где хранятся идентфикаторы звонков, через которые в свою очередь можно скачать файл звонка напрямую с АТС пользователю.


и теперь расскажите что здесь наименьшее зло, вот это вот или внешняя компонента?
27. Dnki 4 28.09.19 18:28 Сейчас в теме
Благодаря упомянутой статье Олега (здоровья его лошадям!) я недавно сделал механизм создания звонка через команду "originate". Опыт использования 3-х месяцев показал: Все почти прекрасно (иногда наблюдается задержка).
А вот со второй частью - прием входящих, дело обстоит хуже. Рекомендуется команда "WaitEvent".
Я написал программку для исследования процесса, и был не обрадован.
- главная проблема - 1С зависает на период ожидания запроса. Я в итоге ставил "Timeout=1"
- событий приходит очень много. Как отсеять этот мусор на Asterisk-е я не знаю. На стороне 1С отбросить могу, но все это отнимает время.
- информация приходит в теле ответа в виде многострочного текста. Следовательно, тратится ресурс на парсинг, включая и лишние сообщения (сам тип сообщения там-же).

Так что, работаю в другом направлении.
Автору - "Успехов!"
28. Dnki 4 28.09.19 18:35 Сейчас в теме
Обсуждалась передача звукового файла с Астериска.
Зачем вообще скачивать?
У нас Астериск записывает файлы в расшареную папку. А документ в 1С знает его имя.
Для озвучивания файла подойдет КомандаСистемы, ЗапуститьПриложение
Так и отыгрывается файл прямо с сетевого ресурса.
29. soulner 483 29.09.19 20:31 Сейчас в теме
(28) Можно и так. У меня в планах ещё и пережимать в mp3, но руки пока не дошли.
30. user986187 15.12.19 13:30 Сейчас в теме
Здравствуйте, интересует интеграция 1с с астериск.
31. user986187 15.12.19 13:30 Сейчас в теме
Как с вами связаться?
wrofdt@ya.ru
32. user986187 18.12.19 17:50 Сейчас в теме
Здравствуйте, скачали, но при установки выдадет ошибку.

Все скрины и выгр бд 1с по ссылке https://yadi.sk/d/93l62SXOnK94OQ
33. user986187 18.12.19 17:51 Сейчас в теме
Здравствуйте, скачали, но при установки в 1С УНФ 1.6 выдает ошибку.

Все скрины и выгр бд 1с по ссылке https://yadi.sk/d/93l62SXOnK94OQ
34. tolstyak_2000 16.03.21 07:58 Сейчас в теме
Здравствуйте, подскажите пожалуйста, какое событие или функцию ajam вы использовали при мониторинге входящего звонка.
35. soulner 483 16.03.21 09:52 Сейчас в теме
(34) Добрый день. Вот команда "/asterisk/rawman?action=WaitEvent", а потом на парсить ответ. К сожалению запрос синхронный и его нужно во что-то асинхронное заворачивать (фоновое задание, например) и с пониманием событий АТС у меня тоже вопросы. Пока только могу точно определить входящий звонок, но этого мало для корректной работы.
36. tolstyak_2000 16.03.21 14:31 Сейчас в теме
37. proger.1c 10 27.05.21 11:06 Сейчас в теме
что писать в "Cookie"и "TTL"
38. soulner 483 27.05.21 14:11 Сейчас в теме
(37) В статье указаны значения 30 и 60. Или с ними не работает?
likhoded.ys; +1 Ответить
39. likhoded.ys 23.06.21 10:59 Сейчас в теме
(38) Добрый день. как с вами можно связаться? решаю аналогичную задачу...
40. soulner 483 23.06.21 13:44 Сейчас в теме
(39) Я вам в личку контакт скинул
41. serg33rus 35 03.06.22 10:06 Сейчас в теме
Сработает, но ... мой системный админ от упоминания AJAM начинает рвать и метать. Его можно понять, потенциальная уязвимость. Долго чесали репу и родили вариант без AJAM и без внешних компонент. Можно не только сделать звонок, но и поймать в 1С входящий вызов. Правда на стороне сервера, а не клиента. Зато пофиг сколько клиентов и включена ли у клиента 1С.
Единственный минус - надо чтобы системщик шарил, поскольку некоторые действия происходят на сервере Астериск.
Вот тут https://infos33.ru/project2.html можно почитать поподробнее.
Там даже расширение скачать можно. и уж его допилить как надо.
42. soulner 483 03.06.22 12:12 Сейчас в теме
(41) Спасибо, обязательно посмотрю. Вот только про AJAM не согласен. Нужно разрешение на конкретный порт АТС с конкретного адреса сервера 1С и безопасность будет в порядке. А AJAM был выбран из-за простоты реализации. Передачу информации о входящем звонке клиенту планировал сделать или опросами сервера раз в 1-2 секунды, если клиентов мало или использовать механизм отсюда https://infostart.ru/public/1595869/
43. serg33rus 35 03.06.22 13:54 Сейчас в теме
(42) Оповещение пользователя у меня через Систему взаимодействия сделано. Она у меня просто довольно широко используется. Ну и до кучи и уведомления от АТС туда валятся.
Через AJAM доступен весь спектр AMI команд Asterisk, если мне не изменяет память, то в общей сложности 103 функции. Вот поэтому мой сисадмин и сказал, что AIM откроет только через его труп. А он мне дорог, как память :-).
Так что тут не все просто. Через AIM положить АТС совсем несложно. И не обязательно это злой умысел, может просто ошибка. А это недопустимо. У меня в АТС больше 500 абонентов. Не дай бог чего.
В общем всегда есть варианты решения. Вот прямо сейчас мы используем свою разработку. Все работает, все устраивает. Но наверно можно и как-то по другому решить.
Оставьте свое сообщение