IP Phone Action URL (HTTP GET) to Windows 10 Event/Message - get

I have a VitalPBX instance hosted on a remote web server that connects to IP phones in my office (specifically Grandstream GXP1625 and Yealink T48S). We routinely use proprietary CRM software that I would like to be able to integrate with these phones. When I answer the phone, I would like the CRM software to open the client who is calling, so I do not have to manually type in the caller ID/telephone number to pull up the caller's information.
I use Macro Express Pro 6 to automate many other repetitive processes with this CRM software, and I was hoping to use this macro software on computers next to phones to open the calling client. It supports macro activation through many avenues, including system events/messages.
Both of my IP phone models support something called Action URL, which sends a HTTP(S) GET request that can contain variables when certain actions occur, such as the phone initiating a call. I already have the companion feature, Action URI, set up so Macro Express Pro dials telephone numbers within my CRM on the phones directly.
-Yealink Action URL documentation is on page 465 of this guide.
-Grandstream Action URL documentation is on page 91 of this guide.
I am looking for help in creating or repurposing a lightweight, opening at start-up, application to listen for and process these HTTP GET requests on my local Windows 10 machines and register a system event/message, including passing the Action URL variable, for Macro Express Pro to recognize and initiate a macro that will open my CRM to the proper patient. I believe this should be a simple task, though I am not familiar with this variety of programming. If an open-source software exists that can do this, I would love to hear. Thank you in advance!

I successfully have the IP phones sending GET requests using TCP/IP Builder. Now just need to figure out how to have this program or a similar one send a system message.

Related

How can I write a custom MDM Agent for a Windows 10 Mobile?

I know that a MDM Client is an integral part of Windows 10 and hence it is available on any device running windows 10.The following link explains MDM on Windows 10 in great detail and depth:
https://technet.microsoft.com/en-us/itpro/windows/manage/windows-10-mobile-and-mdm
However, I am curious to know(and code) that is it possible to write a custom MDM Client for Windows 10 Mobile/Desktop/Device and how.
Thanks!!
That is not possible, simply because there are no MDM APIs exposed by the OS.
You could write an app that talks to your server and executes commands in sequence, which would mimic the base flow of an MDM protocol. However, the app will be very limited in terms of what it can actually achieve. E.g. you won't be able to install apps, configure accounts, etc.
You could install certificates, although i am not sure those will be system-wide available, and get the basic device info (network hw addresses, battery level etc).

What are the different ways you can communicate with USB port through Browser

I want to create a webpage that will access the USB port of the client. Intent is to configure the hardware connected the USB port. I can do a desktop application because the configuration option is different for different hardware. connected and I need to pull this code dynamically from the server. I am not a web programmer. It will great to find the best way to do this.
It ends up that I am attempting to write an app that performs something similar. What I am doing, instead is writing both the web server and the web page. Use something simple, like DLib for the web server, to serve the data to the end user.
This is how it works:
The web server handles the USB connection. If written in C++ or some other native language, you will have much more control over the device. The web page is then loaded from the web server that you have written. In the web page, you can have some sort of javascript worker, etc. to constantly pull new data from the server and push data from the web interface to the USB device. This also adds a layer of protection because you can ensure that the user has not made any modifications to the web page.
The main drawback to this possibility is that you will be required to install the server on the client's machine. However, this can be circumvented by writing this as a applet that can be embedded within the page!
It is possible to write a browser plugin that communicates with USB devices. An example of an app that does that is MyTrezor.com, but unfortunately I don't think you can see the source of their plugin.
Another option might be to use the chrome.usb or chrome.serial Javascript API, but this means your app would only work in Google Chrome, and it would have to be installed as a Chrome packaged app, a special thing that looks more like a native app than a web page.

Remote browser access to Windows CE/Mobile/Embedded emulators?

