I am wondering if there is any software or any way that the iPhone can can be made to speak the name of the person who is calling. The reason I am asking is because I use a bluetooth headset all of the time and need to know who is calling so I don't need to look at my phone all of the time.

  • 1
    Have you tried enabling VoiceOver? I don't know if it does what you want, but perhaps a jailbreak could enable that just for incoming calls. This feature clearly isn't baked into iOS as something you can just switch on just for incoming calls, though. – bmike Sep 17 '12 at 15:43
  • 2
    Would be a cool Siri feature: "Hi Stephen, Peter Pan is calling on line 1. Do you want to 'accept' the call or 'forward' it to voicemail?" – nohillside Sep 17 '12 at 15:51
  • It looks like voice over works but then it speaks everything to me and that is annoying. I wish there was something out there that allowed this functionality just for speaking incoming calls. – Stephen Sep 17 '12 at 15:56

I'm using since years the app CallTell available on cydia (so available only for jailbroken devices). I've tried it on iPhone 3GS, 4,4s and now 5 and it worked fine, even though since I've updated to iOS 6.0.1 I'm having some bugs on it, the reason why I was here looking around if there is another app doing the same job....but I really encourage you guys to try it if you have none. The app doesn't add an icon on your home screen, is set up on the device settings screen. The app speaks call, messages (caller and/or text) and even applications notifications. All of these things can the configured on silent, ringing of both modes. You can put it on, off and even configure the text to speak before the name


If you enable VoiceOver (in Settings → General → Accessibility), your phone will speak the numbers (or names for contact entries) of incoming calls. However it changes the user experience of the phone substantially (it will read everything on screen for you). I'm not aware of any way to enable VoiceOver just for phone calls unfortunately.

Another option would be to record custom ringtones reading the number/name for some of your contacts (you can assign custom ringtones in the Contacts app). This is obviously time consuming (although if you have a Mac, you could speed it up with some scripting of Address Book and the system reader), and only useful for the contacts you set custom ringtones for—any incoming call not in your address book is out of luck.

There's very little integration with the Phone app available for third party apps—not much more than sending a number to call, so it's unlikely this could be solved by an app without jail breaking (and possibly not even then, I don't know).

  • 2
    To amplify the downsides of VoiceOver - it also substantially (and severely if you have not learned how touch UI works in VoiceOver mode) changes gestures to operate iOS. For now - using ringtones and keeping the display visible are your best workarounds. – bmike Sep 17 '12 at 16:37

There is now such an App available in the App Store. It can even look up unknown numbers in the web (reverse Caller ID lookup) and then tells you who's calling. The App is called:

RingRing - Who's calling me from this number?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .