ifclient for 3cx - Интерфейсif56.ru/sites/default/files/download/ifclient_31.pdf · 2016....

56
ifClient for 3CX (WebAPI Client for 3CX) 3.1 for 3CX v15 3CX v14 SP2, SP3 3CX v12.5 SP2

Upload: others

Post on 16-Aug-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

ifClient for 3CX (WebAPI Client for 3CX)

3.1for

3CX v153CX v14 SP2, SP3

3CX v12.5 SP2

Page 2: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

2

Оглавление 1 ifClient for 3CX ............................................................................................................................... 42 Схемы интеграции. ......................................................................................................................... 63 Системные требования. .................................................................................................................. 8

3.1 Общие требования .................................................................................................................. 83.2 ifClient для 3CX Phone System v15 ......................................................................................... 83.3 ifClient Plugin для 3CXPhone v15 ........................................................................................... 83.4 ifClient для 3CX Phone System v14 ......................................................................................... 83.5 ifClient Plugin для 3CXPhone v14 ........................................................................................... 83.6 ifClient для 3CX Phone System v12.5 ...................................................................................... 83.7 ifClient Plugin для 3CXPhone v12.5 ........................................................................................ 8

4 Лицензирование.............................................................................................................................. 95 Установка. ....................................................................................................................................... 9

5.1 Сетевые ключи. ....................................................................................................................... 95.1.1 Установка сервера лицензирования. .................................................................................. 95.1.2 Активация программного сетевого ключа. ........................................................................ 95.1.3 Подготовительный этап. ..................................................................................................... 95.1.4 Установка ifClient. ............................................................................................................. 105.1.5 Установка ifClient Plugin на пользовательском ПК. ......................................................... 10

5.2 Однопользовательские ключи. ............................................................................................. 105.3 Trial версия. ........................................................................................................................... 11

6 Плагин «ifClient Plugin». .............................................................................................................. 127 Работа с ПО на терминальном сервере. ....................................................................................... 128 Тестирование ifClient через WebSocket. ...................................................................................... 139 Тестирование интеграции через COM объект ifClient на примере 1С v8. ................................. 1510 События, cвойства, методы ifClient for 3CX................................................................................ 16

10.1 События ................................................................................................................................ 1610.1.1 События WebSocket сервера ......................................................................................... 1610.1.2 События COM объекта AddIn.COM_3CX_1C ............................................................. 1610.1.3 Структура строки <Данные> для обработчика события. ............................................ 1710.1.4 Тип события «channel».................................................................................................. 1710.1.5 Тип события «phone» .................................................................................................... 1710.1.6 Тип события «plugin» .................................................................................................... 1810.1.7 Тип события «group»..................................................................................................... 1810.1.8 Тип события «groupmember» ........................................................................................ 1910.1.9 Тип события «extensioninfo»......................................................................................... 1910.1.10 Тип события «localconnection» ..................................................................................... 2010.1.11 Тип события «3cxphonecall» ......................................................................................... 21

Page 3: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

3

10.1.12 Тип события «3cxphoneline» ......................................................................................... 2210.1.13 Тип события «conf» ....................................................................................................... 2210.1.14 Тип события «queueagent» ............................................................................................ 2210.1.15 Тип события «chat» ....................................................................................................... 2310.1.16 Тип события «chatmessage» .......................................................................................... 2310.1.17 Тип события «chathistory» ............................................................................................ 2310.1.18 Тип события «contact» .................................................................................................. 2310.1.19 Тип события «addcontact» ............................................................................................. 2410.1.20 Тип события «updatecontact» ........................................................................................ 2410.1.21 Тип события «deletecontact» ......................................................................................... 2410.1.22 Тип события «findcontact» ............................................................................................ 2410.1.23 Тип события «callhistory» ............................................................................................. 2510.1.24 Тип события «prop» ...................................................................................................... 25

10.2 WebSocket - команды ............................................................................................................ 2610.3 Свойства ................................................................................................................................ 26

10.3.1 WebSocket – команды и ключи для установки и получения свойств .......................... 2610.3.2 COM объект - свойства, WebSocket - значения ключей для установки и получениясвойств 26

10.4 COM объект - методы, WebSocket - управляющие команды ............................................... 3110.4.1 Подключение к АТС, управление статусом ................................................................. 3110.4.2 Общие методы для работы с вызовами ........................................................................ 3210.4.3 Работа с софтфоном 3CXPhone .................................................................................... 3410.4.4 Работа с аппаратными телефонами, поддерживающими CTI ..................................... 3810.4.5 Работа с конференциями ............................................................................................... 4010.4.6 Работа с чатом ............................................................................................................... 4110.4.7 Работа с телефонной книгой ......................................................................................... 4310.4.8 Получение истории вызовов ......................................................................................... 4410.4.9 Воспроизведение записи вызова .................................................................................. 45

11 Примеры кода 1С 8 для работы с COM объектом ....................................................................... 4611.1 Загрузка ВК 1С. .................................................................................................................... 4611.2 Обработка внешних событий в 1С. ...................................................................................... 4611.3 Обработка параметра <Данные>. ......................................................................................... 47

12 Тестовая обработка ТФ3_Панель_ОП_2_5.epf ............................................................................ 4913 Контактная информация............................................................................................................... 56

Page 4: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

4

1 ifClientfor3CX

Модуль интеграции ifClient for 3CX (предыдущее название WebAPI Client) предназначен для интеграции IP-АТС3CX Phone System с другим программным обеспечением. С помощью ifClient можно осуществитьполнофункциональную интеграцию IP-АТС 3CX Phone System с 1С:Предприятие, различными облачными CRMсистемами; сценариями VBScript и JavaScript и т.д.. Функционал модуля идентичен функционалу софтфона3CXPhone for 3CX Phone System, находящегося в режиме CTI (управления настольным телефоном). Модуль работаетс любыми моделями аппаратных или программных телефонов.

ifClient состоит из двух частей: непосредственно сам модуль интеграции; плагин для софтфона 3CX Phone –ifClient Plugin, предназначенный для управления софтфоном.

Модуль интеграции ifClient можно использовать как независимое приложение, осуществляя интеграцию черезWebSocket сервер модуля, или встроить его в интегрируемое ПО как COM компонент.

Функционал модуля интеграции.

Управление состоянием оператора:- регистрация / отмена регистрации на сервере 3CX;- управление статусом присутствия;- управление статусом DND (не беспокоить);- регистрация / отмена регистрации в очередях;- выбор абонентского устройства для управления, при наличии нескольких устройств.

Управление телефоном и собственными вызовами оператора:- осуществление исходящего вызова;- ответ на входящий вызов (при использовании софтфона 3CXPhone или аппаратного телефона с поддержкой CTI);- сброс входящего или активного вызова;- перевод входящего вызова без поднятия трубки;- слепой (безконсультативный) перевод вызова;- сопроводительный перевод (консультативный);- удержание / снятие с удержания;- отключение / включение микрофона;- отправка DTMF сигналов;- управление статусом DND на телефоне с поддержкой CTI;- получение истории вызовов с возможностью фильтрации по датам, номерам телефонов и типу вызовов;- воспроизведение записей вызовов на телефоне или через проигрыватель.

Работа с вызовами на Автосекретаре (IVR):- получение событий о вызовах на автосекретаре;- сброс вызова;- перевод вызова.

Работа с вызовами других операторов:- получение событий о вызовах других операторов;- перехват входящего не отвеченного вызова;- сброс вызова;- перевод вызова;- вмешательство в активный разговор;- подслушивание разговора;- режим «подсказки».

Работа с конференциями:- создание конференции;- добавление / удаление участников конференции;- включение / отключение звука участнику конференции;- завершение конференции.

Page 5: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

5

Работа с внутренним чатом 3CX Phone System:- отправка, прием, удаление сообщений;- получение истории сообщений чата.

Работа с телефонной книгой:- получение контактов из персональной и корпоративной телефонных книг;- поиск контакта в телефонной книге;- добавление, редактирование и удаление контактов в телефонной книге.

On-line получение информации и событий с АТС:- информация обо всех внутренних номерах 3CX Phone System: номер, фамилия и имя абонента; номер мобильноготелефона; статусы регистрации на АТС, DND, занятости, регистрации в очереди; регистрации в чате; текстовогостатуса;- события при изменении каких-либо данных внутренних абонентов;- информация обо всех активных вызовах 3CX Phone System: номер, имя, фамилия вызывающего; номер, имя,фамилия вызываемого; время начала вызова; время ответа на вызов; текущее состояние вызова; тип линии;- события при возникновении или изменения статуса соединений.

Page 6: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

6

2 Схемыинтеграции.

ifClient является клиентским приложением и устанавливается на клиентский ПК, либо на терминальный сервер.Интеграция с 3CX Phone System можно осуществить двумя способами:

- взаимодействие интегрируемого ПО с ifClient по протоколу TCP, где ifClient выступает в качестве WebSocketсервера;

- встраивание COM объекта ifClient в интегрируемое ПО.

Интеграция с 3CX через WebSocket:

Page 7: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

7

Интеграция с использованием COM объекта ifClient:

Page 8: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

8

3 Системныетребования.

3.1 Общиетребования

1. Операционная система: Windows 7/8/10, Windows Server 2008 - 2012.2. Установленный софтфон 3CXPhone for 3CX Phone System, идущий в составе 3CX Phone System.

3. Наличие звуковой карты и аудио устройств (при работе с софтфонами в качестве абонентского устройства).4. Возможность подключения к ПК, на котором установлена АТС 3CX Phone System, по TCP/IP портам 5000, 5001, 80,

443 или других, в зависимости от того какие порты были выбраны при установке АТС.

3.2 ifClientдля3CXPhoneSystemv15

1. Microsoft .NET Framework 4.5.1 и выше.2. IP-АТС 3CX Phone System v.15.

3.3 ifClientPluginдля3CXPhonev15

1. Microsoft .NET Framework 4.5.1 и выше.2. IP-АТС 3CX Phone System v.15.

3.4 ifClientдля3CXPhoneSystemv14

1. Microsoft .NET Framework 4.0 и выше.2. IP-АТС 3CX Phone System v.14 SP2, SP3.

3.5 ifClientPluginдля3CXPhonev14

1. Microsoft .NET Framework 4.5.0 и выше.2. IP-АТС 3CX Phone System v.14 SP2, SP3.

3.6 ifClientдля3CXPhoneSystemv12.5

1. Microsoft .NET Framework 4.0 и выше.2. IP-АТС 3CX Phone System v.12 SP2.

3.7 ifClientPluginдля3CXPhonev12.5

1. Microsoft .NET Framework 4.0 и выше.2. IP-АТС 3CX Phone System v.12.5 SP2.

Запуск 3CXPhone при работе с аппаратными телефонами и сторонними софтфонами не требуется.

Page 9: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

9

4 Лицензирование.

Продукт является распространяемым по принципу "попробуй перед тем, как купить". Вы можете бесплатноиспользовать ifClient for 3CX на протяжении 30 дней с момента установки Продукта (пробный период). Послеокончания пробного периода продукт прекратит работу с выдачей соответствующего сообщения. Для использованияifClient for 3CX после окончания пробного периода необходимо приобрести лицензию на использование. Модульинтеграции ifClient и плагин для софтфона 3CXPhone ifClient Plugin лицензируются раздельно.

5 Установка.

5.1 Сетевыеключи.

5.1.1 Установкасервералицензирования.

1. Загрузите Сервер лицензий Guardant 7 по ссылке: http://www.guardant.ru/support/download/server/.2. Установите Сервер лицензий Guardant 7 на ПК\Сервер, который будет использоваться в качестве сервера

лицензирования.3. Подключите аппаратный ключ к серверу лицензирования. Если вы приобрели программный ключ, выполните