My company has a Compact Framework.NET WinForms application which runs on rugged handhelds manufactured by companies like Motorola, Intermec and Psion. These are expensive devices with built-in barcode scanners that are used in harsh conditions.
The configuration of the handheld application is managed by business users through our web site. The devices pick up the configuration when they sync from within the handheld application. Field workers use the handhelds, business users use the web site.
The business users have expressed the desire to, for lack of a better description, configure and preview or even fully use the actual handheld application through a web browser. They want to make configuration changes in the web site and immediately see what the impact will be in the handheld, without having to have a physical device (again, the devices are quite expensive). They want to be able to create training materials or conduct sales meetings and be able to demonstrate the application to their customers without having a physical device on hand.
Microsoft offers several Device Emulators, but they are probably too complex for business users. They are developer tools. One idea might be to somehow use the emulators within virtual machines possibly in conjunction with Terminal Services or even some kind of clever screen capture/VNC to show an emulated device in a browser. I suspect running emulators in the fashion may not exactly be a scalable solution, however. Also, only one emulator at a time on a single machine can be "cradled" and connected to network.
I'm looking for any suggestions which might help me meet the business users' requirements.
Thanks.
The only thing I can think of offhand is not that simple, but would probably be useful (and certainly the only "true" way for them to test).
I'd create a service that works like the Remote Display app (part of the WinMo Developer power tools, also ships with Platform Builder for CE), in fact it might just use that app (the source code for it actually ships with Platform Builder, so the eval version of PB would get you that source).
You would then create a web interface that acts as a "shell" for that service, marshalling the display image out to a web page and image clicks back as mouse events to the device.

Network Security for MAC-OS X

I have a new set up for software development for iOS devices. I am using MACs for the development and the company may grow from three employees right now to 20 in near future. I want to make the MACs secure so that the client code is safe and does not leave office.
Few ways I can think of a notorious employee trying to do that is
Get it on USB-key/External-Disk
Burn it on CD/DVD
Transfer it to a bluetooth device
Transfer it to Infra-Red Device
Email it as an attachment
Upload it to Dropbox or any such service
FTP to a remote server
To handle this one by one I need to do following
Disable USB access to user accounts (only admin allowed to insert a new device). But often times we need to stick in iphone/ipod touch to do on-device testing. How can I restrict the devices or get notified when someone tried to put a foreign device in any of the USB slots?
Disable CD/DVD write functions except for admin. Can I do this?
Disable bluetooth access. And if someone tries to pair a device, can I get notified or maitain a log?
Wireless keyboard and mouse use Infra-Red (IR) technology. How can I limit these devices?
Need to block all outgoing emails except company emails. Can I keep a tab on all outgoing traffic (may be by file size) so that I know some one is trying to up-load a file?
Again disable access to such website. But then every 15 days a new service springs up. How do I tackle this?
Disable ftp outgoing services. Can I do this?
Importantly is there a monitoring software that will allow me to do this? I don't mind paying. But since this is a start-up I cannot spend a fortune on this. And of-course I prefer open source solutions for the control it gives me to extend and scratch my specialized itch :)
Finally I hope I wont be judged as a bad boss or something. I am all for developer freedom but we are into consulting business and protecting client code takes priority.
Thanks for your time and looking forward to your help.
Dev.
If you don't trust your developer not to run off with your source code, don't hire them. They can find a way around your "solution"
If you can't trust any developers to not steal your source code, work alone. Anything known by two people is no longer a secret.

website and protocol restriction (firewall application)

Am developing a firewall application that is suppose to restrict website/protocols/webs directories system wide that i choose
for example
restrict login.domain.com, but not domain.com
restrict domain.com/passport not domain.com
restrict .tld types e.g .org
pls give me some ideas?
[edit]
Am developing on the windows plat form , from win 2000 to win7, using any vb language vb6 upwards also i want to be able to block any protocol http ftp etc.
You probably want to investigate developing a SOCKS proxy, this is capable of filtering all protocols. Other avenues you could pursue include developing a Winsock LSP or writing your own routing software (like ISA Server).
You'll be hard pressed to do it in Visual Basic 6 or VB .NET however.

Resources