JackPair – Secure Phone Calls using Codec 2

I’ve just found out about a new Kickstarter for JackPair, a device that enables secure phone calls over a mobile phone. It uses Codec 2.

Over the past 12 months I have been approached by a couple of groups interested in building a similar product (but not JackPair). These groups asked me to develop a modem that could pass data through a cell phone voice codec. Given I know modems and codecs it was a good fit. Quite a challenge too, to get 1200 – 2400 bit/s through a voice codec. To both groups I said I would only do the job if it was open source, and it never went any further.

I feel a product like this must be open source, in order to audit it and know it is really secure. So the software should be GPL and the hardware open. An end user must be able to (re)flash from blank silicon using their own trusted firmware. The paranoid could even do this every time they use it. Or solder their own device from scratch. That’s where I’m heading with my open source radio work – make the radio hardware trivial, and the software open and capable of running on commodity CPU.

The SM1000 has the hardware to build a JackPair type product, e.g Codec 2, DSP capability, microphone and speaker amps, and line audio interfaces. It would need a different firmware load (modem, crypto). The SM1000 is open hardware, so a good starting point.

Clearly the JackPair is a product whose time has come. I support this sort of project (secure telephony for everybody) as I feel my governments response to terrorism is more of a concern than terrorism itself. Good to see it happening, and nice to see Codec 2 helping make the world a better place.

9 thoughts on “JackPair – Secure Phone Calls using Codec 2”

  1. Yes sir !!! Well spoken indeed…
    Hats off to you… ESPECIALLY agree with you on : Open Source, GPL, Open hardware, user rights to DIY

  2. Hi, David!
    Now I work under PC software for open source project similar to JackPair. Cryptography will be similar to my OnionPhone (on github.com/gegel). But GSM modem is a really problem. I tested eCall modem (http://www.3gpp.org/ftp/specs/latest/Rel-11/26_series/26268-b10.zip), pulse modem (Kondoz at all) and its improvements ( http://www.diva-portal.org/smash/get/diva2:21981/FULLTEXT01.pdf), 4QAM (http://www.esiee.fr/~chmaysst/RadioElektronika_finalpaper.pdf) and also FDMDV. All are good for GSM EFR codec, some acceptable for GSM FR, but no one for AMR475.

    JackPair presented modem acceptible for GSM HR and AMR475. I carrefully analised demo on yotube and find long pseudo-speech symbols, but I don’t understand as the realy 1200 bps is avaliable.

    What do you think is 1200bps avaliable over AMR475 in general?

    1. I actually had some contact with the JackPair guys who expressed an interest in GPL-ing their modem, however I haven’t heard from them for a while. Yes it is a tough technical problem. I can advise you and perhaps help with some simulations if you have access to the AMR475 codec. Just email me.

    2. Hey Van Gegel

      I am trying to implement jack pair like modem. I would like to do R&D on AMR 4.75. I dont wanna waste my time developing everything from scratch.is it possible for you to share your modem for EFR with me.

    1. Good to see you still working on this. There is a new 650 bit/s Codec 2 mode that might be useful, makes the modem so much easier.

  3. Hi, David!
    Codec2 650 bps is an excellent choice for our modem (1333 bps in raw) with 1/2 Turbo Coding or Viterbi. Thanks very much for new mode, I’ll test it.
    But I have an idea for you – add noise suppressor/speech enhancer like NPP7 because it is very sensitive to cleanliness of the speech and requires a good microphone. Is this a big problem?

    1. Actually you may not need a powerful FEC code. The Codec is robust to bit errors up to 4%. So just try sending 650 bit/s through a 650 bits/s modem. That will make the modem problem much easier for you.

      Also at low bit rates a good FEC code (Turbo or LPDC) can introduce very long latency (many seconds).

      Oh yes, a noise suppressor is a good idea, we use the Speex one, see unittest.

Comments are closed.