21 October 2009

Astricon 2009

We took OpenBTS on the road again last week, to Astricon in Glendale, Az. I brought one of the Burning Man test units for show and tell and a desktop kit in case anyone wanted to see a demo.

My first contact at the conference was with Adrian Georgescu. He has some great tools for scalable, reliable VoIP and media networks. If we ever build a large core network for OpenBTS, his approach would be perfect. We also had a long discussion about OpenBTS and he offered some good comments about how it might fit into commercial markets and the difficulties of approaching some of those markets.

I was scheduled to speak in the last session of the conference. I did not originally plan to give a demo in the talk, but everyone who knew me kept saying they would be there for the "demo". So on the morning before my talk I rearranged the slides to make room for a demo, lest I disappoint. (Here are the slides, all 11.4 MB of glorious PDF.) The talk was well-received. I did pretty much the same demo as I had done at eComm a few months back. (I won't be making to next eComm in Amsterdam, but these conferences are very good and Lee Dryburgh does a great service by organizing them.) Anyway, it's a phone system. I make a call. Go figure. The demo took a fun new turn, though, when audience members whose phones had attached to the cell started calling one of my test the handsets on the podium. Audience participation was a nice touch. It made the system real, not just a demo trick. That evening I was walking down a sidewalk and a bunch of guys sitting outside a sushi bar called me over, "Hey! OpenBTS! We want to get you a beer!" Well, that's OK.

I also ran into people from small rural VoIP carriers. They had never taken the idea of entering the cellular market seriously, first because of really stupid spectrum regulation and second because the minimum cost of rolling out service is something like $200k for core network equipment, even for a really small network. Since OpenBTS doesn't need core network equipment, we can drop that entry cost to something like $50k, maybe a lot less if you are already in the wifi business. Can getting rid of the cost barrier change the politics of spectrum regulation? We will do our best to find out.

But for now we're patching bugs and cleaning up a the next release. Then it's back on the road for Vienna. Later.


11 October 2009

Burning Man 2009: Days 10 & 11

Ok, so I'm a month late with this...

Monday, 7 September, was day 10 on the Playa. Black Rock City was packing up and it was time to "leave no trace". The biggest task was to pull down out 70-foot tower. Pavel had started stripping the tower the afternoon before by removing the WD9XSP lighted sign. He started this new morning by removing the antennas.


(He's about 60 feet up there. We took this through a telephoto lens.)

While Pavel did that, most of the rest of the campers packed up the shelter and I bicycled down to Heavy Equipment Camp, part of the Department of Public Works (DPW), with a half liter of tequila. I was going to see if I could get a crane to help pull down the tower. When I got to Heavy Equipment, I walked in through the gate, set my donation bottle on a table next to the coffee pot and took a seat with a few other would-be customers in the "lobby": a bunch of old sofas drawn around a low table under a shade tarp. This is how you borrow a crane in Black Rock City. We were waiting for Chaos, the dispatcher. I was informed that the weekend burns had been very busy for DPW and that Chaos was sleeping in. No problem. On the coffee table there was an overflowing ashtray and can labeled "Tactical Bacon" with an outline of an assault rifle on the wrapper. After a while, an older gentleman came out from a shipping container with 3 or 4 VHF radios clipped on his vest. It was Chaos, the same guy who had inspected our tower installation a week earlier. He walked into the lobby area, talked to each of us and took a few notes. He told me they would be there when they got there. I went back to camp.

We kept packing. The neighbors loaned us a leaf-blower for clearing the dust out of the back of the truck. John came by and we opened a bottle of peach lambic left by a supporter a few days earlier to toast all the people who had helped us so much over the last month. Then we took down the shelter and started contemplating how we were going to remove the guy-line stake from the rock-hard ground, a task we could not safely start until the tower was down. John got impatient waiting for the crane, climbed up the tower with the gin-pole and started pulling it down himself.



John took down the top segment (#7) of the tower himself and was starting to remove segment #6 when the crane arrived. He connected the crane hook to the tower and climbed down. We detached all of the guy-lines and watched the crane lift the whole tower and lay it on its side. It took about 5 minutes.



We spent the next two hours pounding the guy-line stakes out of the ground with sledgehammers. The trick, we found, was to swing at just the right angle to hit the inside of the eye. It was more important to hit accurately than to hit hard. It just took patience.

By the time we were ready to drive out, the sun was already setting. We said our goodbyes, mounted up and went to sit in the 2-hour traffic jam on the way out the gate. We ended up spending the night in Reno due to car problems, finally unloaded most of the camp into a rented storage locker on Wednesday and spent the rest of the week blowing dust out of our equipment. And we are already scheming for next year.

04 October 2009

Burning Man 2009: Service

So we were out in the Playa running a GSM network, but to what end? What were we doing with it? We had planned to offer two services: SMS and speech. We planned for SMS to be our primary service, with half of the network bandwidth set aside for text messaging. Speech would be a secondary service and we would stop provisioning users for speech once we saw congestion in the speech channel assignments.

A key element of our plan was auto-provisioning via SMS. It works like this:
  • The handset comes to register with us. We check the SIP registry to see if the subscribed is provisioned.
  • If the subscriber is already provisioned, we just accept the registration.
  • If the subscriber is not already provisioned, we accept the registration anyway and push across a text message, something like: "Please respond with your telephone number to subscribe to our experimental network. NO EMERGENCY CALLS." The return address of this message is a short code in our SMS server that is assigned to the provisioning application. (We call this the "invitation" message.)
  • The user replies to the invitation message with a text to the provisioning short code. The text message and the sender's IMSI get passed into the provisioning application.
  • The provisioning application creates new entries in Asterisk's sip.conf and extensions.conf and forces Asterisk to reload these configuration files.
  • The provisioning application sends a status text message back to the user.
This process actually worked in the field. We registered 1,300 users via SMS, most of them on Tuesday and Wednesday. The significant problem was that we kept the record of who had already received the invitation message in RAM, not on disk, so any time we rebooted a BTS every handset was likely to receive (yet) another copy of that message. This was an oversight that we did not catch until late in the week, so if you were at Burning Man and got a lot of copies of the invitation message, we apologize. We know how to fix the problem and it won't happen again. (And that kind of thing is part of what makes us an experimental service.)

But the presence of CommNet Wireless was a problem. Whenever a handset lost the CommNet signal, it would try to camp to us. But people don't pay a lot of attention to what network they are on, so they would attempt to send SMS and make calls to numbers not defined in our PBX. For phone calls, we could still connect them through Link2Voip, but for text messages there was nothing to do but bounce the message back to the sender. We bounced 227 such messages during the test. But we also delivered 271 messages between handsets within Black Rock City. (And we had 658 SMS submission attempts fail because Asterisk was non-responsive.)

For speech calls, we placed about 1000 calls to the outside world and had about 900 call attempts fail because the user didn't dial "1" first. But we only connected 39 calls to on-playa handsets and those were almost all our own test calls. This tells us two things about the Burner population. First, they don't make a lot of calls. Second, nearly all of the calls they do make are to the outside world. We talked to a few users and talked to the users who came to our camp to use the PAP2 phones. The calls were very practical: bring more water, bring the spare radiator hose, send a locksmith, etc. (We also had about 2,800 call attempts fail, some because of bugs in our call control state machine and some due to Asterisk problems. We're still studying those.)

So, in short, we saw enough activity to know how the system works and how it fails, but did not provide service anywhere near the capacity we could have. And we saw enough failures to keep us busy for the next few weeks, forcing a lot of progress to a more stable system.