3

I want to implement my own encryption rule before the call data go into GSM network i.e. I want the call stream in the form of bits, I will implement my own encryption algo, and then send on to the network, my app on the other side(reciever's end) will recieve the data, decrypt it and make it into audio. I want to know is it feasible, if it is how? I mean I want to use cell phone network as in like Airtel, Vodafone etc.

If it is not possible It will be of great help, if I can do it using internet (2G or 3G) ?

Any guidance in this, I want just direction.

Thanks in advance.

Harsh M
  • 625
  • 2
  • 11
  • 25

3 Answers3

3

You can quickly create a chat application using Adobe Flex which will create an Adobe Air app that can run on Android (and also compile an iOS version if desired). The core strength of Adobe Flex is sending audio (and video) data with very little effort on the developers part.

You can configure your application to use SSL using the rtmps protocol if you want the data being transmitted to be encrypted.

This page shows you how you can create a simple video chat app for android using Flex http://coenraets.org/blog/2010/07/video-chat-for-android-in-30-lines-of-code/ - if you specifically don't want video you can send audio only data.

codeghost
  • 1,014
  • 7
  • 14
  • You'll need an SSL implementation that supports 1) Both server and client side 2) (EC)DHE suites 3) Client certificates, and even then it leaks the public keys of the participant. – CodesInChaos Oct 13 '12 at 13:24
0

I can't imagine any reason why this wouldn't be possible as the networks are just passing data around, I don't think they care if it's encrypted or not encrypted - it's just a series of 1s and 0s.

As to how, that's a little beyond the remit of Stack Exchange - if you have a specific problems then post them with code.

There are other similar questions which you could look at:

Community
  • 1
  • 1
dav_i
  • 27,509
  • 17
  • 104
  • 136
0

On Android, calls using the GCM (or other) network are handled by the baseband processor, which you don't have direct access to. You talk to it via the rild (Radio Interface Layer daemon) which uses proprietary library to talk to the actual hardware. So in practice you cannot mess with the mobile network.

A VOIP application would use the data connection and you can send/receive pretty much anything you want. If you use a standard technology such as SIP, there are ways to use TLS for the communication channel(s), so that traffic is encrypted. If you are creating your own, you might do something similar by using SSL sockets.

The 'how' part doesn't really fit the SO format, since it's very open ended and depends on how you decide to implement this.

Nikolay Elenkov
  • 52,576
  • 10
  • 84
  • 84