Android Question Incoming number to Bluetooth device ?

lemonisdead

Well-Known Member
Licensed User
Longtime User
Hi,

This time it is not for business but to help a friend of mine who has bought a new device for deaf people. This device lights and vibrate when there is an incoming call. He can reply by text and chat when the communication is done.

With his wife's iPhone, the name of the caller is displayed on the device's screen. With his Android device, only the incoming number is displayed (not so easy because you have to remember each number not to ask by text : "who is it ?").

So I wondered if someone knows a way to send the name of the contact directly to the device's screen. I have searched developer.android to see any method but found nothing about. And of course, I can't connect to the device using the Serial library or it would be too easy.

It is not important but could help a friend. Many thanks for any idea :)
(rooo : not the paper containing the contact's number with a rubber to the fridge, of course ;))
 

lemonisdead

Well-Known Member
Licensed User
Longtime User
Well, Google was a good friend : there are lot of threads about this issue and I am not alone searching a solution.
So I regret not to be able to delete this post. I guess we won't be able to find a way to accomplish this.
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
I am sorry I have found no solution. What i have partially understood : It seems the rSap function is what is missing.
I was discouraged by all the found results on the internet so I have abandoned the search. But I am willing to share any information as this post won't be deleted anymore
 
Upvote 0

Jmu5667

Well-Known Member
Licensed User
Longtime User
Am I correct in assuming that you have a bluetooth device connected to the android phone. If so there maybe a way of sending the callers details to the device using JavaObjects. I am sure that it can be done, just need to figure out what the correct calls are. If you can send me more details that would be great. We do alot of work with bluetooth/SPP so I would be interested in this.

Regards

John.
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
That's super kind of you and I admit I would be happy to benefit from your knowledge. I was gone to check what this device could be but have only some info (I can not find it on the internet). The brand is RNID and the model is TypeTalk (googling has thrown me to typetalk.org but their download page has no reference of the model). I have sent an email for more information.
Thanks again
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
Hi John,

I am sorry, I had no reply from the web site. Before to giving up, may I ask you if it is hard to send the information via Bluetooth to the device ? I guess I'll have to know a specific protocol or the commands sent ?
I am sorry about the question but I am not an expert like you are on this particular domain. Thanks again
 
Last edited:
Upvote 0

Jmu5667

Well-Known Member
Licensed User
Longtime User
No Bluetooth comms is done via serial communications. One you have the defined protocol between your app and the device it's pretty simple. What had you in mind ?
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
But without any reply from the reseller (manufacturer ?) could I know the protocol used ? John, I am sorry for the newbie question but as I understand it (with my little knowledge) I should have to know the AT commands sent to the device, shouldn't I ?
I can't make tests and find the protocol by chance... Even if the device already receives the caller's number, I have tried to watch in the unfiltered logs but I have seen nothing about the number
 
Upvote 0

Jmu5667

Well-Known Member
Licensed User
Longtime User
AT command are a predefined list, if you are connected to the device you should possible get a RING or CONNECT string send to you. Have you listened for this ? Can you send me a web link to the device please.
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
Thanks again (I'll have to subscribe a "thanking plan" ;))
The brand is RNID and the model is TypeTalk. The web site http://typetalk.org doesn't list this model, reason why I had contacted the web site.

About the connection to the device : it is not possible. So I guess, it is using another protocol not accessible via the Serial library. But I will have to make more live tests to be 100% sure (those were done two weeks ago before posting here).
 
Upvote 0

udg

Expert
Licensed User
Longtime User
Hi,
may I suggest a different approach to solve the undisclosed protocol in use?
Try a packet capture app and then analyze the resulting file with Wireshark or similar program; this would give you more than a hint about what goes on between the phone and the device.
I read that Android 4.4 has a built-in HCI packets snooping option, but googling around you should find apps capable of that same capturing and saving to a file capability briefly described above.

Umberto
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
Hello,
Me again after having taken the time to try UDG's solution. I have enabled the HCI snooping from the Developers Settings and got a btsnoop_hci.log file on a mobile.

Because I am new to Wireshark, I made my test locally to check if I was able to retrieve some data but I am lost. I have took a look at the Wireshark's wiki pages (especially this one http://wiki.wireshark.org/Bluetooth) and the protocol used is HCI_H4 ("HCI_H4: This is not a protocol but more an encapsulation format that wireshark implements"). OK, but I can not see any command.

I have made a capture with my son's smartwatch and mobile. I naively hoped to find a command and the caller's phone number but nothing in the log. Perhaps those data could not have been logged ?

I attach the log file if someone has some time or would like to take a look. I must admin that I am discovering a new world :)
 

Attachments

  • btsnoop_hci.zip
    1.2 KB · Views: 159
Last edited:
Upvote 0

Jmu5667

Well-Known Member
Licensed User
Longtime User
It has just occurred to me, the phones rings, so add an intent to listen for the phone state change and you can get the caller ID from that. Any phone Bluetooth device is really an audio extension of the phone. Your app will run on the phone so get the caller id there ;)
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
Yes I will get the phone number but not the command sent to de device used to send the caller Id ;)
 
Last edited:
Upvote 0

udg

Expert
Licensed User
Longtime User
Hi lemonisdead,

I had a look to your captured data and indeed there's a lot of low-level setup in it, nothing close to what you are after.
From row 10 every other row shows some useful info, but again no clear track of a "coded" command to send/receive data to show on the BT device.
Did you captured those data before and during a trasmission of any useful data then showed on the smartwatch? I haven't a specific knowledge about these devices, but I expect a string with the caller ID to be sent from phone to device when the phone rings, if the device is supposed to show that data and it does it. Same for date/time, steps taken during a walk..
On row 106 you can read a "create connection" command but then the captured data file ends so we don't know if following that any other simpler and useful info was exchanged between those devices.

Umberto
ps: data could be encrypted but we still should be able to locate the message containing it
 
Upvote 0
Top