Интеграция 1С 8.2 и Asterisk (упр. формы)

Публикация № 205338

Управление - Управление взаимоотношениями с клиентами (СRM)

1C8 Asterisk интеграция телефония

Пример интеграции на управляемых формах.
Работа с телефонией в тонком клиенте.

Решение сделано на основе внешней компоненты ROM-Asterisk.dll от simplit

Огромное спасибо пользователю Олег Ризванов за его труд и бесценные комментарии.

 

Итак, перейдем к делу.

 

В: что это такое ?

О: Подсистема на управляемых формах, которую можно интегрировать почти в любую конфигурацию (как в типовую, так и в самопал).

 

В: Как это работает?

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

 

В: а если я захочу что-то исправить?

О: Разработка не представляет из себя ничего сложного. Функционал бесплатной панели телефонии для 1С и Asterisk перекочевал в модуль упр.приложения, пару общих модулей, а также добавлен один справочник (настройки подключения к АТС) и один регистр сведений (настройки АТС для пользователей)

 

В: как установить\интегрировать?

О: Как сказано выше - разработка не представляет из себя ничего сложного. Можете "сравнить\объединить...", а можете и ручками. Последний вариант, конечно предпочтительнее. Т.к. будете знать, куда копать если захотите что-то допилить, а работы всего на пару минут

 

Рассмотрим интеграцию подсистемы "Телефония" на типовой УТ 11. Блок объединения конфигурации рассматривать не будем - там всё просто.

В панели разделов появится новая подсистема, а конфигурация встретит вас сообщением:

Если для пользователя не заданы настройки

 

Далее, заходим в подсистему телефония и задаем настройки:

- в справочнике "Виды АТС" указываем настройки подключения к IP АТС

- в регистре сведений "Настройки пользователей АТС" указываем связку какой пользователь какую АТС использует, его персональный внутренний номер и контекст

После этого перезапускаем 1С.

Система попробует подключить внешнюю компоненту (dll). По умолчанию забит путь C:\Windows\System32\, если dll-ки там нет, то конфигурация попытается самостоятельно сохранить туда файлик ROM-Asterisk.dll

 

После этого, нужно запуститься в толстом клиенте. Это необходимо для того, чтобы 1C зарегистрировала внешнюю компоненту в реестре Windows (можете зарегить самостоятельно, тогда запуск в толстом клиенте не потребуется).

Опять запускаем 1С (теперь можно в тонком клиенте), если всё прошло успешно - вы увидите внизу всплывающие окна, о том что всё ОК :)

В противном случае, система выдаст вам сообщение об ошибке.

Алгоритм такой:

1) проверка настроек для данного пользователя

2) подключение внешней компоненты

3) инициализация объекта

4) подключение к АТС

 

Если какой-то этап завален, дальше не взлетит. О чём вам скажут сообщения об ошибке.

В: Как звонить (совершать исходящие вызовы)?

О: В общем модуле "вТелефонияКлиент" есть экспортная процедура "Звонить" с одним единственным параметром, куда передаётся номер телефона. Завязывайте на неё любую кнопку в вашей конфигурации

 

Обработку входящего звонка допиливайте самостоятельно в модуле упр.приложения через процедуру "ОбработкаВнешнегоСобытия"

Далее, обработка звонков ограничивается только вашей фантазией. Можно завязать любое логирование событий, вплоть до фиксирования длительности звонка и т.д. и т.п.

Enjoy :)

P.S. на самую лучшую в мире разработку не претендую, вполне возможны косячки Tongue Out

Скачать файлы

Наименование Файл Версия Размер
tel.cf

.cf 183,74Kb
209
.cf 183,74Kb 209 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо свернутое
1. oleg.rizvanov 247 28.10.13 19:03 Сейчас в теме
Вообще-то, я Олег Ризванов, а не Олег Ривзанов :)
3. CagoBHuK 32 30.10.13 16:09 Сейчас в теме
Управляемые формы подразумевают работы и в Linux-клиенте в том числе. Ваша разработка работает в нем? А в браузере?
6. CeHbKA 277 30.10.13 18:01 Сейчас в теме
Вы кажется невнимательно читаете. Причем, очень часто. Внешняя компонента - не моя разработка.

А по поводу плюса - от Вас и не надо ;)
7. Жолтокнижниг 251 31.10.13 09:44 Сейчас в теме
а что нового по сравнению с панелью от simplit, очередная гуёвая переработка?
user718181; +1 1 Ответить 1
9. oleg.rizvanov 247 06.06.14 03:09 Сейчас в теме
Тихо и незаметно Simplit выпустил NativeAPI-версию ROM-Asterisk + новый релиз COM-версии

