gifts2017

Взаимодействие 1С и стационарных телефонов семейства yealink

Опубликовал Геннадий Жаркой (ifal) в раздел Программирование - Инструментарий

Если вы являете обладателем стационарных телефонов Yealink, то имеется достаточно простой способ взаимодействовать с ним через 1С с использованием HTTP-запроса и упростить повседневную процедуру набора номера на телефоне.

Имеется достаточно простой и удобный способ звонить из 1С и других систем  при наличии у сотрудника телефона Yealink, далее на примере Yealink T20. В интернете можно легко найти способы работы с данным телефон, тут описывается приминительно к 1С.  

На данных телефонах функционирует полноценный Web-интерфейс настройки и управления, одной из возможностью которого является набор номера телефона:

 Панель управления

А раз есть способ вызвать из Web-интерфейса номер телефона, то мы может им воспользоваться и сформировать свой HTTP – запрос. Чтобы правильно сформировать запрос можно ознакомиться с документацией, а можно просто посмотреть, какой будет отправлен запрос из самой системы. Для этого воспользуемся программой Fiddler. Заполнив поле «Номер» и нажав кнопку на набор, мы увидим:

HTTP-запрос вызов звонка

В данном запросе параметр sid можно отбросить и тогда получим относительный путь:

/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=897854&Account=0,

где Number - номер вызываемого абонента, остальное оставляем как есть, тогда сам код будет выглядеть так:

Соединение = Новый HTTPСоединение(IPАдресВашегоТелефона, 80, Логин, Пароль);
Номер = "Любой номер телефон";
Запрос = Новый HTTPЗапрос("/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number="+Номер+"&Account=0");
Соединение.Получить(Запрос);

Используя другие параметры, можно вешать трубку и многое другое. Так же  описанный подход подойдет и для других подобных телефонов.

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

После подключения обработка доступна из пункта меню Заполнение справочника Партнеры.  Для работы обработки необходимо в режиме предприятия создать для справочника Пользователи дополнительный реквизит "Настройки телефона". В этом реквизите указать параметры соединения с телефоном конкретного пользователя в формате: ip телефона; порт; логин; пароль. Пример: 192.168.200.10;80;admin;admin

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

Наименование Файл Версия Размер
Звонок контактному лицу 13
.epf 10,41Kb
08.09.15
13
.epf 10,41Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Олег Дмитров (baracuda) 08.09.15 12:34
А как дела обстоят с записью звонков, просмотра длительности разговора и т.д.?
Ай да свой IP АТС - сервер на 1С.
2. Геннадий Жаркой (ifal) 08.09.15 13:24
(1) baracuda, запись звонков, их длительность и т.д. - это все-таки функция АТС. Тут придется работать с АТС, например, у Asterisk есть разные интерфейсы для взаимодействия, например, AMI, через него уже можно делать то, что вы хотите. Для работы с этим интерфейсом придется использовать какие-нибудь внешние компоненты, например, ROM-Asterisk, данную компоненту использую на одном из проектов, правда там мне нужно только перехват входящего вызова, для определения номера телефона. Но обычно это делается не через 1С ,а ставиться уже готовый пакет для Asterisk, который это все уже умеет и с Web-интерфейсом, и отдельно это все анализируется.
А описанную в статье возможность использую для себя, правда не из 1С, а из Firefox.
3. Олег Дмитров (baracuda) 09.09.15 14:32
(2) ifal, понятно. У нас железка MyPBX U100 и телефоны Yealink. Есть коннектор МИКО, но цена вопроса смущает.
4. Геннадий Жаркой (ifal) 09.09.15 15:30
(3) baracuda, в этой железки на борту стоит Asterisk, а это теоритечески значит, что можно использовать бесплатную компоненту ROM-Asterisk, в которой есть ключевая функция ВыполнитьКоманду (произвольную команду), с которой можно любую функцию использовать. Так в общем комплексно решить проблему - это много кода. А если по отдельности, то можно разные вещи сделать, например, запись и прослушивание разговора - это можно в самом asterisk настроить, он будет куда-то класть файлы, а с скажем из 1С читать эту папку и исполнять (прослушивать) файлы. Так же к Asterisk можно поднять FreePBX, тогда будет удобная панель управления, разная статистика и т.д.
5. Дмитрий ххх (dsuryaninov) 10.09.15 10:02
(4) ifal,
... можно использовать бесплатную компоненту ROM-Asterisk

Поддержка бесплатных версий ROM-Asterisk прекращена.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа