Is it possible to intercept voice data during call?
Asked Answered
D

6

10

I plan to develop Android application which will encrypt/decrypt voice data such that parties can communicate using secure channel. So the question is: how to intercept voice/audio data during GSM call? Is it possible or not? Should I use Android NDK or something else?

Dressmaker answered 15/11, 2010 at 7:23 Comment(0)
J
5

This is something that happens in the low level of the operating system. You wouldn't be able to access this information in the application level.

I suggest that you look into VOIP like SipDroid. I bet you'll be able to set it up to use encryption easily. (srtp instead of rtp)

Even if you SipDroid doesn't support this, it's is open source so you could add this feature.

Junker answered 15/11, 2010 at 15:35 Comment(0)
R
8

In GSM it is not possible to encrypt the voice and send it through the voice channel due to channel characteristics. The signal sent through the voice channel has to be (similar to) human voice as vocoder (CELP) is used for channel coding.

So even if you had access to low level libraries and used it to encrypt voice to send it directly through the voice channel it would be not possible for the called party to receive and decrypt the signal.

Encrypted voice however could be sent through the data channel as data.

Riley answered 7/12, 2010 at 15:51 Comment(1)
Never knew that! Very interesting answer.Dressmaker
J
5

This is something that happens in the low level of the operating system. You wouldn't be able to access this information in the application level.

I suggest that you look into VOIP like SipDroid. I bet you'll be able to set it up to use encryption easily. (srtp instead of rtp)

Even if you SipDroid doesn't support this, it's is open source so you could add this feature.

Junker answered 15/11, 2010 at 15:35 Comment(0)
Z
3

Call recording is not yet possible on Android. See this feature request.

You can record your voice from microphone, but you can not record the sound of the other party. If you only want to record your voice use android.media.MediaRecorder.AudioSource.MIC

Zitella answered 15/11, 2010 at 8:22 Comment(2)
I didn't mean to record call. I meant intercept live voice data, change/encrypt them "on fly". Is it possible?Dressmaker
No - you do not have access to call voice data.Zitella
H
1

Simple Answer, NO!

Hardwood answered 15/11, 2010 at 9:12 Comment(0)
V
1

if you are able to access low level libraries and used it to encrypt voice to send it directly through the voice channel off course it would not be possible for the called party to receive and decrypt the signal but if you modulate encrypted voice data and transform this voice data into speech like waveform and send through the voice channel of GSM then surely other party will receive and decrypt the voice.

Virgil answered 10/7, 2013 at 4:4 Comment(0)
Z
1

I know there are apps that act like voice changer where they change your voice and transmit that thru gsm voice. Maybe you can make an app that takes the voice then modulate it to something like phase shift keying or digital radio monodiale like what hams used in vhf and hf radio communication and transmit the audio to gsm then demodulate it back to voice but instead of straight forward modulation demodulation you can add pgp, aes, or whatever encryption you like. I'm also intrested to see a project like this.

I think it would also be great if you could use this to transmit data thru voice gsm channel like the 56k modems in the past instead of the gprs channel.

See reference http://freedv.org/tiki-index.php http://www.aprs.org

Zosima answered 9/12, 2014 at 6:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.