NOTE: I know neither the iPhone SDK or Objective C, just wondering if possible.

I know obviously it would have to be on a Jailbroken device anyway, but it is technically possible for a iPhone call recording application to be made, or is it not possible to hook into the calls or the audio input/output?

I know obviously there would be no 'official' way of doing it and certainly not from an App Store application. And I know there are call recording apps which place outgoing calls through their own servers.

Just wondering if the reason it doesn't exist yet is just because no-one has coded it or if it's not actually possible?

  • 4
    This would probably be a better question to ask on SO, as they would have much better knowledge of what is and isn't possible from a programmers perspective.
    – Josh K
    Aug 27, 2010 at 14:24
  • 2
    All answers here provide an app that needs either internet connection or calling another number first. To me, that means the actual recording is taking place in a central and not within iPhone. That's hopefully not what this question is about. I at least am expecting an app actually able to do it even without internet and specially with no need to call an international number back and forth.
    – cregox
    Dec 24, 2010 at 15:10
  • What can be added here to the responses to get you an answer to this question? (feel free to answer it yourself if you reached a conclusion different than the ones proposed)
    – bmike
    Mar 13, 2012 at 15:36

7 Answers 7


On Jailbroken iPhones, SpoofApp does call recording. I am not a laywer, but note that recording calls may not be legal depending on where you are and/or where the other party is.

  • Really good service. But it needs no jailbreaking anymore and it is, just like every other "iphone recording app" out there, actually done within a call center the whole process, through an access number.
    – cregox
    Dec 24, 2010 at 15:21

For the UK market there is also Call Recorder . It uses a premium rate number to record the call but it's available for non jailbroken iphones too.


Just recently I discovered an app actually able to do it properly, but just for SIP calls.

It's called MobileVOIP and it's on Apple Store! :D

So I hope this does answer your question. Even if it's not recording a phone call, I believe it shows it's theoretically possible.


There is no easy way since that part of the software and hardware is secured.

Of course it's possible in the theoretical sense as the voice recorder and music mixing apps show the power of signal processing hardware and software has access to both streams of sound.

Someone would need to re-do some or all of the iOS code and change it. But what's simple in concept is surely complex and perhaps too costly to happen in reality.

You simply take the code that listens to the stream of microphone data inside the mobile Phone app and dump a file to storage as well as encoding it for voice calling. If that app calls an API rather than doing that processing itself, then you would implement the recording there. You would do the same for the incoming data and could either add time markers for later mixing or mix it down as the call is being handled.

This code is of course not in place using the documented API so you would need to patch the app after a jailbreak or uncover an undocumented API to actually implement this feature.

The use case is so obvious that if this were sitting there, hundreds of apps would be doing this already.


iOS Tweak Developer Elias Limneos has released an app on Cydia called Audio Recorder (originally called Call Recorder).

So it's finally possible to record calls locally on the device without having to call via premium rate numbers!

Audio beeps can be disabled but there is a forced 'This Call is being Recorded' message played at the start to the other party.

It currently only works with the iPhone 4S (Loudspeaker only) and iPhone 5 and a license costs $3.99 per device.

EDIT - Looks like I was too slow, since I purchased this last week it has already been discontinued although existing purchasers can continue to use it there will be no further updates.

I, Elias Limneos. sadly announce that I decided to stop distributing and working on "Audio Recorder" application. As of today, Audio Recorder is discontinued.

Source: http://limneos.net/audiorecorder.html

EDIT - He's changed his mind again and is available for sale via his own Cydia repo.


It's definitely possible, and almost certainly unnecessary to read directly from memory. Apple's private APIs are discoverable using both Xcode and certain 3rd party Objective-C class browsers.

If you need your unasked question answered ("How would one implement an iPhone call recorder?"), Then I agree with Josh K: head over to stackoverflow.com. Or get in touch with the folks at Rogue Amoeba, as they've already solved this problem on Mac OS X, which shares the exact same low-level libraries as iOS.

  • I haven't tried this myself, but see itunes.apple.com/us/app/callrec-me/id343580672?mt=8# for an app that claims to do what you ask.
    – clozach
    Aug 30, 2010 at 9:56
  • About your comment, clozach, for an app on apple store being able to do it, it could only be one that requires you to dial another number first. So it's not technically an iPhone call recorder.
    – cregox
    Dec 24, 2010 at 15:04
  • True, if you're talking about App Store-ready apps. However, the op asked whether it's possible on a jailbroken phone.
    – clozach
    Jan 10, 2011 at 20:13
  • Someone smart enough to crack this recording nut would likely realize they could sell their work to the FBI/CIA for far more than the consumer public would ever pay.
    – bmike
    Aug 4, 2011 at 14:21
  • 1
    Sorry bmike, but any state agency does not need to deal with this person. They most certainly, if pushed, can get the conversation easily in transit. Furthermore, they are extraordinarily suspicious, of our sketchy genius. That is attention one does not want when one could sell the app to unfaithful spouses all over the planet, 50 bucks a pop, if it worked. Easily.
    – chiggsy
    Sep 17, 2011 at 4:01

Yes it's clearly possible at least by reading directly in the memory even if hook is probably much easier to do.

You must log in to answer this question.

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