Search code examples
androidiosiphoneios9

Is it possible to implement Auto Attendant with Android or iPhone?


To block unwanted phone calls I would like to develop an app that would answer the phone and ask the caller for their name and to press # to complete. Then the phone would play the recorded name and allow the user to either accept the call or block it.

Before setting out I want to know at a high level if this type of functionality is even possible with the APIs exposed by Android or iOS.


Solution

  • I don't think it's possible on Android. The closest permissions available are as follows, and none of them appear to let an application even pick up a voice call or record call audio data, unless it's played through the speaker:

    • ADD_VOICEMAIL
    • CALL_PHONE
    • CALL_PRIVILEGED
    • CAPTURE_AUDIO_OUTPUT
    • MODIFY_PHONE_STATE
    • READ_CALL_LOG
    • READ_PHONE_STATE
    • READ_VOICEMAIL
    • RECORD_AUDIO
    • USE_SIP
    • WRITE_CALL_LOG
    • WRITE_VOICEMAIL

    That said, you could develop a private server-based call-forwarding service and use an Android/iPhone app to accept SMS or other notifications of incoming calls, then call the service back (or pick it up using VoIP). it wouldn't be the phone doing the initial voice-response work, however.