We are currently planing to build a Point Of Sale application for Restaurant. The biggest problem we face is to decide whether to develop the application for IOS or Android, we couldn't figure out how to capture the CID ** from the landline call to the our application.
We have found many devices and external modems which support other programming languages but none of them support IOS and Android. What would be your suggestion to achieve that.
** Caller ID (caller identification)
Regards.
To enable caller ID, the phone company equips a phone with a caller ID box. This usually includes a modem to decode data bits, a tiny circuit to detect a ring signal and a simple processor to drive the display. Caller ID data is transmitted between the first and second rings.
CallApp is a Free Caller ID and Call Blocker app that allows mobile users to block phone calls, identify telemarketing calls, record phone calls, blacklist unwanted callers and much more.
Most of the USB Caller ID supports Windows only, if you want to get the Caller ID from the landline and use it on any mobile app, I guess your best option would be use a Raspberry Pi to build the hardware yourself
NCID is a popular package used by the Raspberry Pi community to get the Caller ID, there are lots of tutorial on the web. Here's a great example: http://geekswithblogs.net/MobileLOB/archive/2016/07/06/caller-id-on-raspberry-pi.aspx
But beware of your Caller ID format, you may need to convert the format before sending to the modem, this guy bought an extra hardware to convert DTMF format to FSK format for his modem https://www.reddit.com/r/DIY/comments/3nls9m/callerid_for_the_visually_impaired/
Once you get the data in your pi, you can use any method to send the data to your app, WiFi, Bluetooth, Ultrasonic whatever.
To answer properly you must provide some more information, but I can suggest one optional solution:
On android, if your landline modem is accessible via tty, (or tty emulation), that means you can access it using regular serial channel. In such cases it will be possible to simply listen to the serial channel and interact with the modem using AT commands.
Upon incoming call, you should be able to get a string from the modem with the caller ID.
Writing a system service that reads from the serial line is not a big task, you may even write an application that access the serial line directly on some devices (there are some modem manager apps or serial terminal apps on the google play). I hope you find this answer helpful.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With