Tuesday, July 9, 2013

Interfacing between the Serval Mesh and Cellular Networks (Part 2)

In a previous post we described our initial work towards creating a two-way mesh to cellular gateway using mobile phones as the only major component.

Thanks to Michael's great work, we have this now working.

Calling out is automated with the Serval Mesh software announcing itself as a GSM gateway when you attempt to call an off-mesh number, as you can see in the screen shot below.

He also managed to get incoming calls working.

He even managed to get DTMF parsing working, so that when you call into the mesh you get prompted for the number on the mesh you wish to be connected to, and you can then just dial the number on your phone, and get put through.

This last feat is quite amazing given that the DTMF codes have to survive being played through tiny ear buds, re-recorded through a tiny microphone before actually being decoded.

We know that the frequency response of the audio path is very non-linear, but Michael managed to come up with a commendably simple signal processing solution that could work in spite of this.

You can see how easy it is to setup in the following video:


On the same day we filmed that video, I also called one of our friends in New Zealand Red Cross using this arrangement.

That is, from our lab in Australia, I dialed his normal New Zealand number from on the mesh, selected "GSM Gateway" when offered, and then waited to be connected.

There was a lot of delay early in the call, bit it then caught up to within a couple of seconds for the rest of the call.

That delay was longer than normal for a mesh call, possibly because one of the mesh phones was acting as the access point for the phone I was using, and there may have been some CPU contention (we were using 500MHz IDEOS U8180s that are very slow), combined with Wi-Fi packet loss in the University building here due to the presence of lots of other Wi-Fi devices.

Anyway, Matthew and I had a usable and effective conversation for about five minutes discussing recent news.

Matthew's assessment of the audio quality was "not great, but definitely usable, and certainly much better than nothing."

We agree, and really, this is the point: there are 100 better ways to connect a mesh to the outside world, but if all you have on hand during a disaster is a couple of phones and some duct-tape, there was previously no solution -- but now there is.

We plan to integrate this capability into the mainline Serval Mesh app in the future.

To help us do this, and generally advance the Serval Mesh, please consider supporting our crowd-funding campaign at igg.me/at/speakfreely, and spreading the news about that campaign far and wide.


No comments:

Post a Comment