Часто в CRM системах возникает задача контроля фактически совершенного звонка, перехват события входящего звонка с отображением информации о клиенте. В Freeswitch можно данную задачу попытаться решить при помощи LUA, CURL и других костылей в которых будет необходимо организовать всю логику обслуживания звонка, т.к. Freeswitch “орудует” каналами (channels, legs) а не одним звонком. Данный сервис позволяет получать “готовые” события в нативной .NET сборке для дальнейшей обработки в CRM.
Читать далее Отслеживание вызовов Freeswitch в .NET (C#, VB.NET)Текст в речь (Text To Speech) через HTTP
Возникла задача сделать веб сервис для IP АТС Freeswitch, который будет возвращать текст в виде wav/mp3 потока, что, собственно и было сделано. Читать далее Текст в речь (Text To Speech) через HTTP
Производительный VPN сервер на базе Mikrotik
С ростом количества удаленных рабочих мест/офисов возникает проблема не только пропускного канала центрального офиса, но и производительности VPN сервера центрального узла. Как показывают простые тесты предельная суммарная (прием/передача) производительность VPN простых железок 951 серии (которых вполне достаточно для удаленного офиса) 18-20Мб/сек. При использовании сложных алгоритмов шифрования, и того меньше. Читать далее Производительный VPN сервер на базе Mikrotik
Автоматическое подключение и переподключение VPN в Windows 7-10/2008-2012
В последних версиях Windows возникла проблема с поддержанием VPN подключений (переподключение после обрыва). Учитывая давние проблемы с маршрутами (все или ничего) по VPN каналам, решил сделать службу Windows которая будет методично решать данную проблему. Читать далее Автоматическое подключение и переподключение VPN в Windows 7-10/2008-2012
MIKROTIK и SIP трафик
Если расположить IP PBX за NAT Микротика, то, скорее всего все сразу “само” заработает. Это связано с механизмом SIP ALG реализованном в Mikrotik (/ip firewall service-port). Как показывает практика, лучше отключить этот механизм и реализовать проброс портов вручную. Связано это с глюками механизма делающим невозможной регистрацию у внешних провайдеров (причем выборочно), до перезагрузки маршрутизатора.
JPEG SNAPSHOT из RTSP потока
Возникла задача взять с камеры транслирующей только видео через RTSP статичный скриншот в формате JPEG. Решено написать консольное приложение параметрах которого откуда взять поток и куда сохранить скриншот с использованием OpenCV (EmguCV). Читать далее JPEG SNAPSHOT из RTSP потока
Долгое чтение карт памяти SLE4442 и аналогов Windows 10
В Windows 7/8/10 возникла проблема с тем, что вставка карты распознавалась мгновенно, но дальнейшая работа (начиная с функции SCardConnect) с ней проходила с длительной задержкой (10-20 секунд). Читать далее Долгое чтение карт памяти SLE4442 и аналогов Windows 10
MSSQL дублирование строк нужное количество раз
Иногда необходимо сдублировать одну запись таблицы несколько раз в запросе, при этом физически дублирование не нужно. Обычно подобные задачи возникают при формировании печатных форм (у меня ценники например). Читать далее MSSQL дублирование строк нужное количество раз
Создание круглой аватарки (C#/VB.NET)
Возникло желание квадратные аватарки сделать круглыми. Есть входной Bitmap нужно сделать его круглым на прозрачном фоне. Читать далее Создание круглой аватарки (C#/VB.NET)
Сканер штрих-кода в режиме эмуляции клавиатуры в COM порт
Именно на этот вопрос я не нашел готового ответа. Считаю, что в десктопном режиме со сканером штрих-кодов (считывателем магнитных карт), необходимо работать исключительно напрямую. Windows Raw Input позволяет легко отследить нажатие клавиш, включая идентификацию с какой именно клавиатуры было нажатие, но не может “проглотить” ввод с определенной клавиатуры. Это можно сделать при помощи SetWindowsHookEx, но в нем нельзя определить с какой клавиатуры пришел символ. Читать далее Сканер штрих-кода в режиме эмуляции клавиатуры в COM порт