- PVSM.RU - https://www.pvsm.ru -
Писать программы для системы 3CX на C# может быть несколько непривычным занятием для начинающего IT-специалиста или человека, не сталкивающимся ранее с написанием кода. Однако этот навык окажется весьма полезным и востребованным, если перед вами будет стоять задача создания действительно сложных, функциональных или заказных голосовых приложений.
Существует ряд мощных сред быстрой разработки, но все они требуют профессиональной предварительной настройки и занимают изрядное место на диске. Поэтому я стремился ограничиться каким-то компактным решением, но с поддержкой функции IntelliSense. Microsoft IntelliSense хорошо выделяет ошибки в коде и автоматически дополняет выражения. Конечно, если вы уже являетесь гуру C#, эта статья может быть вам не столь интересна. Профессионалу хватит и блокнота!
1. Установите .NET через апплет Turn Windows features on or off или Windows Update.
2. Установите 3CX Call Flow Designer [1].
3. Загрузите 3CX API Documentation Package [2]. Вам потребуется файл 3CXObjectModel.2.0.0.0_v15.chm из архива, в котором содержится описание классов, методов и свойств объектов 3CX.
4. Загрузите Visual Studio Code [3]. Это небольшой, интеллектуальный редактор кода. При установке можно установить отмеченные опции для упрощения дальнейшей работы.
5. Установите .NET Core SDK [4] и .NET 4.6.1 SDK [5]
6. Скачайте ZIP архив с демо-скриптом C# по этой ссылке [6]. В архиве содержится файл проекта Project1.csproj, который в основном похож на файл OMSamples.csproj из загруженного ранее архива документации 3CX API. Разархивируйте и кликните на файле Project1.csproj, который откроется в приложении VS Code.
7. В среде VS Code установите расширение для C#. Для этого нажмите Show Recommendation.
Затем установите все рекомендуемые расширения. После установки не забудьте нажать голубую кнопку Reload.
8. На последнем этапе необходимо установить некоторые зависимости C#. Перейдите в Explorer > Libraries > Project1.cs, и они установятся автоматически.
А теперь можно начинать программировать. Во время создания приложения среда разработки будет автоматически исправлять ваши ошибки, дополнять операторы и т.п.
Если вы никогда не занимались программированием, и, в частности, на C#, могу порекомендовать этот учебник [7].
Демо-приложение Project1 выполняет кастомные настройки параметров Очереди вызовов. Функция
public void SetQueueParams(string strQueueNumber, bool bPosAnnounce, ushort usTimeout)
использует три параметра
strQueueNumber — добавочный номер Очереди вызовов, с параметрами которой мы работаем.
bPosAnnounce — включение или выключение сообщения абонентам об их месте в Очереди.
usTimeout — таймаут ожидания в Очереди.
Классы описаны в документации 3CX Call Control API, которую мы загружали ранее. Программа выполняет следующие действия с параметрами Очереди (добавочный номер 801):
Если в редакторе VS Code ничего не подсвечено красным — формальных ошибок нет, и программу можно использовать в 3CX Call Flow Designer.
Общая информация об использовании 3CX Call Flow Designed содержится в руководстве пользователя [8] и статье в этом блоге [9].
1. Сделайте копию папки демо-проекта CFD DateTimeRouting, которая находится в папке Documents3CX Call Flow Designer Demos, чтобы экспериментировать на копии оригинального приложения, поставляемого с дистрибутивом.
2. Скопируйте скрипт C# (в нашем случае Project1.cs) в папку Libraries CFD проекта и дайте ему узнаваемое имя, например, QueueAdjust.cs.
3. Модифицируйте исходный проект, оставив два ветвления и добавив в каждое из них компонент LaunchExternalScript.
4. В первом компоненте LaunchExternalScript1 установите свойства в соответствии с нашей задачей и семантикой C# скрипта.
5. Во втором компоненте LaunchExternalScript2 также установите свойства для второго ветвления (временного диапазона).
6. Скомпилируйте и разместите приложение в служебной Очереди вызовов, как описано в последнем разделе предыдущей статьи [9].
3CX Call Control API, для которого ведется разработка, — мощный инструмент управления вызовами в АТС, и самой АТС. Например, API позволяет программно управлять текущими вызовами (выполнять, отключать, переводить, записывать и т.п), создавать и изменять пользователей (добавочные номера), управлять правилами переадресации и статусами пользователей, создавать конференции, администрировать IP-телефоны и многое другое. Подробнее о нем можно узнать здесь [10]. Однако обратите внимание, что для интеграции 3CX V15.5 с CRM системой сейчас используется отдельный серверный REST API. Например, здесь [11] приведен пример серверной CRM интеграции с Bitrix24.
Автор: Игорь Снежко
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/c-2/266500
Ссылки в тексте:
[1] 3CX Call Flow Designer: http://downloads.3cx.com/downloads/3CXCallFlowDesigner.exe
[2] 3CX API Documentation Package: http://downloads.3cx.com/downloads/misc/callcontrolapi/3CXCallControlAPI_v15.zip
[3] Visual Studio Code: https://code.visualstudio.com/
[4] .NET Core SDK: https://go.microsoft.com/fwlink/?linkid=848827
[5] .NET 4.6.1 SDK: http://www.microsoft.com/en-us/download/details.aspx?id=49978
[6] этой ссылке: https://www.3cx.com/community/attachments/project1-zip.5860/
[7] этот учебник: https://www.microsoftpressstore.com/store/begin-to-code-with-c-sharp-9781509301157
[8] руководстве пользователя: https://www.3cx.com/docs/manual/#section6
[9] статье в этом блоге: https://habrahabr.ru/company/3cx/blog/339694/
[10] здесь: https://www.3cx.com/docs/call-control-api/
[11] здесь: https://www.3cx.com/docs/bitrix24-crm-integration/
[12] Источник: https://habrahabr.ru/post/340780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.