 Yeah, it was after Haiti earthquake last year, we started thinking about things and have really started the development march last year and got to prototype stage by about July after some very crazy 80 hour weeks. And yeah, it's just plugging along really nicely. And I'll let you tell them all about that. Absolutely. Let me get myself organized here. We're using Android phones, but the interesting thing is Windows Mobile will probably actually be easier for us to get it to work on with the meshing without needing root access than Android, just as one of these strange things. So I'm quite happy to talk to Microsoft about this as well. We want it on every phone, really. Before I get started into the full-on talk, my first, if you like, mobile development is a genuine shoe phone. I'll get smart. So if anyone wants to have a look at some shoe phones after, they're here. And I'll just get the laptop sorted out. Everyone enjoying conference so far? Yeah. OK, let's get this happening. Do-do-do-do. Hello, computer. Oh, that's quite a bit to do that for me. OK. So as mentioned, talking about the several projects. So ads for other talks. This morning, I gave a talk talking about some of the back stories. So if you want to know where we've come from and my crazy approach to various things, you can grab the video online for that. Thursday morning, I'll be doing kind of the main talk about the project. And we'll go into some of the big picture. But I'll do a quick run through today. And assuming I can get all of the crazy stuff organized, I've been booking airspace with Brisbane Airport and trying to get helium and regulators. And most difficult of all, getting permission from QUT to have a balloon on a string. Granted, a 100-meter-long string and a one cubic-meter balloon. But nonetheless, we'll actually do a demonstration of this technology as a mock-up of getting mobile coverage back into a disaster area. So serverless is all about mesh networking. This thing isn't quite long enough. That's right. So what we're trying to do is, whether it's disaster or whether it's rural remote, any of these kind of situations, we want to be able to get telecommunications in and have it be resilient in the face of all manner of things. Whether that is disaster, it could simply be terrible geography. You go into the highlands of Papua New Guinea or into, I think, even East Timor. There's certainly issues with tall vegetation. And all of these sorts of things that can make mobile coverage difficult to maintain. So we thought, OK, let's come up with something that can work anywhere. And that actually made some very simple assumptions that we could make. So this is our assumption of logistic convenience and existing infrastructure. So basically, if it could work on the far side of the moon, then it would meet all of our other needs. In terms of user skills and user education, someone's long-dead grandmother is kind of the learning curve that we're pitching at. So it simply had to work like a normal telephone. So normal phone numbers and without anyone having to really kind of mess about and choose whether they're on mesh or on the public network or any of these things. And finally, we had to use existing phone numbers in a disaster environment in particular. So if someone actually just gave you a phone and you went, excellent, I've got a mobile phone and coverage again in a disaster zone. But if you didn't have your own phone number and the people that you cared about, your family, your friends, whoever, didn't have their existing phone numbers, it actually would not be very useful to you. Whereas if everyone kept their same number and you go, excellent, I can ring my family, they're alive, they're safe, fantastic. The emotional release of that is actually very significant. And it enables people, if you know that your family is safe and you can be in touch with them if they need you, you can then go on and help other people. So this is the kind of thing that we're looking to enable as well as infill with damaged infrastructure like here around Brisbane with the flooding where a number of cell towers got wet feet and were off for a while. And in actual fact, who's having trouble with their mobile phone coverage even now on conference? A few people, yeah, it's normal, is it? Like it's the normal level of badness? Wow, okay. Well, our technology has used in peace time as well then. So we just kind of flipped through. Then in thinking about those assumptions, we decided it had to be an ad hoc mesh. It had to be wireless. They're kind of obvious things. I mean, if you tried to do it any other way, it would be very, very bizarre. As much fun as it would be to have bits of string laying around the place. But also the self-claiming of phone numbers. Again, in a disaster zone, if your phone goes flat or squished or whatever and you get someone else's phone, it's really important that you can actually claim your phone number again. You can't wait for the phone company to be back up and running because the whole point is it's a disaster and they're not working. And let alone, that's the last thing they want to do is fending off half a million people trying to get their phone numbers back and prove that, please divert all my phone calls to this SIM card that I've got no idea what number it really is. So we've put a system into self-claim phone numbers very easily. So you go, okay, excellent, fantastic, all good. Oh, authentication. How do we authenticate this self-claiming of numbers so that it's actually vaguely sane? So we actually decided on a very, very simple solution. Simply let people claim their phone number but then get a voice print, a bit like voicemail. You know, you ring someone's voicemail and you know you're leaving voicemail for the right person because you can hear the person talking. It's much easier than doing some kind of whacked out high-tech digital solution. It's much easier to let people's wet wear in their brain work out whether they're talking to the right person or not. So it's just very, very simple. And it lets us do this incredibly powerful thing of actually letting people grab their own phone number immediately. And you could actually have, I mean, if only one of us in this room had a phone and there was a disaster here with our system, we could actually put all of our phone numbers into the phone. So if anyone rung any of those numbers, it would actually ring that one phone. And it might be that, you know, you might move to somewhere else, there might be a pay phone that's available. Again, you could actually then basically make your phone number follow you to where you're going. So it's really designed about empowering communication in any circumstance. So in terms of the calling and security model, we've decided to use public, private, sorry, blank happening here, asymmetric PKI cryptography. So we're using Elliptic Curve because it's got really nice short keys and is believed to be much more secure than RSA for any given bit length. Because there's no shortcuts for solving Elliptic Curve problem at the moment. So 160 bit key gets us pretty good security. So the private key you use to sign any transaction that the phone is authorizing. And then the public key is what people use to actually contact you. So it's a very simple, elegant solution. And you just, you roll your own private key. So there's no central authority for that PKI. Sure, we can layer that on top and sort of say that, you know, I vouched that your number is your number and you vouched that mine is mine and have a whole reputation system built around that. But that's a layer on top. So the subscriber ID is this public key. And then the phone numbers are separate from that so that you can move phone numbers around between subscriber IDs in a very portable kind of way. And when a phone call happens on the mesh, the phone starts by actually broadcasting, very much like ARP in fact, except instead of putting out an IP address and getting an ethernet address back, you put out a direct dial-in number and you get given a SIP address back. And that might be for local on the mesh or that might be a SIP address that actually goes to a PST and gateway of some kind. And if I actually turn these on now because they take a little while to boot, we can actually do a demo of that in a few minutes. And people are welcome to have a play with these after as well. Okay, and of course, once you've done the mapping from direct dial-in number through SID to get the SIP address, you can actually cache the SID for future reference. So it's, you know, we can simplify the call in future and in particular, the verification stage where we use that voice signature, you can actually skip. So the first time you call someone who's claimed their own phone number, you basically get a message played to you by your phone saying, you know, we found someone who's claimed that number on the network, but we can't guarantee that it's that person. Here, listen to them say their name and if you think that you want to be connected, you know, press hash. So it's a very simple solution for, you know, for a best effort communications network, we have best effort authentication in the situation. But we can, as I say, bypass that for subsequent calls. So here's how our software stack looks on the phone. So SIP droid is actually providing the SIP client where she had to do a bit of hacking with SIP droid to make it behave. It was never designed to expect there to be a voice server on the phone itself. So, you know, we thought, okay, fine. You know, we've got everything on there. No SIM card in the phone. Put in 127.0.0.1 as the server address. It happily takes that. And then it told us, oh, you don't have a data connection. I can't connect to the server. And it's like, nah. So we had to hunt around and find where it was, you know, looking for the data connection and all of that kind of thing and adjust a few lines of code. And then we got all that working and then it wouldn't use any codecs. And we're like, what's going on now? And it turns out what it does is it finds out what speed your data connection is and filters the connections based on that. But of course, you know, it wasn't counting on the loop back interface actually being available. So it was a lot of effort to find the six lines of code that we actually needed to change in there. We need to get around to putting that patch back out actually. So that then feeds into an asterisk server, which is using the VillageTelco dialing model and configuration. So David Row is actually giving a talk on VillageTelco on Thursday. Immediately after, but in a different room to where I'll be presenting more on this project. So if you want to find out the ins and outs of the VillageTelco project, I think they're talking more about the deployment of it, but it's all really good stuff. So then we've got our special source, which is DNA, which is our distributed numbering architecture, which is what does this number mapping with the ARP style and the caching and all of that kind of thing. So for speed, we've made a plugin for Apache. So that basically there's an Apache function so you can do sDNA lookup and give it a phone number and get a SIP address straight back. So we can dial and connect in about a second, which is actually, if you think actually about how long it takes a mobile phone network to connect your call through these days, it's kind of silently extended over the years and it's not uncommon for it actually to be five to 10 seconds before a phone starts ringing on a mobile network. So back to DNA. So below the DNA plugin, we have the DNA Demon which actually sits there listening to the socket on the network and puts the requests out and handles all of that process and maintains a little database, very similar to the HLR database that exists on a GSM network insofar as it maintains the subscriber records. So with these phones, they've got plenty of storage so they can always fit their own record. But if you're using a mesh potato or another device that has only limited capacity and you try and get 400 people to register their number onto the device and it's got 16 megabytes of flash for everything, including the operating system, it may be that your subscriber record needs to get stored on an adjacent node on the network. So we have support for that. Then we're using the Batman mesh routing algorithm below that to do the actual meshing. And we've modified Android Wi-Fi tether to basically stop and start our demons and it was really nice to be able to make use of the Wi-Fi tether application because it turns out getting Android phones into an ad hoc mesh, A is unsupported and B is a blazing mess of different chip sets and different kernel modules and it's just disgusting. And it seems that no matter who complains to Google about this, there's actually no action on them actually providing an API for ad hoc mesh networking. Even, I mean, Froyo claims to have soft hotspot mode and all of these lovely advances in ad hoc Wi-Fi but it does not have actual ad hoc Wi-Fi which we're a bit cheesed about and I posted on the Android platform mailing lists about this issue and there's Android developers on the list and basically didn't even get a reply to say, that sounds lovely or no, we're not going to do it. So I think everyone is actually looking for Wi-Fi ad hoc on Android is feeling a little bit disappointed at the moment. So by all means, complain as loudly as you can to as many people at Google and Android as you can. And as I say, we're looking at other platforms where we can support that and Windows Phone actually is one, I certainly know for Windows Phone 6, it's pretty easy to do ad hoc mesh is what about Windows Phone 7? Do you know ad hoc mesh is? Okay, yep, so, okay, yep. So talking with, okay, so no at this stage in Windows Phone 7 but we'll have that discussion and I think Nokia as well with their Linux platform it's actually much, much easier to do this as well. So it's a little bit disappointing because Android is actually really nice in a variety of other ways for what we're doing but we want to support every mobile platform in any case. And then of course below that you've got all the fun of your Wi-Fi interfaces but also we can do it over wide ethernet. So the mesh potato devices have an ethernet port as well as Wi-Fi. So if you do have backhaul infrastructure we can tie into that in a nice kind of way. So this is one application of what we can actually do with this. So the green links of course are cellular links. So we've got a phone down there by the tower that has a direct connection. And then on the other side of the hill we've got a phone tower and I should have drawn some water in around the feet of that other phone tower to explain why it might not be working. But in any case, so there's a couple of phones on the ground that were in the reception of that cell tower that are no longer. So if we literally put one of our phones with our software and physically tie it to a balloon and float it up where it can see the other tower and see those phones it will gateway traffic to the global phone network and you can dial internationally from those phones on the mesh. And that's what we're going to do Thursday lunchtime. And I can demonstrate it here without a balloon as well which we'll do. So thinking more about that scenario. So if we have the gray cell as a dead cell even without any balloons at all we can kind of, phones that are near the edge we can see coverage in around the edges in a completely automatic way. One of the interesting things, mesh networking tends to be power hungry but take your any modern smartphone and take it out of phone coverage and see just how fast searching for a 3G signal depletes the battery. It turns out it's faster than using the mesh. We discovered this when we did our field trial at Arcarola last July because we did all our testing around where there was a signal and we were getting hours and hours and hours out of G1s particularly if you put a big battery on them. And we got up to Arcarola and we were getting like an hour out of the batteries and I'm like, what's gone wrong? What's eating all the power? And then it dawned on me afterwards that it was these phones yelling at four watts continuously switching bands at high bit rates and listening really, really hard with their input amplifiers turned up to try and find the phone network. So we can actually, with this now we can actually extend the battery life of phones in the dead cell and provide them with coverage and they can cooperatively look for the mobile phone signal because you don't need a hundred phones or a thousand phones in a cell looking for the signal continuously. They can actually share that around and it might be that on a 2% duty cycle the phones actually look for signal and then they can report to neighbouring phones. Oh yes, I've got signal. You might like to look on 1873 megahertz uplink or whatever the details are. So if we add the balloon in of course we can make the situation better. So from a good altitude you can get surprisingly long distance certainly with mobile coverage but even Wi-Fi. So the Village Telco guys just using their mesh potatoes which is standard 100 milliwatts devices with no directional antenna. They would easily get 2.1 kilometres and that was actually just between two jetties in Metropolitan South Australia so there's still actually background interference limiting that. But you can probably do six to ten kilometres from that range and one of the things of course is your Fresnel zones are nice and clear certainly around the phone at the balloon but also when you're actually on the ground if your signal is going mostly up of course your Fresnel zone is oriented up and you have a much better situation so that can help substantially and then hopefully we can tie in all of the phones in the mesh reduce the hop count and make life happy. If now you're in a real hardcore disaster zone where everything has gone out. Again say if we already had that balloon there and the rest of the network went out so that cells getting good internal coverage and people can call each other internally as well with this of course because the mesh can do the number resolution without reference to the internet which is a key point. And we can probably get a few neighbouring phones from other cells to participate but we're not going to get complete coverage. And then someone nice might come along maybe the Red Cross and put a big and satellite terminal in or something like that and again we can provide a gateway to the public switch telephone network. So a mesh potato with a big and terminal will do that job very nicely and for a less than $2,000 worth of equipment it's surprisingly cheap. And then if we get a few more party balloons up there or people with masks or anything that we can use to get the attitude we can then actually start seriously re-establishing mobile communications across a large area. And when you look at it literally all that we're using there is five balloons, one satellite terminal and a lot of mobile phones that are already in the area. And that community can communicate. And I think the effects that that can have for maintaining law and order in disaster zones I think you look at Haiti and the social breakdown that happened was in many ways exacerbated by the loss of communication. So the police couldn't self-organise. People on the ground couldn't self-organise to defend. I mean think about the horrific things whether it's Haiti or whether it's places in Africa or anywhere where you get rape gangs going around because they know that law and order really isn't happening. If those gangs knew that people in the area could phone people around them and within a minute that there'd be a whole pile of other people from that community there I reckon those rape gangs would be thinking twice about doing what they do. And you look at militias attacking villages and people and again the same thing. We can really mobilise people to defend themselves which is fantastic. And we can also look at getting people if you've got subsistence farmers if they can find out what the market price is and someone comes along and offers them 10% of market price and they can just ring instead of walking for two days to get there suddenly it's much more feasible to hop on the phone for a free or very, very cheap call and go oh so what are you going to pay me for corn or coconuts or chickens or mobile phones or whatever the commodity is that they're producing there and they go oh okay so that's the price oh this guy's offering me that and he can go back to the person there and say oh okay you've got transport costs and you need to make a profit too but I want 50% of market value. So those subsistence farmers can get several times the income that they might have got previously and really help to start bootstrapping themselves out of entrenched poverty. And I will be tickled pink if I can look back in 10 or 20 years time and say that I've played a key role in enabling people to escape entrenched poverty and improving law and order and safety in places around the world. But I'm ranting slightly. Now we've probably covered this a little bit already where we're talking about the process of number resolution. So we've got one phone up here is sort of thinking where can I find Paul Gardner's Stephen's mobile phone and my phone's looking over here on the mesh and says okay that's me here's my CIP address and we broadcast that over the mesh using Batman or alternatively the gateway might actually say I can connect you to that phone number on the public switch phone network and here's an address for that. And ideally the phone that's trying to ring me will go okay yep he's available on the mesh I'll try that first because that's free and cheapest and we're incorporating cost models into the protocol so that when you make a call you can choose based on price and link quality and a whole pile of other interesting things. Demo time, this was actually a week or two ago we went down underground in a cave and proved that we could make phone calls 90 meters underground which was very fun in and of itself. So let me, who'd like to get rung by a mesh phone? Who'd like to ring someone on a mesh phone? Okay, excellent. So this is the phone that has a SIM card in it so if someone just wants to hold that and pretend they're just using it as their phone. And hang on, I'll give you the wrong phone that is the phone that doesn't have a SIM in it this is the one that does. Holding it wrong. Yeah, that's right. So you can come up and look it's physically no SIM in it and it's in aeroplane mode as well to save power in fact to not search for their phone network. So at the moment that phone isn't running the mesh so if I try and ring the number it won't connect because there's no gateway so do you want your phone number known to all the world? Excellent, yep, yep. Five, six, four. What a number with lots of fours in it. And I may need to get that out of you again because this phone tends to forget things. Okay, let's try that again. Four, one, four. Yep. Four, six, five, six, four. Okay, they're prototypes and I forgot to start an important thing so it's trying to dial and it gives up after a while because it can't find the number on the mesh. So now on that phone if you touch the little several back phone icon that should be sort of top right ish below the search doodad. Excellent, now touch the green thing in the middle. Still very technical. And it should say it's running but you'll be able to tell you when it is because... It's running well started. Yep. Okay, and it's starting, it's running now because my phone is now telling me there's one other phone on the mesh reachable. So now if I go in there again and I try and ring that number assuming correct phase of moon and everyone's wearing the right colour underpants the call should go through. Dialing, dialing, dialing. Of course it depends on the phone network here actually carrying the data through. Oh, it thinks it's dialing. Your phone should be ringing in a minute. Whoops, saying no data. Let me just hang it up and try again. A May SIM which I think you're using Optus was just the cheapest, nastiest SIM that I could get for data. Okay, I'm just going to dial it again. Do-do-do-do-do. And I think we're having... Yeah. Yep, we might be being thwarted. Okay, let me, we'll try once more and then we'll officially give up. And we can do the demonstration outside where we're not effectively in a Faraday cage. This is why we need to put the balloon up on Thursday. So you can set the balloon up, right? Yeah, we're going to have a balloon on about 100 meter tether. Turns out it's easier to get air traffic control approval than it is to get a university to approve you to put a balloon on their oval. It's just phenomenal. Yes, it will. And it turns out that one of the ambulance volunteers is actually a Virgin pilot. He'll be flying back in when the notice to airmen will actually be in effect. So he's promised to keep us a copy. So, oh, okay. Okay, so I think we're officially going to give up on the basis that our gateway has a lack of signal. But hopefully you get the idea. So in terms of things that we're looking to do down the track, that lovely picture with a satellite uplink. Who's ever watched how much traffic SIPP generates? Yeah, like, I think my punt there at about a kilobyte a minute is probably a moderately conservative punt. A nice satellite terminal will cost you about $10 a megabyte. So one phone is going to cost you about $14 a day just to be available via SIPP. So this clearly doesn't work. So our mesh distributed numbering resolution protocol, we're making what we're calling air clutch, which basically terminates on either side of the satellite link. So the only traffic that you get is actually notification of new phones coming into the area, about 100 bytes for each phone that comes into the area. And then it's actually absolutely zero traffic while the phone is actually in the network there so that you can actually scale it up. I mean, you end up needing a lot of satellite terminals just to get a lot of phones associated with SIPP and contention and a whole pile of muck and we're running out of time. But the people who talked to me, yep, and people can talk to me about other things that we're looking to do down the track as well. Thank you. But when actually, can I ask one, am I like that? Yeah. And the balloons. Yes. How long do they stay up and how do the phones fair up in that rock in the sky like that with the sun beating down in the weather? For the kind of timeframe that you're talking about in a disaster response, all of them are going to be fine but really we're using balloons as an illustration. It could simply be that you find the nearest tall building or hill or anything that's going to give you that attitude. And in fact, if you've got enough people in the cell anyway, then you're just going to have the join the dots connection in any case. But putting a balloon up and label with you to get massive coverage very quickly and with a better reliability than you'll get with people on the ground. A helium balloon should probably stay up for something like a fortnight, if it's a decent balloon. Given that it will only be holding a few hundred grams of phone, you'd actually need to pull it down and up again periodically to actually recharge the phone would be the main issue. Or you could put some solar panels on or but then it's more weight and you need a bigger balloon. But the key thing is that basically, a pile of party balloons and anyone's phone will actually provide coverage. It's massively empowering for the actual communities. And that's what we're trying to do. Yep. Okay, yep. So. Okay, so the question is how are we going to get the the software onto everyone's phones ahead of a disaster as compared to two days after a disaster. And we would love to partner with mobile phone manufacturers. Certainly the first manufacturer to partner with us is going to have a massive competitive advantage by being able to offer a free calling service and a resilient calling service in the face of adversity. I think they are fantastic advantages for any carrier, sorry, for any handset manufacturer. And we're already talking with one manufacturer and trying to talk with as many others as we can. And in particular, we'd like to talk to the handset operating system vendors. So you've got Microsoft and Android and Apple if they'll let us, if they'll, you know, bend down low enough to talk to us. And, you know, at anyone else, we want it on every phone. And of course it'll be in app stores and all that kind of thing as well if we can wangle it. Yes? Okay, to port your number, yep. So what the key is here is that you can grab your number for use on the mesh. So anyone on the mesh will be able to call you on the mesh. Anyone who's off the mesh, if we can get the carriers to play nicely, like in a disaster, they may actually play nicely, then fantastic. But if not, what we'd actually do in public agencies would be advertising dial-in numbers to the mesh that would then prompt you for the number you want to call. So we figured that we couldn't depend on carriers, partly because they might actually be blown to bits by the disaster as well. And partly because there's not that much incentive for carriers to play nicely with this technology because it has the potential to be very disruptive to their business models. That's not to say that it will actually destroy their business models, but a bit like the shift to non-DRM protected music. It's an uncomfortable thought for carriers to entertain and move into this situation. But at some point, someone will do the technology. Hopefully it'll be us, but someone will do it and the carriers will have to adjust to the new world. Yes? Okay, so phone-to-phone range we're talking about? Range between phones we were talking about here. Sure. That's right. So we're using the Wi-Fi radio in the phones at the moment. We actually have plans to use more than that. There's some scale-duggery that we'd like to do with the baseband processor on the phones that actually doesn't require any spectrum allocations or anything to be made and fits entirely within the legal frameworks of many countries. That would give us potentially a four-watt transmitter, but in reality, a limited to one watt and at lower bit rates that would massively improve the link budget. So that should be able to get kilometers-type range in an urban area. As it is with Wi-Fi, you can get a couple of hundred meters line of sight between phones, but the really interesting thing is in a disaster, the whole point is no one's microwave ovens are working anyway. So the noise floor for Wi-Fi actually drops right down. So we found up at our Corolla when we were doing the field trial that three, four, 500 meters was happening without any real issues at all. And that's without having the elevation and if we can get the clear Fresnel zones and that's six or 10 dB, I'm not really a radio guy, but I think it's something like that which basically doubles your range that you can expect as well. Sure. Okay, yep, so yeah. Okay, so the question is about security of basically someone getting someone else's voice signature and presenting that to attract calls to them that are intended for the other person. Absolutely, it's an issue, but I think in a disaster, I'd rather run that risk than not be able to call anyone. But in a more civilized setting where we can make use of internet and peacetime to get ready ahead of time, envisage things like having the post office so you kind of rock up with your phone to the post office and you present some power bills and phone bill to show that you actually own the phone number and then the post office signs a certificate that goes onto your phone that says that basically, the post office believes that you really are the owner of that number and that PKI verification will go through to anyone calling you and they'll say, oh, look, they've been approved by the post office. We can't trust carriers to do it because again, there's no incentive for them to actually support us doing that. In fact, there are disincentives for them to be involved in that process, but the post office doesn't get as many people through its doors as they used to. So I reckon when we get a little bit further along that the post office will be a great place to explore.