Внешняя компонента RBSCaller.dll для интеграции с 3CX Phone System

Внешняя компонента для 1С: 8.x, позволяющая производить звонки, получать оповещения о входящих через механизм внешних событий 1С.

Здравствуйте.

Представляю вашему вниманию внешнюю компоненту для 1С: 8.x, позволяющую производить звонки и получать оповещения о входящих через 3CXPhone.

В отличие от существующей разработки //infostart.ru/public/115942/ имеет как плюсы 

  • отсутствие необходимости постоянно проверять лог АТС по таймеру
  • более быстрое реагирование на входящие
  • перевод входящих
  • сброс входящих
  • возможность активации окна 3CXPhone

так и минусы:

  • нужна активированная демо ключем версия 3CX Phone System, как следствие — количество одновременных подключений всего 2

Решение представляет собой внешнюю компоненту со следующими методами:

  • string Call(string args);    Производит звонок, аргумент — исходящий номер
  • string Drop(string args);   Сброс входящего, аргумент — ИД входящего звонка
  • string Activate(string args);  Прием входящего, аргумент — ИД входящего звонка
  • string BlindTransfer(string id,string destination);  Перевод входящего, аргумент 1 — ИД входящего звонка, аргумент 2 — номер внутренниего адресата
  • string Listen(); — включение «прослушки» на предмет входящих звонков
  • string ActiveCalls(); — возвращает список активных звонков.

Подключение в 1с производится таким образом: 

Регистрируется внешняя компонента  (файл прилагается)

ПодключитьВнешнююКомпоненту("AddIn.Caller")

Запуск «прослушки»:

глТелефон=новый ("AddIn.Caller");

глТелефон.Listen();

Также прилагаю внешнюю обработку, которая реализует весь базовый функционал, но написана под конфигурацию Альфа-авто:Автосервис, соответственно для работы на стандартных конфигурациях от 1С потребуется небольшая доработка.

8 Comments

  1. Muller2306

    Доброго дня.

    При использовании метода Listen() вываливается ошибка

    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.IO.FileNotFoundException: Could not load file or assembly ‘CallTriggerCmdServiceProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. Не удается найти указанный файл.

    at AddIn.Caller.Listen()

    — End of inner exception stack trace —

    at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)

    at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)

    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)

    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

    at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)

    at AddIn.AddIn.CallAsFunc(Int32 methodNum, Object& retValue, Object[]& pParams)

    Софтфон 3cx установлен, библиотека, на которую ругается лежит.

    Reply
  2. RBS

    Возможно проблема с версией данной длл? Прилагаю работающую.

    Reply
  3. Dream_kz

    C какой версией 3CX будет работать?

    Reply
  4. RBS

    С 14 работает точно.

    Reply
  5. padey

    Здравствуйте, 15 версия поддерживается? Скачал обработку, зарегистрировал компоненту, не отрабатывают глТелефон.Call(НомерИсх); глТелефон.Show(«DialPad»);

    Reply
  6. RBS

    Здравствуйте.

    Насчет 15 версии — пока не знаю. Возможно скоро уточню, а пока проверьте следующее:

    1. регистрация должна быть строкой типа «C:WindowsMicrosoft.NETFrameworkv4.0.30319
    egasm.exe» «C:ProgramData3CXPhone for WindowsPhoneAppRBSCaller.dll» /codebase

    адрес regasm.exe у вас конечно будет свой. Запускать с правами администратора.

    2. В 15 версии вроде бы добавлено следующее требование к плагину

    Deploying Your Plugin

    When you have the .NET library ready, just drop it into the 3CXPhone for Windows installation folder. Then open the configuration file “3CXWin8Phone.user.config” using a text editor, and add the following configuration setting:

    <add key=”CRMPlugin” value=”CallNotifier,3CXPhoneTapiPlugin,MyCRMPlugin“/> where “MyCRMPlugin” is the name of the DLL, without the extension.

    Save “3CXWin8Phone.user.config” and restart 3CXPhone for Windows. Upon launch, your new plugin will be loaded.

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

    Reply
  7. padey

    RBS ,

    зарегистрировал DLL Вашей строкой, под администратором,

    добавил в конец файла конфиг 3CX указанную Вами строку, перезапустил.

    Не помогло.

    Reply
  8. slonba

    Добрый день. при регистрации компоненты CallTriggerCmdServiceProvider.dll или RBSCaller.dll пишет такую ошибку. Ума не приложу что ему нужно.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *