Имеется достаточно простой и удобный способ звонить из 1С и других систем при наличии у сотрудника телефона Yealink, далее на примере Yealink T20. В интернете можно легко найти способы работы с данным телефон, тут описывается приминительно к 1С.
На данных телефонах функционирует полноценный Web-интерфейс настройки и управления, одной из возможностью которого является набор номера телефона:
А раз есть способ вызвать из Web-интерфейса номер телефона, то мы может им воспользоваться и сформировать свой HTTP – запрос. Чтобы правильно сформировать запрос можно ознакомиться с документацией, а можно просто посмотреть, какой будет отправлен запрос из самой системы. Для этого воспользуемся программой Fiddler. Заполнив поле «Номер» и нажав кнопку на набор, мы увидим:
В данном запросе параметр 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