Support for Artech AD101 / AD102 CallerID device

Here in the Netherlands Caller ID is a mess, every provider uses a different implementation which means you have to make sure your device supports your provider. Even bigger problem is that most providers use DTMF which isn’t supported by most devices. I went through a few modems which I bought of Amazon and eBay only to find that the modem doesn’t work with my provider.

Untill I found the Artech AD101. A cheap device which supports all implementations of CID, just one problem, it works as a USB HID device and not a virtual COM port and thus it isn’t supported by SambaPOS.

This device can be found on eBay.

I’ve tried contacting the devs so I can implement my own but haven’t been lucky there, thus I’ve decided to hack something together. By using a program called com0com (a null-modem emulator) I’ve created 2 virtual com ports on my computer which are linked together.

On one comport I’ve created a program which takes the CID from the Artech and translated this to a format which is useable by SambaPOS. On the other end of-course is SambaPOS.

So to begin first download and install com0com, it can be found here.
http://com0com.sourceforge.net/

If you’re on an x64 system I recommend you use 2.2.2.0 until they get driver signing sorted, if you’re on an x86 system you’re fine either way.

Install com2com and setup a port pair, I’ve used COM9 and COM10 on my machine but this might vary on your system depending on what devices use what.

Now you download my program (which I’ve called CHC) and run it.
CHC_x86.zip (53.4 KB)
CHC_x64.zip (70.9 KB)
CHC.src.zip (source) (325.9 KB)

By default the program connects to COM9, if you’ve setup something else using com0com you can right-click on the icon in the systemtray and go into settings.

From here open SambaPOS and configure a generic modem using the second com port (in my case COM10). More information can be found here, skip the first two steps.

NOTICE!!

This is something I’ve hacked together to suite my own purposes, unfortunately I do not have the time to support this. I’ve included the sourcecode so if there’s something wrong you can attempt to fix it or improve it yourself. I’m sharing this to help others who are also waiting on official support for this device.

If you’ve encountered a bug post in this thread and I will try to fix it, however the program is so small I don’t think there’s much to break.

Feel free to take this and make it your own, if you decide to distribute it or use it for commercial purposes you are restricted to ask any money for it.

The code is shit, I know, I’ve hacked this together very quickly. If you want to improve it feel free todo so.

6 Likes

Have been trying to set up a PHP interface to the AD101. Tried your software but didn’t get a result.Is there any way of telling if it has a successful connection to the HID?

artech does have sample tools, but the do not provide it anymore on their website. They ae probably on the CD which comes with the device.

Thanks for your quick response. The demo tool supplied by Artech does see the device and it is working OK, but I need something that can see the AD101 HID as a COM port. Your software is designed to do that, but when I run it, it doesnt seem to revceive anything from the AD101.The window comes up, but no entries appear. Am I missing something that I need to do?

I haven’t used this since I made it. Can be something got outdated or broken. I’ll look at it this weekend.

Thank you!
I would really appreciate that. I am running it on a Windows 64 bit platform. I have tried the 32 and 64 bit versions of CHC.exe.
The window below appears on the right-hand side of the screen, but no data appears in it.

Just a bounce to see if you have been able to look at it.

Hi telefunken, I’m also interested in the resolution of the issue reported by zom.

UPDATE!!

I was looking to use the newer Artech AD102 Caller ID Device but also experienced the same issues of the application created by @telefunken no longer working. Comparing the DLL file used to communicate with the device, I would make the assumption that the one included with the application does not support the AD102.

I did some testing and have managed to add the new DLL file from the latest SDK 20170510 version. The 64-bit version does not appear to work at all, but I managed to get the 32-bit (x86) version working fine. I tested it on 64 bit Windows 10 but have not done so on 32 bit Windows.

I have updated the source and recompiled the application, which I have called CHC v1.1, which can be downloaded below. I also added the following changes:

  • Updated latest (20170510) AD102 API DLL
  • The application now loads to the system tray (no longer displays popup window on startup). This makes it better for background running and you can add it to the startup folder to launch on Windows startup. You can view the call log by right clicking the system tray icon and selecting “Show”.
  • Fixed the date/time format in the COM output to always use 2 digits for hour, minute, month, day (previously would use single digit in cases like 1am = 1 instead of 01)

PLEASE NOTE: I have no way of knowing if this new version is still compatible with the older AD101 model. If you find it does not work, I suspect the original version may still work with the AD101 model.

Download:

CHC_1.1_x86.zip (83.1 KB)
CHC_1.1.src.zip (source) (570.0 KB)

I have not compiled the 64 bit (x64) version as it does not appear to work with the latest provided API DLL files from Artech. If anyone wants to attempt to fix that (however the benefit of running at 64 bit is likely minimal), you can download the latest SDK for the AD102 below:

AD102 SDK Download (NOT needed for normal use, only for development)

AD102_SDK_20170510.zip (6.5 MB)

1 Like

UPDATE - v1.2

I have updated the source code and released an update v1.2 of the CHC application.

Changes:

  • Disabled all events that trigger the caller ID to be sent to the COM port except for the first ring Caller ID data. Other events previously enabled (off hook and no line) would send the Caller ID data when the phone was picked up or if the phone line was disconnected. While it may be useful to know this info, unless you built a custom SambaPOS workflow, the default “Generic Modem” implementation will result in duplicate popups for when the call comes in then again when you pick up the phone.
  • Sends additional event triggered data to the COM port (does not affect SambaPOS setup). Useful only if you want to create a custom workflow in SambaPOS (you will however need to download and recompile the source to use as the other events has been disabled in this release)

Download:

CHC_1.2_x86.zip (83.2 KB)
CHC_1.2.src.zip (source) (561.7 KB)

3 Likes

Hi Mark,
What is the sambapos Caller ID compatible model available to buy in UK and how much does it cost and where we can order?

Thanks, Sam

We (StoreSeen) sell the AD102 in the UK including setup

I have sent you a PM