Из нового:
- Поддерживается сторона сервера
- Можно нарастить глубину очереди событий
- Можно перенаправлять ошибки во внешнее событие

Возможно, стоит пересобрать эту обработку под ROM-Asterisk-Native?
ironn; h00k; +2 Ответить 1
11. necsoft 3 13.05.16 00:01 Сейчас в теме
Доброй ночи!

Беру демо конфу - все работает. Встраиваю в свою (самописная) через сравнение и объединение и вылетает на Функция Login(Логин,Пароль), а именно при выполнении Если глТелефония.Подключено=1 Тогда

// Авторизация в Asterisk Manager API
//
// Возвращаемое значение: 1-команда отправлена, 0-нет
//
&НаКлиенте
Функция Login(Логин,Пароль)
//    ДокументОбъект = РеквизитФормыВЗначение("Объект"); 
	Если ПустаяСтрока(Логин) Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Login(). Не указан параметр <Логин>";
		Сообщение.Сообщить(); 
		Возврат 0;
	КонецЕсли; 

	Если ПустаяСтрока(Пароль) Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Login(). Не указан параметр <Пароль>";
		Сообщение.Сообщить(); 
		Возврат 0;
	КонецЕсли; 

	Если глТелефония.Подключено=1 Тогда
		CRLF = Chars.CR + Chars.LF;
		СтрокаКоманды= "Action: Login"+CRLF+
		"Username: "+Логин+CRLF+
		"Secret: "+Пароль+CRLF+CRLF;
		Возврат ВыполнитьКоманду(СтрокаКоманды);
	КонецЕсли; 

	КонецФункции // Login
Показать


Буду благодарен за помощь!
13. Rustig 1664 14.06.16 17:55 Сейчас в теме
(0) добрый день. где можно скачать внешнюю компоненту ROM-Asterisk.dl ?
16. user718181 26.09.18 10:06 Сейчас в теме
Что за "профессионал" писал эту обработку? Ошибка на ошибке. ПодключитьОбработчикОжидания("вТелефонияКлиент.Автоподключение",30,Ложь); в глобальном модулe не работает.
17. user718181 26.09.18 10:40 Сейчас в теме
ОтключитьОбработчикОжидания("ПереподключитьТелефонию") - в модуле управляемого приложения это что вообще? Даже процедуры такой нет в конфе
22. maksimov1c 6 11.06.19 17:49 Сейчас в теме
Почему он не отрабатывает Если глТелефония.Подключено=1 Тогда изначально глТелефония - это наша dll, после того как отладчиком смотришь "глТелефония.Подключено" , глТелефония стает пустой.
23. maksimov1c 6 11.06.19 20:15 Сейчас в теме
	ТекущийРежим = глТелефония.РежимПрослушивания;
	// корректируем принимаемый параметр
	Режим = ?(Режим<0,0,Режим);
	Режим = ?(Режим>1,1,Режим);
	Если Режим - ТекущийРежим > 0 Тогда
		глТелефония.РежимПрослушивания(Режим);
	КонецЕсли;
	Возврат глТелефония.РежимПрослушивания;
Показать


Зависает dll зарег
24. maipochta 16.10.19 14:26 Сейчас в теме
Библиотека инициализируется на клиенте, т.е. клиент обязательно на Windows, а сервер 1с можно на Linux использовать? Или все только на Windows?
Оставьте свое сообщение

См. также

Интеграция с бонусной программой лояльности ManyBonus Промо

Управление взаимоотношениями с клиентами (СRM) Розничная торговля WEB v8 Розница УУ Абонемент ($m)

ManyBonus.com - бонусная программа лояльности на базе мессенджеров. Позволяет регистрировать клиента в программе лояльности через Telegram, Viber, VK, отправлять коды скидок в мессенджеры, получать уведомления при списании/начислении бонусных баллов, альтернатива сообщениям СМС.

3 стартмани

07.01.2021    1844    2    Anton64    0    

http-сервисы для интеграции 1С и облачной телефонии (на примере Sipuni)

Телефония, SIP v8 v8::ОУ УТ11 Абонемент ($m)

Использование http-сервисов 1С для прямой интеграции с API облачной телефонии на примере оператора Sipuni. Демонстрируется возможность управления входящим звонком с помощью 1С. А также внешняя обработка для исходящих звонков.

5 стартмани

03.05.2018    20264    25    Kutuzov    5