действия из п.5.1.2.4. Сохраните конфигурационный файл настроек клиента Сервера лицензирования, для распространения.

4.1. Зайдите на панель управления сервера лицензирования ("http://localhost:3185/" с сервера лицензирования или"http://IP_адрес_сервера_лицензирования:3185/" с любого ПК в сети.

4.2. Кликните на ссылке "Client's setting".4.3. Создайте файл gnclient.ini и скопируйте в него строки со страницы настроек "Client's setting", начиная со

строки [CLIENT].

5.1.2 Активацияпрограммногосетевогоключа.

1. Запустите на сервере лицензирования "Activation Wizard" (GuardantActivationWizard.exe).2. В открывшемся окне "Мастера активации Guardant" нажмите кнопку "Указать файл лицензии" и укажите

высланный вам шаблон ключа (файл ххххххх.grdvd) и нажмите "Далее".3. Введите в поле предоставленный вам серийный номер и нажмите "Далее", при успешной активации появится

соответствующее сообщение.

5.1.3 Подготовительныйэтап.

1. Если вы работаете с интегрируемым приложением на терминальном сервере, то установите софтфон 3CXPhone натерминальном сервере, в противном случае установите софтфон на пользовательский ПК.

2. Настройте аккаунт на софтфоне (проще всего и быстрее это сделать через Welcome Email).3. Проверьте работоспособность софтфона.4. Важно!!! Если на панели софтфона отсутствует "статус присутствия", или окно "Сведения о присутствии"» не

открывается, или в нем отсутствует список абонентов, то это говорит о некорректной работе софтфона из-за средствбезопасности ОС, антивирусного ПО, настроек Веб сервера и т.п., и, соответственно, это влияет наработоспособность ifClient, добейтесь полной работоспособности 3CXPhone.

5. Если в качестве абонентского устройства используется аппаратный телефон или 1С расположено на терминальномсервере, а софтфон 3CXPhone - на пользовательском ПК, то последующий запуск софтфона не требуется.

Page 10: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

10

6. Действия для 1С:Предприятия.6.1. Зарегистрируйте библиотеку 1С addnmrs.dll (находится в каталоге bin, например C:\Program Files

(x86)\1cv82\8.2.19.76\bin) – при успешной регистрации должно появиться сообщение:

6.2. Зарегистрируйте библиотеку 1С comcntr.dll (находится в каталоге bin, например C:\Program Files(x86)\1cv82\8.2.19.76\bin) – при успешной регистрации должно появиться сообщение аналогичное п.6.1.

5.1.4 УстановкаifClient.

1. Если установлена предыдущая версия ПО - WebAPI Client for 3CX 2.x, то деинсталлируйте WebAPI Client.2. Запустите установщик от имени администратора на сервере терминалов или на пользовательском ПК, в

зависимости от того где у вас запускается интегрируемое приложение.3. В окне выбора компонентов отметьте "ifClient for 3CX".4. Если в качестве абонентского устройства используется софтфон 3CXPhone, расположеный там же, где и

интегрируемое приложение, то в окне выбора компонентов дополнительно отметьте "ifClient Plugin for 3CX".5. Если интегрируемое приложение используется на терминальном сервере, а софтфон используется на клиентском

ПК, то требуется отдельная установка плагина на клиентском ПК (п.5.1.5).6. Выполните все действия для завершения установки выбранных компонентов.7. Скопируйте файл gnclient.ini (п.5.1.1 п.п. 4) в каталог установки ifClient (c:\program files(x86)\Interface Ltd\ifClient for

3CX\).8. Предоставьте пользователям сервера терминалов \ ПК права на запись и изменение файлов в каталоге

установки.

5.1.5 УстановкаifClientPluginнапользовательскомПК.

Если интегрируемое приложение используется на терминальном сервере, а софтфон используется на клиентском ПК,то установите ifClient Plugin на ПК.

1. Запустите установщик от имени администратора на ПК.2. В окне выбора компонентов отметьте "ifClient Plugin for 3CX".3. Выполните все действия для завершения установки выбранных компонентов.4. Скопируйте файл gnclient.ini (п.5.1.1 п.п. 4) в каталог установки ifClient (c:\program files(x86)\Interface Ltd\ifClient for

3CX\).5. Предоставьте пользователям ПК права на запись и изменение файлов в каталоге установке.

5.2 Однопользовательскиеключи.

Важно!!! Однопользовательские ключи не работают в терминальных сессиях.

1. Выполните подготовительный этап (п.5.1.3) применительно к ПК.2. Запустите установщик от имени администратора.3. В окне выбора компонентов отметьте «ifClient for 3CX» и «Драйвер Giardant».4. Если в качестве абонентского устройства используется софтфон 3CXPhone, то в окне выбора компонентов

дополнительно отметьте " ifClient Plugin for 3CX".5. Выполните все действия для завершения установки выбранных компонентов.6. Подключите аппаратный ключ к ПК.7. Если вы приобрели программный ключ, запустите "Activation Wizard" из меню "Пуск" - " ifClient for 3CX" и

выполните активацию лицензии согласно п.5.1.2 п.п.2-3.

Page 11: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

11

5.3 Trialверсия.

1. Выполните подготовительный этап (п.5.1.3) применительно к ПК или к серверу терминалов.2. Установите ifClient согласно п.5.1.4 п.п.1-5 и, при необходимости, согласно п.5.1.5 п.п.1-3.3. Запустите "Activation Wizard" из меню "Пуск" - " ifClient for 3CX" на терминальном сервере или клиентском ПК, в

зависимости от того, где вы запускаете 1С.4. В открывшемся окне "Мастера активации Guardant" выделите лицензию "ifClient Trial" и нажмите "Далее".5. Введите в поле серийный номер и нажмите "Далее", при успешной активации появится соответствующее

сообщение.6. Если интегрируемое ПО используется на терминальном сервере, а софтфон используется на клиентском ПК, то

выполните активацию плагина на клиентском согласно п.п.3-5.

Возможные проблемы.

1. В интегрируемом ПО не отображаются абоненты, доступные для пользователя (из тех же групп, участникомкоторых он является).Решение.При запуске софтфона 3CXPhone не должно появляться сообщение «3CX Phone для Windows не удалось установитьсоединение с 3CX Phone System Web API. В результате некоторые функции …». Данное сообщение говорит оботсутствии трафика между АТС и софтфоном и, соответственно, между АТС и компонентом.Проверьте работоспособность окна «Сведения о присутствии» софтфона 3CXPhone, предварительно настроив3CXPhone на работу с АТС. Правильнее всего осуществлять настройку аккаунта в софтфоне через отправку «WelcomeEmail». Если на панели софтфона отсутствует «статус присутствия», или окно «Сведения о присутствии» неоткрывается, или в нем отсутствует список абонентов, то это говорит о некорректной работе софтфона из-за средствбезопасности ОС, антивирусного ПО, настроек Веб сервера и т.п., и, соответственно, это влияет на работоспособностькомпонента. Добейтесь полной работоспособности 3CXPhone.Если у вас недостаточно опыта настройки IIS, то рекомендуем использовать Abyss Web Server.

2. 3CXPhone работает корректно, но события телефонии не поступают в 1С.Решение. Зарегистрируйте библиотеку 1С addnmrs.dll.

3. 1С не загружает COM объект, 1С выбивает при загрузке COM объекта.Решение. Зарегистрируйте библиотеку 1С comcntr.dll.

4. События в интегрируемое ПО поступают с большой задержкой (На текущий момент данная проблемы выявленапри использовании антивирусного ПО Kaspersky).Решение. Исключите из контроля сетевых портов порты, используемые веб-сервисом сведений о присутствии.

5. В 1С недоступен некоторый функционал, например, подсказка, перехват.Решение. Установите соответствующие права пользователю на АТС.

Page 12: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

12

6 Плагин«ifClientPlugin».

Плагин предназначен для повышения удобства использования софтфона 3CXPhone for 3CX Phone System в качествеабонентского устройства. При установке плагина вносятся изменения в файл 3CXWin8Phone.user.config.

Изменения в файле 3CXWin8Phone.user.config. В строку с ключем CRMPlugin добавляется ссылка на плагин:<add key="CRMPlugin" value="CallTriggerCmdPlugin,ifClientPlugin"/>

Работа плагина обеспечивается установкой софтфона 3CXPhone в режимработы «3CXPhone».

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

Отключение плагина.При необходимости плагин можно отключить редактированием файла3CXWin8Phone.user.config.

7 РаботасПОнатерминальномсервере.

Для работы с интегрируемым ПО, расположенным на терминальном сервере, модуль может устанавливаться как натерминальном сервере, так и на клиентском ПК, в зависимости от типа интеграции.

Если интеграция осуществляется через WebSocket и ifClient используется на терминальном сервере, то для каждогопользователя на сервере необходимо настроить уникальные TCP порты в ifClient, т.к. для каждого терминальногопользователя требуется отдельная копия ifClient.

При интеграции через COM объект ifClient устанавливается на сервере терминалов.

Если в качестве абонентского устройства на клиентском ПК используется софтфон 3CXPhone, то на клиентский ПКнеобходимо установить плагин ifClient Plugin.

Page 13: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

13

8 ТестированиеifClientчерезWebSocket.

Первый запуск ifClient (ifClient.exe) необходимо выполнить от имени администратора системы. При запуске от имениадминистратора в хранилище сертификатов устанавливаются самоподписанные сертификаты, необходимые дляработы через защищенное соединение (SSL) и предоставляется возможность настройки портов для соединения синтегрируемым ПО.

Если сертификаты не установились по каким либо причинам или интегрируемое ПО использует собственноехранилище сертификатов, то необходимо выгрузить сертификаты из ifClient и вручную поместить их в хранилище.

1. Кликните правой кнопкой мыши на иконке ifClient в трее и выберите пункт меню «Настройки».

Page 14: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

14

2. Перейдите на вкладку «Сертификаты», нажмите кнопку«Экспорт».

3. Задайте путь экспорта и пароль, который вам понадобится приустановке сертификатов. Нажмите кнопку «Сохранить».

4. В выбранный каталог выгрузятся три сертификата:- InterfaceCA.crt – сертификат центра сертификации;- ifClient_localhost_if56.p12 – сертификат издателя с ComonName, заданным как CN = localhost, CN = ifclient.if56.ru;- ifClient_if56_localhost.p12 – сертификат издателя с ComonName, заданным как CN = ifclient.if56.ru, CN = localhost.

5. Загрузите сертификат InterfaceCA.crt в хранилище центров сертификации. Загрузите сертификатыifClient_localhost_if56.p12 и ifClient_if56_localhost.p12 в хранилище доверенных издателей или в личное хранилище,используя пароль, заданный в шаге 3.

Для тестирования ifClient откройте в браузере адрес http://localhost:2565.или https://localhost:2566. Выберите URLWebSocket сервера и нажмите кнопку «Подключиться к ifClient». Укажите в поле «Адрес» URL веб-сервиса сведений оприсутствии 3CX Phone System, UserId, пароль и нажмите кнопку «Подключиться к 3CX»…

Для использования URL ifclient.if56.ru добавьте в файл hosts следующую строку:

127.0.0.1 ifclient.if56.ru

Page 15: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

15

9 ТестированиеинтеграциичерезCOMобъектifClientнапримере1Сv8.

Для тестирования ifClient через встраивание COM объекта воспользуйтесь готовыми панелями телефонии для ifClient,не требующими встраивания в конфигурацию 1С. Панели вы можете загрузить с нашего сайта в разделе «Скачать».

Page 16: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

16

10 События,cвойства,методыifClientfor3CX.

10.1 События

10.1.1СобытияWebSocketсервера

События от WebSocket сервера поступают в виде текстовых сообщений в следующем виде:

source=<Источник>; <Данные>;\r\n;

Значения ключа source:- channel – события от канала подключения к 3CX Phone System;- chat – события внутреннего чата 3CX;- myinfo – события о собственных соединениях абонента;- group – события о группах абонентов, участниках групп и соединений у участников групп, в том числе и

собственных соединений абонента, события возникают только для тех групп, участником которых являетсяабонента, в соответствии с правами абонента и других участников;

- queue – события об очередях, участниках очередей и соединений в очередях, в том числе и собственныхсоединениях абонента;

- ivr – события о вызовах на автосекретаре;- 3cxphone – события от софтфона 3CXPhone, если используется плагин ifClient Plugin;- getprop – ответ на запрос о получении значения свойства (только для WebSocket).

Другие значения параметра на текущий момент не структурированы и могут меняться в следующих версиях.События о соединениях поступают от всех источников, если свойство OnlyMyConnection выставлено в ложь.Например, если абонент зарегистрирован в очереди и поступил вызов на очередь, то абоненту придут событияlocalconnection об этом вызове от трех источников – myinfo, group, queue.

Структура строки <Данные> подробно описаны событий смотрите в пункте 10.1.3.

10.1.2СобытияCOMобъектаAddIn.COM_3CX_1C

OnEvent (<Источник COM>, <Источник>, <Данные>)Данные:<Источник COM>Тип: СтрокаВсегда «COM_3CX_1C»<Источник>Тип: СтрокаЗначения параметра описаны в 10.1.1<Данные>Тип: СтрокаДанные события (см. 10.1.3).

Page 17: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

17

10.1.3 Структурастроки<Данные>дляобработчикасобытия.

Этот параметр представляет собой набор строк, разделенных символами переноса строки « \r\n ». Каждая строкасостоит из набора пар ключ-значение «<ключ_n>=<знач_n>», разделенных символом «;» (точка с запятой):

record=<ТипСобытия>;<Ключ1>=<Значение1>;<Ключ2>=<Значение2>;...<КлючN>=<ЗначениеN>;\r\n;

Ключ record определяет тип передаваемого события и имеет следующие значения:- 3cxphonecall – вызов на софтфоне 3CXPhone;- 3cxphoneline – состояние линии на софтфоне 3CXPhone;- callhistory – запись истории вызовов оператора;- channel – событие канала подключения к 3CX Phone System;- chat – участники чата;- chathistory – запись из истории сообщений чата;- chatmessage – передача текстового сообщения через чат;- conf – конференция;- extensioninfo – регистрационная информация об абоненте;- group – информация о группе;- groupmember – состояние внутреннего абонента;- localconnection – соединение;- phone – устройство оператора;- plugin – плагин ifClient Plugin;- prop – свойство ifClient (только для WebSocket);- queueagent –информация о регистрации абонента в очереди.

10.1.4 Типсобытия«channel»

Возникает в следующих случаях:- при успешном подключении к АТС;- при отключении от АТС;- при неудачном подключении или при разрыве соединения.

Набор ключей-значений:- record=channel – тип события;- state – состояние подключения:

- connected – произошло подключение к АТС;- disconnected – произошло отключение от АТС;- error – ошибка при подключении, разрыв соединения с АТС;

- msg – сообщение об ошибке.

Примеры:record=channel;state=connectedrecord=channel;state=error;msg=Invalid password

10.1.5 Типсобытия«phone»

Возникает в следующих случаях:- при обнаружении устройства, зарегистрированного на АТС под User Id пользователя, во время подключения к

АТС, но до события channel;- при регистрации на АТС нового устройства под User Id пользователя;- при разрегистрации на АТС устройства под User Id пользователя;- при выборе устройства в качестве текущего изменением свойства CurrentPhoneId.

В событии могут содержаться данные о нескольких объектах как одного, так и разных типов (группе, абоненте,соединении и т.д.).

Для минимизации трафика в событии передаются только измененные значения с момента последнего события пообъекту. Для получения полной информации о внутренних абонентах используйте методы GetAllExtension() иGetAllGroups() сразу после подключения к 3CX.

Page 18: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

18

Набор ключей-значений:- record=phone – тип события;- id – уникальный идентификатор устройства в рамках регистрации на АТС:- action – действие:

- add – обнаружено зарегистрированное устройство при подключении, устройство зарегистрировалосьна АТС;

- delete – произошла разрегистрация устройства на АТС;- set – устройство выбрано в качестве текущего (для управления из интегрируемого приложения).

- useragent – User-Agent телефона или софтфона;- type – тип устройства:

- 1 – софтфон 3CXPhone;- 2 – аппаратный телефон с поддержкой CTI (совместимый с 3CXPhone System);- 3 – аппаратный телефон без поддержки CTI, сторонний софтфон;

- host – ip адрес устройства;- port – порт устройства (SIP);- uri – SIP URI устройства.

Примеры:record=phone;action=add;id=75;useragent=Yealink SIP-T28P 2.72.14.3;type=2;host=192.168.1.249;port=5062;uri=sip:[email protected]:5062

record=phone;action=add;id=2629;useragent=3CXPhone for Windows 14.0.47020.0;type=1;host=192.168.1.97;port=0;uri=sip:[email protected]:32534:rinstance=0-894c0f8ac3d54065a2cd1c048d19e39e:ob

record=phone;action=set;id=75

10.1.6 Типсобытия«plugin»

Возникает в следующих случаях:- при загрузке софтфоном 3CXPhone плагина ifClient Plugin;- при соединении / ошибке соединения компонента с плагином через Named Pipes.-

Набор ключей-значений:- record=plugin – тип события;- id – ID устройства;- loaded – признак загрузки плагина (на текущий момент значение всегда "true"), возникает если в процессе

работы с компонентом был запущен софтфон и софтфон загрузил плагин;- channel – тип канала (на текущий момент значение всегда "pipe");- state – состояние канала "connected | error";- msg – описание ошибки.

Пример:record=plugin;id=4260;loaded=truerecord=plugin;id=4260;channel=pipe;state=connected

10.1.7 Типсобытия«group»

Возникает в следующих случаях:- при подключении к АТС;- при изменении названия группы внутренних номеров на АТС;

Событие приходит только к участникам группы. Если внутренний номер является участником нескольких групп, топри подключении компонента к АТС, абонент получит данное событие для каждой группы, участником которой онявляется.

Набор ключей-значений:- record=group – тип события;- id – ID группы;- name – наименование группы.

Пример:record=group;id=2;name=DEFAULT;

Page 19: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

19

10.1.8 Типсобытия«groupmember»

Возникает в следующих случаях:1. при подключении к АТС;2. при изменении состояния занятости абонента;3. при включении или отключении режима DND («Не беспокоить»);4. при изменении текущего статуса абонента;5. при регистрации или отмене регистрации в очереди;6. при включении или отключении режима DND («Не беспокоить»).7. При изменении имени, фамилии или мобильного номера абонента на АТС.

Набор ключей-значений:- groupid – ID группы абонента, соответствует ключу Id в событии group;- record=groupmember – тип события;- id – уникальный ID абонента на АТС;- extensionnumber – внутренний номер абонента;- firstname – имя абонента;- lastname – фамилия абонента;- isregistered – информация о регистрации абонента на АТС, True – зарегистрирован, False - не

зарегистрирован;- lastname – фамилия абонента;- currentprofile – наименование текущего профиля пользователя;- currentprofileinternalname – внутреннее наименование в АТС текущего профиля пользователя;- currentstatus – текущий статус абонента, в версии 3CXPhone v12.5, произвольная текстовая информация,

задаваемая в 3CXPhone – Настройкиà Переключение вызоваà Выбранный статус (Доступен | Нет наместе | и т.д.)à Редактируемое поле «Статус». В версии 3CXPhone v12.0 данный статус находитсянепосредственно на форме софтфона 3CXPhone;

- queuestatus – информация о регистрации абонента в очередях, True – зарегистрирован, False - незарегистрирован;

- isbusy – информация о занятости абонента, True – занят, False - не занят;- chatstatus – информация о регистрации абонента в чате, True – зарегистрирован, False - не

зарегистрирован;- mobilenumber – мобильный номер абонента.

Примеры.

Первичная информации о состоянии абонента, полученная после выполнения метода GetAllGroups():groupid=2;record=groupmember;id=22;extensionnumber=14;firstname=Иван;lastname=Иванов;isregistered=True;isdnd=False;currentstatus=В офисе;queuestatus=False;isbusy=False;chatstatus=Offline;mobilenumber=9229229292;

Изменилось состояние занятости абонента:groupid=2;record=groupmember;isbusy=True;id=22;

10.1.9 Типсобытия«extensioninfo»

Возникает в следующих случаях:- при выполнении метода GetAllExtensions().

Набор ключей-значений:- record=extesioninfo – тип события;- id – уникальный ID абонента на АТС;- type – тип внутреннего номера может принимать следующие значения:

- None – неизвестный;- Extension – внутренний абонент;- Queue – очередь вызовов;- RingGroup - группа вызова;- IVR - автосекретарь;- Fax – факс;- Conference – конференция;- Parking – парковка;- ExternalLine – внешние линии;

Page 20: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

20

- SpecialMenu – меню голосовой почты;- number – внутренний номер абонента;- firstname – имя абонента;- lastname – фамилия абонента;- mobilenumber – мобильный номер абонента;- emailaddress – адрес электронной почты абонента.

Пример:record=extensioninfo;id=23;type=Extension;number=15;firstname=Петр;lastname=Сидоров;mobilenumber=;[email protected];

Набор ключей может быть разный для различных типов номеров.

10.1.10 Типсобытия«localconnection»

Возникает при любом изменении состояния вызова. При вызовах между внутренними абонентами 3CX создастотдельное соединение (id) для каждого абонента в рамках одного вызова (callid). Следует также учесть, что приналичии нескольких зарегистрированных устройств на одном внутреннем номере, на этапе дозвона на этот номер(state=Ringing), 3CX создаст отдельное соединение для каждого зарегистрированного устройства.

Набор ключей-значений:- memberid – Id владельца соединения, ключ id из событий groupmember и extensioninfo;- record=localconnection – тип события;- id – Id соединения АТС с абонентским устройством;- callid – Id вызова, по значению данного ключа возможно осуществить связку c информацией, поступающей

от сервиса 3CX CDR Client (http://if56.ru/3cx-ip-phone-call-log-for-1c-database).- state – состояние вызова, может принимать следующие значения:

- Dialing – дозвон до вызываемого абонента;- Connected – вызов установлен;- Ringing – поступает входящий вызов;- TryingToTransfer – вызов ожидает перевода, возникает у абонента переводящего вызов;- WaitingForNewParty – ожидание соединения с вызываемым абонентом, данное значение возможно

при осуществлении набора методом обратного вызова – после ответа вызывающего абонента наMake Call от 3CX и перед непосредственным дозвоном до вызываемого (перед событиемlocalconnection с ключем state=Ringing у вызываемого абонента), либо при ожидании перевода вызовау абонента, которого переводят, либо при ответе на вызов из очереди или голосового меню;

- UnknownState – неизвестное состояние;- isincoming – признак входящего вызова, True – входящий, False - исходящий;- startedat – время начала вызова, поступает при начале вызова;- answeredat – время ответа на вызов, поступает при окончании вызова;- duration – длительность вызова, поступает при окончании вызова;- originatortype –тип линии автора?, ключ имеет значение только на входящем соединении, может принимать

значения:- None;- RingGroup – вызов абоненту поступил от группы вызова;

- originatordn – номер группы вызова, от которой поступил вызов;- originatorname – имя группы вызова, от которой поступил вызов;- otherpartytype – тип абонента на другом конце линии, возможные значения:

- None – неизвестно;- Conference – конференция;- Extension – внутренний абонент;- ExternalLine – внешняя линия (VOIP оператор или VOIP/PSTN шлюз);- Fax – факс;- IVR – автосекретарь;- Parking - парковка;- SpecialMenu – меню голосовой почты;- Queue – очередь;

- otherpartydisplayname – имя абонента на другом конце линии, возможные значения:- для внутренних номеров - Имя и Фамилия из информации о пользователе;- для внешних - Имя и Фамилия из телефонной книги АТС;- для Автосекретаря – Наименование;

Page 21: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

21

- otherpartycallerid – caller ID абонента на другом конце линии;- otherpartydn – для внутренних вызовов – внутренний номер абонента на другом конце линии, для внешних-

входящих вызовов – виртуальный внутренний номер VOIP оператора или VOIP/PSTN шлюза;- ownertype – тип абонента владельца соединения, аналогично otherpartytype;- ownerdisplayname – имя абонента владельца соединения, Имя и Фамилия из информации о пользователе;- ownercallerid – caller ID владельца соединения;- ownerdn – внутренний номер владельца соединения;- recfile – имя файла записи вызова, ключ поступает при ответе на вызов, только в событиях с источником

myinfo;- legid – Id устройства, участвующего в вызове (callid), уникальность в рамках этого вызова;- devicecontact – SIP URI устройства, к которому относится событие;- action – признак завершения соединения, всегда action=delete.

Важно!!! В событии никогда не передается полный набор ключей!

Пример:

1. Начало вызова абонентом 11 (id=22), абонента с номером 9229229292, соединению присвоен Id=786memberid=22;record=localconnection;id=786;callid=224;legid=1;state=Dialing;originatortype=None;originatordn=;originatorname=;otherpartytype=None;otherpartydisplayname=;otherpartycallerid=9229229292;isincoming=False;startedat=25.05.201517:32:40;ownertype=Extension;ownerdn=11;ownerdisplayname=Тимур Хусаинов;localid=;otherpartydn=;ownercallerid=11;

2. Изменение статуса занятости у абонента id=22groupid=2;record=groupmember;isbusy=True;id=22;

3. Изменение информации о соединении Id=786: тип абонента на другом конце линии – внешняя линия; номер найденв адресной книге 3CX – это Петров Петр; вызов осуществляется через VOIP оператора с виртуальным номером 10004memberid=22;record=localconnection;otherpartytype=ExternalLine;otherpartydisplayname=Петров, Петр;otherpartycallerid=79229229292;otherpartydn=10004;id=786;

4. Изменение состояния соединения Id=786 – вызов установлен.memberid=22;record=localconnection;state=Connected;id=786;

5. Изменение состояния соединения Id=786 – вызов завершен.record=localconnection;id=786;endedat=25.05.2015 17:33:07;duration=00:00:18.1606330;action=delete;

6. Изменение статуса занятости у абонента id=22groupid=2;record=groupmember;isbusy=False;id=22;

7. Создан файл записи вызоваrecord=localconnection;id=7556;callid=1932;recfile=[21]_21-15_20160609135457(1932).wav;

10.1.11 Типсобытия«3cxphonecall»

Возникает в следующих случаях:- при изменении состояния вызова на софтфоне 3CXPhone;- при выполнении метода GetLinesStatus3CXPhone().

Набор ключей-значений:- record=3cxphonecall – тип события;- line – номер линии 3CXPhone;- currentline – номер текущей линии 3CXPhone;- id – Id соединения АТС с абонентским устройством;- callid – Id вызова;- state – состояние линии, может принимать следующие значения:

- Free – линия свободна;- Dialing – дозвон до вызываемого абонента- Connected – соединение установлено;- Ringing – поступает входящий вызов;- TryingToTransfer – вызов ожидает перевода, возникает у абонента переводящего вызов (только при

выполнении метода GetLinesStatus3CXPhone());

Page 22: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

22

- WaitingForNewParty – ожидание соединения с вызываемым абонентом (только при выполненииметода GetLinesStatus3CXPhone());

- UnknownState – неизвестное состояние (только при выполнении метода GetLinesStatus3CXPhone());- callstate – состояние вызова:

- hold – вызов поставлен на удержание;- held – вызов поставлен на удержание другим абонентом;- established – вызов активен.

Примеры:record=3cxphonecall;line=1;currentline=1;id=4437;callid=864;state=Ringing;record=3cxphonecall;line=1;currentline=2;id=;callid=;state=Free;

Рекомендуем использовать данное событие только для определения линии софтфона, по которой осуществляетсявызов или для определения состояния занятости линии через вызов метода GetLinesStatus3CXPhone. Для изменениясостояния и атрибутов вызова используйте событие localconnection.

10.1.12 Типсобытия«3cxphoneline»

Возникает в следующих случаях:- при изменении текущей линии на софтфоне 3CXPhone;- при выполнении метода ChangeLine3CXPhone().

Набор ключей-значений:- record=3cxphoneline – тип события;- newline – номер вновь выбранной линии.

Примеры:record=3cxphoneline;newline=2;

10.1.13 Типсобытия«conf»

Возникает при изменении статусов конференции.Набор ключей-значений:

- record=conf – тип события;- id – ID конференции;- number – номер участника конференции;- status – статус участника в конференции может принимать следующие значения:

- JOINING – присоединение к конференции;- CONNECTED – подключение к конференции;- DISCONNECTED – отключение от конференции;- MUTED – отключен pder.- 0 – окончание конференции, возникает у всех участников при завершении конференции

инициатором;

Пример:record=conf;id=10;number=25;status=JOINING;

10.1.14 Типсобытия«queueagent»

Возникает при регистрации или отмене регистрации абонента в очереди.

Набор ключей-значений:- record=queueagent – тип события;- queuestatus – информация о состоянии регистрации абонента в очереди;- id – ID абонента.

Пример:record=queueagent;queuestatus=True;id=22;

Page 23: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

23

10.1.15 Типсобытия«chat»

Возникает при выполнении метода GetChats().Набор ключей-значений:

- record – chat – тип события;- party – список участников чата.

Примеры:record=chat;party=21,22,23,24,25;record=chat;party=25;

10.1.16 Типсобытия«chatmessage»

Возникает при передаче текстового сообщения в чате.Набор ключей-значений:

- record= chatmessage – тип события;- id – Id сообщения;- from – номер абонента отправителя;- to – номер абонента получателя;- party – список участников группового чата;- textmsg – текст сообщения.

Пример:record=chatmessage;id=897;from=21;to=22;party=21,22,23,24,25;msg=Всем привет!;

10.1.17 Типсобытия«chathistory»

Возникает при выполнении метода GetChatMessages (запрос истории сообщений).Набор ключей-значений:

- record=chathistory – тип события;- id – Id сообщения;- from – номер абонента отправителя;- to – номер абонента получателя;- time – дата и время передачи сообщения;- party – список участников группового чата;- isnew – признак нового (непрочитанного) сообщения, True – новое, False - нет;- textmsg – текст сообщения.

Пример:record=chathistory;id=897;from=21;to=22;time=22.01.2015 23:59:59;isnew=False;msg=Привет!;

10.1.18 Типсобытия«contact»

Возникает при выполнении метода GetPhonebookContacts (получить записи телефонной книги).Событие возникает для каждого контакта.Набор ключей-значений:

- record=contact – тип события;- id – ID контакта;- number – основной номер контакта;- extnumber – номер контакта в системе 3CX (только для contacttype=LocalUser);- firstname – имя;- lastname – фамилия;- contacttype – тип контакта, может принимать следующие значения значения:

- LocalUser – внутренний абонент 3CX;- PersonalPhonebook - контакт персональной телефонной книги;- CompanyPhonebook - контакт телефонной книги компании.

- company – название компании контакта;- data0 – в 3CX в этом поле хранится значение Мобильный 2 (далее – только соответствия);- data1 – домашний;

Page 24: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

24

- data2 – домашний2;- data3 – рабочий;- data4 – рабочий2;- data5 – электронная почта;- data6 – другой;- data7 – рабочий факс;- data8 – основной факс;- data9 – пейджер.

Примечание: для экономии трафика пустые поля не передаются.

Пример:record=contact;id=13;number=9228118811;extnumber=;firstname=Артем;lastname=Селекзянов;contacttype=CompanyPhonebook;company=ООО Интерфейс;

10.1.19 Типсобытия«addcontact»

Возникает при выполнении метода AddPhonebookContact (добавить контакт в телефонную книгу).В поле данных передается добавленный контакт.Набор ключей-значений соответствует событию contact.Примечание: для экономии трафика пустые поля не передаются.

Пример:record=addcontact;id=54;number=9998887766;extnumber=;firstname=Иван;lastname=Иванов;contacttype=PersonalPhonebook;

10.1.20 Типсобытия«updatecontact»

Возникает при выполнении метода UpdatePhonebookContact (изменить данные контакта в телефонной книге).В поле данных передается измененный контакт.Набор ключей-значений соответствует событию contact.Примечание: для экономии трафика пустые поля не передаются.

Пример:record=updatecontact;id=52;number=9998887766;firstname=Петр;lastname=Петров;contacttype=CompanyPhonebook;data0=8887776655;

10.1.21 Типсобытия«deletecontact»

Возникает при выполнении метода DeletePhonebookContact (удалить контакт из телефонной книги).В поле данных передается удаленный контакт.Набор ключей-значений соответствует событию contact.Примечание: для экономии трафика пустые поля не передаются.

Пример:record=deletecontact;id=53;number=9991112233;extnumber=;firstname=Семен;lastname=Семенов;contacttype=CompanyPhonebook;

10.1.22 Типсобытия«findcontact»

Возникает при выполнении метода FindPhonebookContact (найти контакт).В поле данных передается найденный контакт.Набор ключей-значений соответствует событию «contact».Для каждого найденного контакта возникает отдельное событие.Примечание: для экономии трафика пустые поля не передаются.

Пример:record=findcontact;id=31;extnumber=25;firstname=Евгений;lastname=Гаврусь;contacttype=LocalUser;company=;[email protected];

Page 25: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

25

10.1.23 Типсобытия«callhistory»

Возникает в следующих случаях:- при выполнении методов GetCallHistory() и GetCallHistoryByDate();- после завершения собственного вызова абонента и завершения всей цепочки соединений в вызове (при

завершении последнего соединения с данным callid), .

Пример:record=callhistory;callid=1932;callhistoryid=53539;startedat=11.06.2016 18:54:55;answeredat=11.06.201618:54:57;endedat=11.06.2016 18:55:05;calltype=Outgoing;partycallerid=Ext.15;partydn=15;partydnname=НатальяКоннова;partydntype=Extension;recfile=[21]_21-15_20160611135457(1932).wav;

10.1.24 Типсобытия«prop»

Возникает только при интеграции через WebSocket как ответ на команду получения значения свойства.Набор ключей-значений:

- record=prop – тип события;- prop – наименование свойства, полностью идентично значению ключа prop в команде getprop;- value – значение свойства.

Пример:source=getprop;record=prop;prop=currentphoneid;value=74;

Если свойство содержит список значений, то каждое значение определяется отдельным типом события в ответномсобытии.

Пример:source=getprop;record=prop;prop=userprofileslist;value=list;record=profile;id=39;name=Available;customname=Available;extendedstatus=;record=profile;id=38;name=Away;customname=Away;extendedstatus=999;record=profile;id=35;name=Out of office;customname=DND;extendedstatus=;record=profile;id=37;name=Custom 1;customname=Available 2;extendedstatus=; record=profile;id=36;name=Custom2;customname=Out of Office 2;extendedstatus=;

Page 26: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

26

10.2 WebSocket-команды

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

Команда представляет собой строку из набора пар ключ-значение «<ключ_n>=<знач_n>», разделенных символом «;»(точка с запятой):

cmd=<Команда>;<Ключ1>=<Значение1>;<Ключ2>=<Значение2>;...<КлючN>=<ЗначениеN>;

Команды используются как для непосредственного управления телефонией, так и для установки-получения свойствifClient.

10.3 Свойства

10.3.1 WebSocket–командыиключидляустановкииполучениясвойств

10.3.1.1 Командыдляустановкииполучениясвойств

setpropОписание: установить значение свойства.Пример:cmd=setprop;...

getpropОписание: получить значение свойства.Пример:cmd=getprop;...

10.3.1.2 Ключидляустановкииполучениясвойств

propОписание: имя свойства.

valueОписание: устанавливаемое значение свойства.

Примеры:cmd=setprop;prop=<Имя свойства>;value=<Значение свойства>;cmd=getprop;prop=<Имя свойства>;

10.3.2 COMобъект-свойства,WebSocket-значенияключейдляустановкииполучениясвойств

AddressИспользование: чтение и запись.Тип: строка.Описание: URL сервиса 3CX следующего вида http://<IPAddress|FQDN>:<порт>/MyPhone/MPWebService.asmx.Получить URL для 3CX v14 SP2 можно в консоли управления 3CX Server Manager: «Troubleshooting» à «Parameters»à «Пользовательские параметры», затем набрать в строке поиска «MYPHONE_LINK».

Команды WebSocket:cmd=setprop;prop=address;value=<Значение>;cmd=getprop;prop=address;

Page 27: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

27

CallerIdMinMatchИспользование: чтение и запись.Тип: число.Описание: минимальное количество цифр в номере телефона для идентификации при поиске в истории и записяхвызовов. CallerId сравниваются справа налево по количеству цифр, заданных CallerIdMinMatch. По умолчанию 10(оптимальное значение).

Команды WebSocket:cmd=setprop;prop=calleridminmatch;value=<Значение>;cmd=getprop;prop=calleridminmatch;

CurrentPhoneIdИспользование: чтение и запись.Тип: число.Описание: Id текущего устройства. Свойство позволяет задавать каким устройством будет происходить управление.Переключение устройства можно производить в процессе работы. Если в качестве текущего устройства выбратьаппаратный телефон, то также возможно управление софтфоном 3CXPhone при помощи методов, предназначенныхдля работы с 3CXPhone.Внимание! Компонент не задает текущее устройство. Выбор устройства необходимо осуществить непосредственно винтегрируемом приложении, даже при наличии только одного устройства.

Команды WebSocket:cmd=setprop;prop=currentphoneid;value=<Значение>;cmd=getprop;prop=currentphoneid;

CurrentProfileIdИспользование: чтение и запись.Тип: число.Описание: Id текущего статуса. Свойство позволяет задать статус присутствия.

Команды WebSocket:cmd=setprop;prop=currentprofileid;value=<Значение>;cmd=getprop;prop=currentprofileid;

IsSupportsCTIИспользование: только чтение.Тип: булево.Описание: поддержка текущим абонентским устройством (аппаратным телефоном) удаленного управления (CTI).«Истина» - поддерживает, «Ложь» - не поддерживает. Список моделей телефонов, поддерживающих удаленноеуправление, можно найти в файле C:\ProgramData\3CX\Data\Http\Interface\MyPhone\cti_template.xml. Так жеинформацию о поддержке CTI можно получить из свойства UserPhonesList.При поддержке телефоном CTI доступны следующие методы:

- SupportedCTICommands;- AnswerCallCTI;- MakeCallCTI;- HoldCTI;- DropCallCTI;- AttendantTransferCTI;- BlindTransferCTI;- FinalizeTransferCTI;- PressDialKeyCTI;- MuteCTI;- SpeakerOnOffCTI;- PressLineKeyCTI;- DNDOnCTI;- DNDOffCTI.

Команды WebSocket:cmd=getprop;prop=issupportscti;

Page 28: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

28

OnlyMyConnectionИспользование: чтение и запись.Тип: булево.Описание: выводить события только о собственных соединениях оператора. Истина – только собственные, ложь –события обо всех соединениях, доступных оператору в соответствии с правами на 3CX

Команды WebSocket:cmd=setprop;prop=onlymyconnection;value=<true|false>cmd=getprop;prop=onlymyconnection;

RequestTimeOutИспользование: чтение и запись.Тип: число.Описание: время ожидания ответа от Web-сервиса 3CX в секундах, после которого происходит разрыв соединения. В3CX по умолчанию 20 секунд. Параметр необходимо устанавливать после подключения к АТС (после получениясобытия о подключении к АТС).

Команды WebSocket:cmd=setprop;prop=requesttimeout;value=<Значение>cmd=getprop;prop=requesttimeout;

UserNameИспользование: чтение и запись.Тип: строка.Описание: внутренний номер / User ID для аутентификации на 3CX Phone System.

Команды WebSocket:cmd=setprop;prop=username;value=<Значение>cmd=getprop;prop=username;

UserPasswordИспользование: чтение и запись.Тип: строка.Описание: пароль для аутентификации на 3CX Phone System.

Команды WebSocket:cmd=setprop;prop=userpassword;value=<Значение>

UserPhonesListИспользование: только чтение.Тип: COMSafeArray.Описание: список всех устройств, зарегистрированных под User ID пользователя. Каждый элемент массива –COMОбъект со следующими свойствами:

IdТип: числоОписание: уникальный идентификатор устройства на АТС. Внимание! Уникальность только в рамкахрегистрации. При разрегистрации-регистрации устройства или при перезагрузке АТС Id изменяется.

UserAgentТип: строкаОписание: наименование устройства

TypeТип: числоОписание: тип устройства.Значения:

- 1 – софтфон 3CXPhone- 2 – аппаратный телефон с поддержкой CTI (совместимый с 3CXPhone System)- 3 – телефон без поддержки CTI, сторонний софтфон

Page 29: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

29

ContactТип: COMОбъектОписание: сетевая информация об устройстве. Объект содержит следующие свойства:

HostТип: строкаОписание: IP адрес устройства

PortТип: строкаОписание: порт устройства

UserТип: строкаОписание: User ID

UriТип: строкаОписание: унифицированный идентификатор устройства

Команды WebSocket:cmd=getprop;prop=userphoneslist;

UserProfilesListИспользование: только чтение.Тип: COMSafeArray.Описание: список статусов присутствия. Каждый элемент массива – COMОбъект со следующими свойствами:

ProfileIdТип: числоОписание: уникальный идентификатор статуса

NameТип: строкаОписание: именование статуса на АТС

CustomNameТип: числоОписание: дополнительное именование статуса на АТС

ExtendedStatusТип: строкаОписание: собственное сообщение статуса

Команды WebSocket:cmd=getprop;prop=userprofileslist;

AddressWin8Phone - с версии 1.2.0 свойство не используется, оставлено для совместимости.Использование: чтение и запись.Тип: строка.Значение по умолчанию: 127.0.0.1Описание: IP адрес ПК с 3CXPhone for 3CX Phone System2.

PortWin8Phone - с версии 1.2.0 свойство не используется, оставлено для совместимости.Использование: чтение и запись.Тип: целое.Значение по умолчанию: 8031

Page 30: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

30

Описание: порт 3CXPhone for 3CX Phone System1.Для изменения порта слушателя в плагине WebAPI_3CX_1C_Plugin можно задать параметр в файле конфигурации3CXWin8Phone.exe.config:<add key="Connector3CXListenPort" value="8031" />

UsePlugin – c версии 2.5.0 не используется, оставлено для совместимости. C версии 2.5.0 при использовании методов,предназначенных для работы с 3CXPhone, подразумевается работоспособность плагина для 3CXPhone. Свойствонеобходимо использовать если для исходящего вызова через софтфон используется метод MakeCall2.Использование: чтение и запись.Тип: булево.Значение по умолчанию: Ложь.Описание: использовать плагин WebAPI_3CX_1C_Plugin2. Установка свойства в значение «Истина» имеет смысл,только при использовании в качестве абонентского устройства софтфона 3CXPhone.Если свойство установлено как «Ложь», то методы выполняются путем запросов к АТС. Если свойство установлено в«Истина», то становится доступным выполнение части методов, а выполнение ряда методов происходитнепосредственно на 3CXPhone.Методы, становящиеся доступными для выполнения:

- AnswerCall;- AnswerCall3CXPhone;- ChangeLine3CXPhone;- DropCall3CXPhone;- GetLinesStatus3CXPhone;- MicMute;- MicUnMute;- StopRecordCall.

Методы, выполняющиеся на софтфоне 3CXPhone при использовании плагина:- MakeCall2;- StartRecordCall.

1 Используются для взаимодействия с 3CXPhone. Требует установленного плагина ifClient Plugin.

Page 31: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

31

10.4 COMобъект-методы,WebSocket-управляющиекоманды

Все методы ifClient реализованы как асинхронные, то есть ни один метод не ожидает завершения операции, чтопозволяет исключить зависания при ожидании ответа. Таким образом, все методы компонента не имеютвозвращаемых значений (кроме метода Connected).

Управляющие команды для работы через WebSocket аналогичны командам для установки и получения свойств.Команды и ключи-значения приведены в описании методов COM объекта.

10.4.1ПодключениекАТС,управлениестатусом

Connect()Описание: осуществляет подключение компонента к серверу 3CX. Вызов метода инициирует передачу компонентомряда событий: group; groupmember; localconnection. Пользователю передаются события только по тем группамвнутренних абонентов, участником которых он является.

Команда WebSocket:cmd=connect;

Connected()Описание: возвращает истину, если компонент подключен к серверу 3CX, ложь - не подключен.

Команда WebSocket:cmd=getprop;prop=connected;

Disconnect() - отключение от сервера 3CX.Описание: осуществляет отключение компонента от сервера 3CX.

Команда WebSocket:cmd=disconnect;

GetAllExtensions()Описание: получение данных о внутренних номерах АТС. Вызов метода инициирует передачу компонентом событияextensioninfo.

Команда WebSocket:cmd=getallextensions;

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

Команда WebSocket:cmd=getallgroups;

SetDND(<Значение>)Параметры:<Значение> (обязательный)Тип: Целое.1 – включить режим DND, 0 – выключить режим DND.Описание: включить или отключить режим DND (не беспокоить).

Команда WebSocket:cmd=setdnd;value=<Значение>

Page 32: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

32

SetQueue(<Значение>)Параметры:<Значение> (обязательный)Тип: Целое.1 – зарегистрироваться в очередях, 0 – отменить регистрацию в очередях.Описание: регистрация или отмена регистрации во всех очередях.

Команда WebSocket:cmd=setqueue;value=<Значение>

10.4.2Общиеметодыдляработысвызовами

DivertCall(<Номер>, < Id соединения >)Параметры:<Номер > (обязательный)Тип: Строка.Номер или SIP Id на который необходимо выполнить перевод вызова.< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из события record=localconnection (см. п. 7.5.4).Описание: Осуществить трансфер неотвеченного вызова (входящего). Возможен трансфер как собственного вызова,так и входящих вызовов на других внутренних абонентов, в зависимости от прав пользователя на 3CX.

Команда WebSocket:cmd=divertcall;connid=<Id соединения>;dest=<Номер>;

DropCall(<Id соединения>)Параметры:< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из события record=localconnection (см. п. 7.5.4).Описание: В версиях до 1.1.7 включительно - сбросить собственный вызов (входящий/исходящий) пользователя. Сверсии 1.1.8 - сбросить соединение любого абонента. При выполнении следующих условий: 3CXPhone в качествеабонентского устройства; установлен плагин ifClient Plugin; свойство UsePlugin установлено в «Истина», собственныевызовы будут сбрасываться непосредственно софтфоном 3CXPhone, во все остальных случаях сброс вызова будетпроисходить путем отправки запроса к АТС.

Команда WebSocket:cmd=dropcall;connid=<Id соединения>;

MakeCall(<Номер>)Параметры:<Номер > (обязательный)Тип: Строка.Номер или SIP Id вызываемого абонента.Описание: осуществление исходящего вызова. Метод оставлен для совместимости, рекомендуется использоватьметод MakeCall2.

Команда WebSocket:Не реализовано.

Page 33: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

33

MakeCall2(<Номер>, <Интерком>)Параметры:<Номер > (обязательный)Тип: Строка.Номер или SIP Id вызываемого абонента.<Интерком> (обязательный)Тип: Булево.Признак поддержки абонентским устройством интерком. Если абонентское устройство поддерживает интерком иданный параметр Интерком=Истина, то на устройстве произойдет автоответ на обратный вызов от АТС (Make Call).Внимание!!! Если абонентское устройство не поддерживает интерком и значение параметра Интерком=Истина,то вызов осуществлен не будет. При совместном использовании 3CXPhone и плагина WebAPI_3CX_1C_Pluginзначение параметра Интерком не влияет на осуществление исходящего вызова, т.к. в этом случае осуществляетсяпрямой набор c 3CXPhone.Описание: осуществление исходящего вызова.

Команда WebSocket:cmd=makecall;dest=<Номер>;intercom=<Интерком>;

SetBargeInCall(< Id соединения >)Параметры:< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из типа события record=localconnection.Описание: вмешаться в разговор. Метод доступен для пользователя при наличии у него соответствующих прав на3CX. При использовании в качестве абонентского устройства 3CXPhone произойдет автоматическое подключение квызову вне зависимости от наличия плагина ifClient Plugin, в остальных случаях АТС инициирует обратный вызов«Barge In» на абонентское устройство пользователя.

Команда WebSocket:cmd=bargeincall;connid=<Id соединения>;

SetListenCall(< Id соединения >)Параметры:< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из типа события localconnection.Описание: подслушать разговор. Метод доступен для пользователя при наличии у него соответствующих прав на3CX. При использовании в качестве абонентского устройства 3CXPhone произойдет автоматическое подключение квызову вне зависимости от наличия плагина ifClient Plugin, в остальных случаях АТС инициирует обратный вызов«Barge In» на абонентское устройство пользователя.

Команда WebSocket:cmd=listencall;connid=<Id соединения>;

SetPickupCall(< Id соединения >)Параметры:< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из типа события localconnection.Описание: перехватить входящий не отвеченный вызов. Метод доступен для пользователя при наличии у негосоответствующих прав на 3CX.

Команда WebSocket:cmd=pickupcall;connid=<Id соединения>;

Обратите внимание!!!Для работы через WebSocket используется командаmakecall , а не makecall2 !!!

Page 34: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

34

SetWhisperCall(< Id соединения >)Параметры:< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из типа события localconnection.Описание: подсказка. Метод доступен для пользователя при наличии у него соответствующих прав на 3CX. Прииспользовании в качестве абонентского устройства 3CXPhone произойдет автоматическое подключение к вызову внезависимости от наличия плагина ifClient Plugin, в остальных случаях АТС инициирует обратный вызов «Barge In» наабонентское устройство пользователя.

Команда WebSocket:cmd=whispercall;connid=<Id соединения>;

StartRecordCall(< Id соединения >)Параметры:< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из типа события localconnection.Описание: включение записи вызова. Позволяет записывать как свои, так и чужие вызовы. Если у одного изабонентов, участвующих в вызове, включен флажок «Записывать все звонки» в настройках 3CX Phone System, товызов метода игнорируется.

.TransferCall(<Номер>, < Id соединения >)Параметры:<Номер > (обязательный)Тип: Строка.Номер или SIP Id на который необходимо выполнить перевод вызова.< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из типа события localconnection.Описание: Осуществить трансфер отвеченного вызова (входящего/исходящего). Возможен трансфер как собственноговызова, так и вызовов других внутренних абонентов, в зависимости от прав пользователя на 3CX.

Команда WebSocket:cmd=transfercall;connid=<Id соединения>;dest=<Номер>;

10.4.3Работассофтфоном3CXPhone

Методы доступны только при выполнении следующих условий: 3CXPhone в качестве абонентского устройства;установлен плагин ifClient Plugin; плагин загружается в софтфон.

AnswerCall()Описание: ответить на входящий вызов на 3CXPhone на текущей линии. Метод аналогичен методуAnswerCall3CXPhone c параметром <Линия>, не лежащим в диапазоне от 1 до 5.

Команда WebSocket:Не реализовано.

AnswerCall3CXPhoneByCallId (<Id вызова>)Параметры:<Id вызова> (обязательный)Тип: Целое.Значение ключа CallId из события record=localconnection или события record=3cxphonecall.Описание: ответить на входящий вызов на 3CXPhone.

Команда WebSocket:cmd=answer3cxbycallid;callid=<Id вызова>;

Page 35: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

35

AnswerCall3CXPhone (<Линия>)Параметры:<Линия> (обязательный)Тип: Целое.Номер линии софтфона (от 1 до 5), по которой необходимо ответить на входящий вызов. Если <Линия> не лежит вдиапазоне от 1 до 5, то будет осуществлена попытка ответа по текущей линии.Описание: ответить на входящий вызов на 3CXPhone.

Команда WebSocket:cmd=answer3cx;line=<Линия>;

AttendantTransfer3CXPhoneByCallId (<Id вызова>, <Номер>)Параметры:<Id вызова> (обязательный)Тип: Целое.Значение ключа CallId из события record=localconnection или события record=3cxphonecall.<Номер> (обязательный)Тип: Строка.Номер абонента, на который необходимо перевести вызов.Описание: перевод вызова с консультацией.

Команда WebSocket:cmd=a_xfer3cxbycallid;callid=<Id вызова>;dest=<Номер>;

BlindTransfer3CXPhoneByCallId (<Id вызова>, <Номер>)Параметры:<Id вызова> (обязательный)Тип: Целое.Значение ключа CallId из события record=localconnection или события record=3cxphonecall.<Номер> (обязательный)Тип: Строка.Номер абонента, на который необходимо перевести вызов.Описание: слепой перевод вызова.

Команда WebSocket:cmd=b_xfer3cxbycallid;callid=<Id вызова>;dest=<Номер>;

CancelTransfer3CXPhoneByCallId (<Id вызова>)Параметры:<Id вызова> (обязательный)Тип: Целое.Значение ключа CallId из события record=localconnection или события record=3cxphonecall.Описание: отмена перевода вызова с консультацией.

Команда WebSocket:cmd=c_xfer3cxbycallid;callid=<Id вызова>;

ChangeLine3CXPhone(<Линия>)Параметры:<Линия> (обязательный)Тип: Целое.Номер линии софтфона, на которую необходимо переключиться (от 1 до 5).Описание: переключение между линиями 3CXPhone. Метод инициирует передачу события 3cxphoneline.

Команда WebSocket:cmd=changeline3cx;line=<Линия>;

Page 36: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

36

DropCall3CXPhoneByCallId (<Id вызова>)Параметры:<Id вызова> (обязательный)Тип: Целое.Значение ключа CallId из события record=localconnection или события record=3cxphonecall.Описание: завершение вызова.

Команда WebSocket:cmd=dropcall3cxbycallid;callid=<Id вызова>;

DropCall3CXPhone (<Линия>)Параметры:< Линия> (обязательный)Тип: Целое.Номер линии софтфона, на которой необходимо сбросить вызов (от 1 до 5). Если <Линия> не лежит в диапазоне от 1до 5, то будет осуществлен сброс вызова на текущей линии.Описание: завершение вызова.

Команда WebSocket:cmd=dropcall3cx;line=<Линия>;

FinalizeTransfer3CXPhoneByCallId (<Id вызова>)Параметры:<Id вызова> (обязательный)Тип: Целое.Значение ключа CallId из события record=localconnection или события record=3cxphonecall.Описание: завершение перевода вызова с консультацией.

Команда WebSocket:cmd=f_xfer3cxbycallid;callid=<Id вызова>;

GetLinesStatus3CXPhone(<Линия>)Параметры:<Линия> (обязательный)Тип: Целое.Номер линии софтфона, по которой необходимо получить статус (от 1 до 5). Если в качестве параметра передать 0, товозникнет событие с информацией о состоянии всех линий.Описание: получить данные о состоянии линии/линий 3CXPhone. Метод инициирует передачу события 3cxphonecall.

Команда WebSocket:cmd=getlinesstatus3cx;line=<Линия>;

HoldCall3CXPhone()Параметры: нетОписание: удержание / снятие с удержания активного вызова.

Команда WebSocket:cmd=hold3cx;

Page 37: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

37

MakeCall3CXPhone(<Номер>)Параметры:<Номер> (обязательный)Тип: Строка.Номер вызываемого абонента.Описание: осуществление исходящего вызова по первой свободной линии.

Команда WebSocket:cmd=makecall3cx;dest=<Номер>;

MicMute()Параметры: нетОписание: выключение микрофона на софтфоне 3CXPhone. Метод работает только при условии существованияактивного вызова.

Команда WebSocket:cmd=micmute3cx;

MicUnMute()Параметры: нетОписание: включение микрофона на софтфоне 3CXPhone. Метод работает только при условии существованияактивного вызова.

Команда WebSocket:cmd=micunmute3cx;

SendDTMF3CXPhoneByCallId(<Id вызова>, <Строка>)Параметры:<Id вызова> (обязательный)Тип: Целое.Значение ключа CallId из события record=localconnection или события record=3cxphonecall.< Строка > (обязательный)Тип: Строка.Цифры от 0 до 9 и символы *, #. Параметр может состоять из нескольких символов.Описание: отправка DTMF.

Команда WebSocket:cmd=senddtmf3cxbycallid;callid=<Id вызова>;

StopRecordCall(< Id соединения >)Параметры:< Id соединения> (обязательный)Тип: Целое.Значение ключа Id из события type=localconnection (см. п. 7.5.4).Описание: выключение записи вызова. Если у одного из абонентов в настройках 3CX Phone System включен флажок«Записывать все звонки», то запись вызова остановить невозможно.

Команда WebSocket:В текущей версии не реализовано.

Page 38: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

38

10.4.4Работасаппаратнымителефонами,поддерживающимиCTI

SupportedCTICommands()Параметры: нетВозвращаемое значение:Тип: Целое.Целое число, представляющее сумму значений:

0 – CTI команды не поддерживаются;1 – включение/отключение громкой связи - SpeakerOnOffCTI();2 – ответ на входящий вызов - AnswerCallCTI();4 – отбой вызова - DropCallCTI();8 – осуществление вызова - MakeCallCTI();16 – слепой перевод вызова - BlindTransferCTI();32 – перевод с консультацией - AttendantTransferCTI();64 – завершить перевод с консультацией - FinalizeTransferCTI();128 – не используется (зарезервировано);256 – удержание, снятие с удержания - HoldCTI();512 – отключение/включение микрофона - MuteCTI();1024 – нажатие кнопки на номеронабирателе - PressLineKeyCTI();2048 – установка режима DND - DNDOnCTI();4096 – снятие режима DND - DNDOffCTI().

Описание: получение информации о командах, поддерживаемых телефоном.

Команда WebSocket:cmd=supportedcticommands;

AnswerCallCTI()Параметры: нет.Описание: ответ на входящий вызов.

Команда WebSocket:cmd=answercti;

AttendantTransferCTI(<Номер>)Параметры:<Номер> (обязательный)Тип: Строка.Номер абонента, на который необходимо перевести вызов.Описание: перевод вызова с консультацией. Если после консультации принимается решение о переводе вызова, тонеобходимо выполнить метод FinalizeTransferCTI(), в противном случае - DropCallCTI()à HoldCTI() дляпродолжения вызова, либо DropCallCTI()à DropCallCTI() для завершения вызова.

Команда WebSocket:cmd=a_xfercti;dest=<Номер>

BlindTransferCTI(<Номер>)Параметры:<Номер> (обязательный)Тип: Строка.Номер абонента, на который необходимо перевести вызов.Описание: слепой перевод вызова.

Команда WebSocket:cmd=b_xfercti;dest=<Номер>

DropCallCTI()Параметры: нет.Описание: сбросить текущий вызов.

Команда WebSocket:cmd=dropcallcti;

Page 39: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

39

FinalizeTransferCTI()Параметры: нет.Описание: завершение перевода с консультацией.

Команда WebSocket:cmd=f_xfercti;

HoldCTI()Параметры: нет.Описание: удержание, снятие с удержания текущего вызова.

Команда WebSocket:cmd=holdcti;

MakeCallCTI(<Номер>)Параметры:<Номер> (обязательный)Тип: Строка.Номер вызываемого абонента.Описание: осуществление исходящего вызова.

Команда WebSocket:cmd=makecallcti;dest=<Номер>

MuteCTI()Параметры: нет.Описание: отключить/включить микрофон.

Команда WebSocket:cmd=mutecti;

PressDialKeyCTI(<Строка>)Параметры:< Строка > (обязательный)Тип: Строка.Цифры от 0 до 9 и символы *, #. Параметр может состоять из нескольких символов.Описание: метод имитирует нажатие кнопок на номеронабирателе телефона. Метод можно использовать для посылаDTMF сигналов.

Команда WebSocket:cmd=pressdialkeycti;code=<Строка>

PressLineKeyCTI(<Линия>)Параметры:<Линия> (обязательный)Тип: Целое.Номер линии на телефоне.Описание: выбор SIP линии на телефоне.

Команда WebSocket:cmd=presslinekeycti;line=<Номер аккаунта на телефоне>

Page 40: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

40

SpeakerOnOffCTI()Параметры: нетОписание: включение или отключение режима громкой связи.

Команда WebSocket:cmd=speakeronoffcti;

DNDOnCTI()Параметры: нетОписание: включение или отключение режима громкой связи.

Команда WebSocket:cmd=dndoncti;

DNDOffCTI()Параметры: нетОписание: включение или отключение режима громкой связи.

Команда WebSocket:cmd=dndoffcti;

10.4.5Работасконференциями

SetConferenceAdd(<Номер>)Параметры:<Номер > (обязательный)Тип: Строка.Номер или SIP Id добавляемого в конференцию абонента.Описание: добавить участника в конференцию и начать конференцию. Метод вызывается последовательно длякаждого участника конференции. Для номера инициирующего конференцию метод вызывать не требуется.

Команда WebSocket:В текущей версии не реализовано.

SetConferenceDelete(<Id участника>)Параметры:<Id участника > (обязательный)Тип: Целое.Id участника конференции из события record=conf.Описание: удалить участника из конференции.

Команда WebSocket:В текущей версии не реализовано.

SetConferenceMute(<Id участника>)Параметры:<Id участника > (обязательный)Тип: Целое.Id участника конференции из события record=conf.Описание: отключить звук (входящий и исходящий) участнику конференции.

Команда WebSocket:В текущей версии не реализовано.

Page 41: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

41

SetConferenceUnMute(<Id участника>)Параметры:<Id участника > (обязательный)Тип: Целое.Id участника конференции из события record=conf.Описание: включить звук участнику конференции.

Команда WebSocket:В текущей версии не реализовано.

10.4.6Работасчатом

DeleteChatMessages(<Абонент(ы)>)

AddIn.COM_3CX_1C:Параметры:< Абонент > (обязательный)Тип: Строка.Номер или SIP Id абонента, чат с которым удаляется. Номера абонентов группового чата, разделенные «,» (запятой),для удаления группового чата.Описание: Удаление всех сообщений чата. Сообщения удаляются только у абонента, вызвавшего метод, у абонента,по которому удаляется чат, сообщения остаются.

WebSocket:cmd=deletechatmessages;number=<Номер1[,Номер2]...[,НомерN]>;

GetChatMessages(<Номер >, <ТолькоНовые>, <Дата с>)

AddIn.COM_3CX_1C:Параметры:<Номер> (обязательный)Тип: Строка.Номер или SIP Id абонента, переписку с которым требуется получить. В 1С для получения истории по всем абонентамнеобходимо передать пустую строку.<ТолькоНовые>(обязательный)Тип: Булево<Дата с> (обязательный)Тип: Дата.Начальная дата, с которой необходимо получить сообщения. В 1С для получения истории без ограничения по датезначение параметра должно быть «Неопределено».Получить сообщения чата.Описание: Получение истории чата.

WebSocket:cmd=getchatmessages;[number=<Номер>;][onlynew=<true|false>;]

GetChats()

AddIn.COM_3CX_1C:Описание: Получение чатов оператора.

WebSocket:cmd=getchats;

Page 42: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

42

SendChatMessage(<Абонент(ы)>,<Текст>)

AddIn.COM_3CX_1C:Параметры:< Абонент> (обязательный)Тип: Строка.Внутренние номера или SIP Id абонентов, разделенные «,» (запятой), на которые необходимо послать сообщение.< Текст > (обязательный)Тип: Строка.Текст сообщения чатаОписание: передача указанным внутренним абонентам текстового сообщения.

WebSocket:cmd=sendchatmessage;number=<Номер1[,Номер2]...[,НомерN]>;message=<Текст>;

SetChatMessagesReceived(<Массив>)

AddIn.COM_3CX_1C:Параметры:<Массив> (обязательный)Тип: Массив.Массив значений ключа Id из событий record=chatmessage (см. п. 10.1.15) или record=chathistory (см. п. 10.1.17).Описание: Пометка сообщения как прочитанного. При открытии формы чата в софтфоне 3CXPhone новые сообщенияпомечаются как прочитанные.

WebSocket:cmd=setchatmessagesreceived;id=<Id_1[,Id_2]...[,Id_N]>;

Page 43: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

43

10.4.7Работастелефоннойкнигой

GetPhonebookContacts()Параметры: Нет.Описание: Получение все контактов из корпоративной телефонной книги 3CX Phone System и персональнойтелефонной книги абонента. Вызов метода инициирует передачу компонентом событий contact.

Команда WebSocket:В текущей версии не реализовано.

UpdatePhonebookContact(<Данные контакта>)Параметры:<Данные контакта>(обязательный)Тип: СтрокаСтрока в формате <Ключ>=<Значение>Набор ключей-значений:

- id – ID контакта;- number – основной номер контакта;- firstname – имя;- lastname – фамилия;- contacttype – тип контакта, может принимать следующие значения значения:

- PersonalPhonebook - контакт персональной телефонной книги;- CompanyPhonebook - контакт телефонной книги компании.

- company – название компании контакта;- data0 – в 3CX в этом поле хранится значение Мобильный 2 (далее – только соответствия);- data1 – домашний;- data2 – домашний2;- data3 – рабочий;- data4 – рабочий2;- data5 – электронная почта;- data6 – другой;- data7 – рабочий факс;- data8 – основной факс;- data9 – пейджер.

Описание: Изменить данные контакта в телефонной книге, поиск контакта в телефонной книге осуществляется позначению ключей id и contacttype.Примечание: Контакты с типом LocalUser могут быть добавлены или отредактированы только в консоли управления3CX.

Команда WebSocket:В текущей версии не реализовано.

Пример :ВладелецФормы.ТФ3_Компонента.UpdatePhonebookContact(“id=13;number=9228118811; firstname=Артем;lastname=Селекзянов;contacttype=CompanyPhonebook;company=ООО Интерфейс”);

AddPhonebookContact(<Данные контакта>)Параметры:<Данные контакта> (обязательный)Тип: Строка.Строка в формате <Ключ>=<Значение>Набор ключей см. в методе UpdatePhonebookContact, ключ Id передавать не требуется.Описание: Добавить контакт в телефонную книгу.Примечание: Контакты с типом LocalUser могут быть добавлены или отредактированы только в консоли управления3CX.

Команда WebSocket:В текущей версии не реализовано.

Page 44: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

44

DeletePhonebookContact(<Id контакта>)Параметры:<Id контакта> (обязательный)Тип: ЧислоИдентификатор контакта.Описание: Удалить контакт из телефонной книги 3CX.Примечание: Контакты с типом LocalUser могут быть удалены только в консоли управления 3CX.

Команда WebSocket:В текущей версии не реализовано.

FindPhonebookContact(<Строка поиска>)Параметры:<Строка поиска> (обязательный)Тип: СтрокаСтрока для поиска.Описание: Найти контакты в телефонной книге.Примечание: Поиск производится по всем полям телефонной книги.Например при задании строки «905» будут найдены абоненты (9058887766, 9228905461, [email protected] и т. п.)

Команда WebSocket:В текущей версии не реализовано.

10.4.8Получениеисториивызовов

Внимание! Доступна только история собственных вызовов оператора.

GetCallHistory(<Номер начальной записи>, <Количество от начальной записи>, <Тип вызовов>, <Фильтр пономерам>)Параметры:<Номер начальной записи> (обязательный)Тип: Число.Номер записи истории вызовов, с которой необходимо получить данные. 0 – соответствует последнему по временивызову.<Количество от начальной записи> (обязательный)Тип: Число.Количество записей, которое необходимо получить (обработать). Фильтр по номерам будет накладываться на заданноеколичество записей истории.<Тип вызовов> (обязательный)Тип: Число.0 – все вызовы, 1 – пропущенные, 2 – входящие, 3 - исходящие.<Фильтр по номерам> (обязательный)Тип: Строка.Фильтр по номерам телефонов – регулярное выражение (RegExp). Например:"" – не фильтровать;"222" – фильтровать по номерам, включающим «222»;"222|333" – фильтровать по номерам, включающим «222» или «333».Внимание! Фильтр по номерам накладывается на массив заданный параметром <Количество от начальной записи>,соответственно при фильтрации результирующее количество записей будет меньше параметра <Количество отначальной записи>.Описание: Получить историю вызовов. Метод может применяться для начального заполнения истории приподключении к АТС. История возвращается в хронологическом порядке от более поздней даты к более ранней.

Команда WebSocket:cmd=getcallhistory;start=<Номер начальной записи>;limit=<Количество от начальнойзаписи>;[calltype=<Тип вызовов>;][number=<Фильтр по номерам>;]

Page 45: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

45

GetCallHistoryByDate(<Дата с>, <Дата по>, <Тип вызовов>, <Номер>)Параметры:<Дата с> (обязательный)Тип: Дата.Начальная дата (более ранняя).<Дата по> (обязательный)Тип: Число.Конечная дата (более поздняя).<Тип вызовов> (обязательный)Тип: Число.0 – все вызовы, 1 – пропущенные, 2 – входящие, 3 - исходящие.<Номер> (обязательный)Тип: Строка.Фильтр по номерам телефонов – регулярное выражение (RegExp). Например:"" – не фильтровать;"222" – фильтровать по номерам, включающим «222»;"222|333" – фильтровать по номерам, включающим «222» или «333»;Описание: Получить историю вызовов за период. История возвращается в хронологическом порядке от более позднейдаты к более ранней.

Команда WebSocket:cmd=getcallhistorybydate;startdate=<Дата с>;enddate=<Дата по>;[calltype=<Типвызовов>;][number=<Фильтр по номерам>;]

10.4.9Воспроизведениезаписивызова

Внимание! Воспроизводятся только собственные записи оператора!

PlayMyRecord (<Имя файла>)Параметры:<Имя файла> (обязательный)Тип: Строка.Имя файла вызова, должен быть равен значению ключа recfile из типов событий localconnection и callhistory.Описание: Воспроизводит файл записи вызова в проигрывателе по умолчанию.

Команда WebSocket:cmd=playmyrecord;record=<Имя файла>;

PlayMyRecordOnPhone (<Имя файла>)Параметры:<Имя файла> (обязательный)Тип: Строка.Имя файла вызова, должен быть равен значению ключа recfile из типов событий localconnection и callhistory.Описание: Воспроизводит файл записи вызова на телефоне оператора.

Команда WebSocket:cmd=playmyrecordonphone;record=<Имя файла>;

Page 46: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

46

11 Примерыкода1С8дляработысCOMобъектом

11.1ЗагрузкаВК1С.

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

Если ПодключитьВнешнююКомпоненту("Addin.COM_3CX_1C") ТогдаПопытка

ТФ3_Компонента = Новый("Addin.COM_3CX_1C");Исключение

Сообщить("Ошибка загрузки компоненты 3CX WebAPI Client 1C. Подсистема 3CX будет недоступна.");ТФ3_Компонента = Неопределено;

КонецПопытки;Иначе

Сообщить("Компонента 3CX WebAPI Client 1C не загружена. Подсистема 3CX будет недоступна.");ТФ3_Компонента = Неопределено;

КонецЕсли;

11.2Обработкавнешнихсобытийв1С.

После подключения ВК нужно обработать внешние события от компоненты. Код может находиться либо вмодуле управляемого приложения, либо в модуле формы. Во втором случае необходимо позаботиться, чтобы форма немогла быть закрыта пользователем.

Для модуля управляемого приложения:

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)Если Источник = "COM_3CX_1C" Тогда

//<Здесь помещаем код обработки события телефонии>Возврат;

КонецЕсли;//<Здесь, возможно, код других обработчиков>

КонецПроцедуры

Для модуля формы вызывается процедура ВнешнееСобытие:

Процедура ВнешнееСобытие(Источник, Событие, Данные)Если Источник = "COM_3CX_1C" Тогда

//<Здесь помещаем код обработки события телефонии>Возврат;

КонецЕсли;//<Здесь, возможно, код других обработчиков>

КонецПроцедуры

Page 47: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

47

11.3Обработкапараметра<Данные>.

Исходя из этой структуры данных, наиболее оптимальным будет следующий алгоритм:

Вспомогательная функция преобразования строки, состоящей из пар ключ-значение, разделенных символом «;» вструктуру 1С:

Функция СтрокаВСтруктуру(Стр)

Рез = Новый Структура;ТекКлюч = "";ТекЗн = "";ТекБуф = "";ТекСимв = "";Стр = Стр + ";";Стр = СтрЗаменить(Стр, Символы.ПС, "");ТекСост = "Ключ";

Для н = 1 По СтрДлина(Стр) ЦиклТекСимв = Сред(Стр, н, 1);Если ТекСимв = "=" Тогда

Если ТекСост = "Ключ" ТогдаТекКлюч = СокрЛП(ТекБуф);ТекБуф = "";ТекСост = "Знач";Продолжить;

КонецЕсли;КонецЕсли;Если ТекСимв = ";" Тогда

Если ТекСост = "Знач" ТогдаТекЗн = СокрЛП(ТекБуф);ТекБуф = "";Если ТекКлюч <> "" Тогда

Рез.Вставить(ТекКлюч, ТекЗн);КонецЕсли;ТекСост = "Ключ";Продолжить;

КонецЕсли;КонецЕсли;ТекБуф = ТекБуф + ТекСимв;

КонецЦикла;Возврат Рез;

КонецФункции

Некоторое усложнение функции вызвано тем, что при передаче строковых данных они могут сами содержать знакравенства «=». Функция корректно отрабатывает эти ситуации.

Page 48: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

48

Пример процедуры обновления активных соединений в 1С. Предполагается, что есть какая-то структура ТЗВсеЗвонки,в которой хранится список активных звонков.

Процедура ОбновитьПредставлениеСоединения(Стр)

ТекСтр = ТЗВсеЗвонки.Найти(Стр.ИдЗаписи, "ИдЗаписи");

ФлагУдаления = Ложь;//Проверка, если есть свойство "Действие" и его значение равно "delete",//тогда соединение завершено и запись нужно удалить.

Если Стр.Свойство = "Действие" ТогдаЕсли ТекСтр <> Неопределено Тогда

Если Стр.Действие = "delete" ТогдаТЗВсеЗвонки.Удалить(ТекСтр);ФлагУдаления = Истина;

КонецЕсли; Иначе

ФлагУдаления = Истина;КонецЕсли;

Если ФлагУдаления = Истина ТогдаВозврат;

КонецЕсли; КонецЕсли;

//Обновляем информацию соединенияЕсли ТекСтр = Неопределено Тогда

ТекСтр = ТЗВсеЗвонки.Добавить();КонецЕсли;

ЗаполнитьЗначенияСвойств (ТекСтр, Стр);

КонецПроцедуры

Page 49: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

49

12 ТестоваяобработкаТФ3_Панель_ОП_2_5.epf

Важно!!! Перед использованием обработки проверьте работоспособность софтфона 3CXPhone на том же ПК, гдезапускается 1С, даже если будет использоваться аппаратный телефон. Если в софтфоне не отображается статусприсутствия, если не открывается окно «Сведения о присутствии», если в окне «Сведения о присутствии» неотображаются абоненты из вашей группы и их вызовы, то ifClient работать не будет! Смотрите «Возможныепроблемы» в данной документации.

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

Рис. 9.1

При запуске обработки необходимо произвести начальную настройку. Меню Система – Настройки.

1.Установите настройки в соответствии с вашим телефоном.

Рис. 9.2

Настройка «Номер аккаунта в телефоне» предназначена для удобства отладки компонента с телефоном,поддерживаемым CTI, (в нашем случае один аккаунт зарегистрирован на рабочей АТС, а второй на тестовой) и наданный момент используется в тестовой обработке только для определения, по какому SIP аккаунту будут

Page 50: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

50

производиться исходящие вызовы.

Важно! Все CTI методы управления вызовами выполняются только на активной линии телефона. В текущей версииifClient отсутствует прием событий с телефона (Action URL).

При использовании софтфона 3CXPhone отметка параметра «Использовать плагин для …» дает возможностьуправления софтфоном 3CXPhone из 1С.

При использовании CTI телефона и софтфона 3CXPhone совместно с плагином большая часть часть функционала поработе с вызовами может осуществляться не посредством запросов к АТС, а отправкой команд софтфону илинастольному телефону.

2. Настройте параметры подключения к 3CX Phone System.

Рис. 9.3

Получить URL для 3CX v14 SP2 можно в консоли управления 3CX Server Manager: «Troubleshooting» à «Parameters»,затем набрать в строке поиска «MYPHONE_LINK». Для подключения к АТС внутри локальной сети используйтезначения параметров MYPHONE_LINK_LOCAL и MYPHONE_LINK_LOCAL_SEC.

Для проверки работоспособности Web-сервиса сведений о присутствии наберите в адресной строке браузера его URL.Если сервис доступен, то окно браузера должно выглядеть следующим образом:

Рис. 9.4

Данная проверка подтверждает лишь работоспособность сервиса, но не подтверждает работоспособность с ним3CXPhone, а значит и компонента, с конкретного ПК.

На вкладке «Настройки 1С» присутствует чекбокс «Включить режим отладки», который предназначен для просмотрасобытий и сообщений, приходящих в 1С. Использование данного параметра поможет определить проблемы вподключении к веб-сервису сведений о присутствии.

После заполнения полей нажмите кнопку «Сохранить».Теперь можно подключаться к серверу 3CX PhoneSystem.

Page 51: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

51

При успешном подключении на вкладке «Моя линия» отобразится текущий статус присутствия абонента и текущееабонентское устройств, на вкладке «Все линии» появится список линий с указанием статусов всех внутреннихабонентов из групп 3CX, в которых вы являетесь участником, и текущие вызовы. После этого можно тестироватькомпонент.

Рис. 9.6

Рис. 9.7

Если у пользователя несколько абонентских устройств, то необходимо выбрать каким устройством будетосуществляться управление из 1С.

Рис. 9.8

Начинать тестирование лучше всего с вкладки «Моя линия» (рис. 9.1). При нажатии кнопки «Позвонить»отображается окно ввода произвольного номера, на который требуется совершить звонок. Кнопки «Ответить»,«Перевести», «Сбросить» и т.д. отражают действия с активным соединением (входящим или исходящим). Внимание!!!«Ответить», «Микрофон», «Удержание» доступны только при использовании 3CXPhone и плагина ifClient Plugin илителефона с поддержкой CTI. «Начать запись» и «Остановить запись» работают только при условии что у абонентов,участвующих в вызове, на АТС не установлена автоматическая запись разговоров «Записывать все звонки», причем«Остановить запись» работает только при использовании 3CXPhone и плагина ifClient Plugin.

Page 52: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

52

В нижней таблице вкладки «Моя линия» отражаются неотвеченные звонки. Эта информация содержит только вызовы,пропущенные в течение текущего сеанса 1С, и не сохраняется.. Нужно учитывать, что при поступлении вызова нагруппу номеров у всех членов группы, кроме ответившего, этот вызов попадет в пропущенные.Из таблицы пропущенных звонков можно непосредственно набрать номер, с которого поступил звонок.

К собственному номеру относятся и пункты меню «Режим не беспокоить», «Очередь», а также выпадающий список свыбором текущего статуса присутствия. Выбор пунктов меню вызывает соответствующие действия. Статусысобственного номера отображаются в заголовке формы.

Рис. 9.9

Рис. 9.10

Рис. 9.11

Следующая вкладка «Все линии» отображает состояние всех линий системы, подобно тому, как это происходит в

Page 53: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

53

консоли управления 3CX Phone System. Надо заметить, что действия со звонками других абонентов требуют наличиясоответствующих прав в системе 3CX Phone System.В верхней таблице отображаются все абоненты из групп, которым принадлежит пользователям. Выделив коллегу инажав кнопку «Позвонить», можно связаться с соответствующим абонентом.

Рис. 9.12

В нижней таблице отображаются все соединения устройств с АТС. По каждому соединению можно выполнитьследующие действия:

- вмешаться в разговор – оба собеседника будут слышать Вас, а Вы их;- подслушать – Вы слышите всех, а Вас никто;- шепот – Вы слышите всех, а Вас слышит только один собеседник.

Также есть возможность перехватить или перевести входящий неотвеченный вызов, а так же включить записьразговора (если ни у одного из абонентов, участвующих в вызове, не установлена автоматическая запись разговоров«Записывать все звонки»).

Page 54: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

54

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

Рис. 9.13

Есть возможность в ходе конференции добавлять или удалять участников, а также включать или отключать микрофонлюбому участнику.При нажатии кнопки «Закончить конференцию» конференция завершится и все участники отключатся отконференции.

Page 55: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

55

Вкладка «Сообщения» служит для демонстрации возможностей чата. Получить или удалить историю сообщений поабоненту можно через контекстное меню списка абонентов. Получить или удалить историю по всем абонентам можночерез пункт главного меню «Система»

Рис. 9.14

Вкладка «Телефонная книга» демонстрирует возможности работы с корпоративной и персональной телефоннымикнигами 3CX Phone System.

Рис. 9.15

Page 56: ifClient for 3CX - Интерфейсif56.ru/sites/default/files/download/ifClient_31.pdf · 2016. 8. 3. · ifClient for 3CX (WebAPI Client for 3CX)3.1 for 3CX v15 3CX v14 SP2, SP3

56

13 Контактнаяинформация.

ООО «Интерфейс»ИП Хусаинов Т.Р.

ул. Кутузова, д. 19г. Орск Оренбургской области462404Российская Федерация

Тел.: +7 (3537) 25-08-35, 20-38-38E-mail: [email protected]: http://if56.ru ; http://sip1c.ru

Редакция от 03.08.2016г. © ООО «Интерфейс»