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

24.08.19

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

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

Скачать исходный код

Наименование Файл Версия Размер
Вызов из карточки контакта через Asterisk
.cfe 23,95Kb
37
.cfe 23,95Kb 37 Скачать

Поискал информацию на нашем любимом сайте, а там такое 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

См. также

1С:CRM ПРОФ, КОРП, СТАНДАРТ, редакция 3.0

Управление взаимоотношениями с клиентами (CRM) Управление маркетингом (EMM) Платформа 1С v8.3 Управленческий учет Платные (руб)

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

9700 руб.

10.11.2015    42437    24    1    

15

Бонусная система для УТ 10.3

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    109861    93    87    

182

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

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

7788 руб.

07.04.2014    83923    41    191    

127

Рабочее место менеджера по продажам для 1С (УТ 11, ERP 2.0, КА 2) - v.2 (оптовая торговля)

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

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

18000 руб.

08.11.2016    60068    37    22    

60

Облачная АТС Билайн - интеграция с 1С

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

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

12000 руб.

20.03.2019    22379    52    0    

35

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    14086    11    8    

36

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    45166    117    66    

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


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


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


и нужно мудрить костыль который будет лезть в эту внешнюю таблицу и выдергивать оттуда данные, сращивать индентификаторы звонков, потом искать файлы звонков, а потом и вовсе тянуть запись с "левого" сервера, чтобы проиграть ее пользователю - а это все время и ресурсы....
11. ArchLord42 83 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 83 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 359 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 359 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 359 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 359 27.05.21 14:11 Сейчас в теме
(37) В статье указаны значения 30 и 60. Или с ними не работает?
likhoded.ys; +1 Ответить
39. likhoded.ys 23.06.21 10:59 Сейчас в теме
(38) Добрый день. как с вами можно связаться? решаю аналогичную задачу...
40. soulner 359 23.06.21 13:44 Сейчас в теме
(39) Я вам в личку контакт скинул
41. serg33rus 28 03.06.22 10:06 Сейчас в теме
Сработает, но ... мой системный админ от упоминания AJAM начинает рвать и метать. Его можно понять, потенциальная уязвимость. Долго чесали репу и родили вариант без AJAM и без внешних компонент. Можно не только сделать звонок, но и поймать в 1С входящий вызов. Правда на стороне сервера, а не клиента. Зато пофиг сколько клиентов и включена ли у клиента 1С.
Единственный минус - надо чтобы системщик шарил, поскольку некоторые действия происходят на сервере Астериск.
Вот тут https://infos33.ru/project2.html можно почитать поподробнее.
Там даже расширение скачать можно. и уж его допилить как надо.
42. soulner 359 03.06.22 12:12 Сейчас в теме
(41) Спасибо, обязательно посмотрю. Вот только про AJAM не согласен. Нужно разрешение на конкретный порт АТС с конкретного адреса сервера 1С и безопасность будет в порядке. А AJAM был выбран из-за простоты реализации. Передачу информации о входящем звонке клиенту планировал сделать или опросами сервера раз в 1-2 секунды, если клиентов мало или использовать механизм отсюда https://infostart.ru/public/1595869/
43. serg33rus 28 03.06.22 13:54 Сейчас в теме
(42) Оповещение пользователя у меня через Систему взаимодействия сделано. Она у меня просто довольно широко используется. Ну и до кучи и уведомления от АТС туда валятся.
Через AJAM доступен весь спектр AMI команд Asterisk, если мне не изменяет память, то в общей сложности 103 функции. Вот поэтому мой сисадмин и сказал, что AIM откроет только через его труп. А он мне дорог, как память :-).
Так что тут не все просто. Через AIM положить АТС совсем несложно. И не обязательно это злой умысел, может просто ошибка. А это недопустимо. У меня в АТС больше 500 абонентов. Не дай бог чего.
В общем всегда есть варианты решения. Вот прямо сейчас мы используем свою разработку. Все работает, все устраивает. Но наверно можно и как-то по другому решить.
Оставьте свое сообщение