The US has an AT&T Prepaid Offer For Internet Access Again

How delighted I was when I was in the US last year that AT&T had a prepaid Internet access offer that worked pretty well for me. Unfortunately, it didn't last long and AT&T abandoned the tariff after a couple of months. Quite a disappointment. But now it seems AT&T has come back to prepaid land and offers a 100 MB package for $19. Not as good as their original offer and certainly nowhere comparable to much better offers in other countries but for many purposes quite useful. For the details check out the Prepaid Wireless Internet Access Wiki here.

IPv6 Crash Course – Part 3

Today follows part 3 of my IPv6 crash course. You can find the first two parts here and here.

ARP Becomes Neighbor Detection

To translate layer 3 IP addresses into layer 2 MAC addresses, the Address Resolution Protocol (ARP) was used in IPv4. In IPv6 a similar mechanism is used and referred to as Neighbor Detection (ND). In addition the good practice in IPv4 networks to check if an IP address that was assigned is already used by someone else by sending an ARP message prior to using the IP address is now a feature in IPv6.

DHCPv6 and DNSv6

As discussed in the previous post, the IP auto-configuration functionality does not supply a DNS address to the host during startup so it can't translate domain names into IP addresses. Therefore, DHCPv6 is likely the means to get this information, potentially together with the IP address of the default gateway and further IP addresses for the interface.

The current DNS service also gets an IPv6 counterpart because it has to deliver IPv6 addresses for a request. While in DNSv4 an 'A' record query is used to translate a domain name to an IP address, DNSv6 uses AAAA records. The four 'A's stem from the fact that an IPv6 address has four times the size compared to an IPv4 address.

Routing

Routing pretty much works as in IPv4 but has been simplified as the network and host part is fixed in IPv6 compared to net masks of different lengths and classless inter domain routing (CIDR) in IPv4. 

Tunneling IPv6 over IPv4 and Vice Versa

Needless to say that IPv4 and IPv6 can coexist on the same interface. In most cases, however, networks only offer IPv4 today. To access IPv6 hosts from an IPv4 only network today, IPv6 over IPv4 tunnels can be used for the purpose. There are several different variants but I won't go into the details here.

IPv6 only networks could also exist in the future as well. Should it be necessary for a node in such a network to reach an IPv4 host, IPv4 over IPv6 tunnels exist as well.

Summary

So that's my crash course overview of IPv6 for now. Agreed, this is very very simplified but I think those are the main concepts you need to get your head around from an end device's point of view. Next stop: How IPv6 is integrated in 3GPP.

First Voice Calls Over LTE This Week – What’s Next?

This week saw a number of interesting press announcements on first voice over LTE calls: First was the VOLGA forum who announced the first voice call between two LTE networks, one in Bonn Germany with a Kineto VOLGA Access Controller and the other one in Stuttgart, Germany where Alcatel-Lucent runs a LTE trial network on their campus. A great accomplishment given that the specifications were put together in record time and only released recently. It's not that surprising, though, as VOLGA is based on the already existing GAN (Generic Access Network) 3GPP standard that is used by a number of wireless network operators to offer Voice over Wi-Fi at home.

Next was Nokia Siemens networks who announced that they've done their first LTE voice call with the recently established One Voice Profile that describes which bits and pieces of the IP Multimedia Subsystem (IMS) should be used for voice calls over LTE. Also hardly surprising since IMS standards exist for many years now and IMS voice calls have been made with prototype devices over 3G and other IP based networks. So I guess this announcement was mainly a reaction to the VOLGA announcement.

So this was step one which now has to be followed by the most difficult step: integration. On the mobile side I am sure integrators of both systems can't wait to get an LTE smartphone into their hands. So far, only USB LTE sticks have been announced and here voice functionality is not of prime importance. But once LTE mobile devices such as smartphones become available we'll see who can integrate their solution better, quicker and, foremost, seamlessly with 2G and 3G circuit switched calling. After all, it should be absolutely transparent for the user over which air interface the mobile establishes the voice call. IMS based solutions have struggled for years to pull this off, so let's see, maybe the One Voice Profile will help to unite the supporters of IMS around a single set of features. For VOLGA, things might be a bit simpler as it re-uses much of what has already been developed for GAN and already implemented and used in a range of mobile devices today.

Perhaps even more challenging is the integration on the network side for IMS One Voice. While a standalone IMS system is quickly installed (relatively speaking), it's the interworking with the cirucit switched infrastructure to enable seamless handovers when running out of LTE coverage that makes life difficult. Also it is important that a user can be reached by the same means (i.e. same phone number) no matter whether he/she is currently connected to the IMS over 3G or 4G or just reachable via 2G and the circuit switched infrastructure. IMS Centralized Services (ICS) and Single Radio Voice Call Continuity (SR-VCC) have been specified in 3GPP for the purpose and I've reported and linked to the specs here. Specifications are one thing, complexity quite another. On the complexity scale, ICS and SR-VCC are at the upper end of the scale and require software updates in the circuit switched infrastructure.

For VOLGA, things are a bit simpler. No modifications in the existing infrastructure are necessary and only a single gateway node, the VOLGA Access Network Controller (VANC), is required for a full implementation. To the circuit switched Mobile Switching Center, the VANC just looks like a 2G Base Station Controller or a 3G Radio Network Controller. For the LTE side the VANC is just a server on an IP network. Pretty much a straight forward thing to do.

Both initiatives good luck on their way forward and I hope that once I hold the first LTE smarthphone in my hand I won't be thrown back to GSM for voice calls.

3G Speeds in the US Measured in kbit/s???

A number of sources have reported this week about a recent performance measurement study that puts 3G downlink speeds of Verizon and AT&T in a region between 245 – 645 kbit/s and uplink speeds between 106 – 305 kbit/s. Unfortunately I don't have a copy of the study to look at the details but official publications usually do not downplay performance. Having said this, these numbers are really puzzling to me because they are so far away from what I experience in 3G networks all over Europe.

Here are a number of specific examples: In Germany, I consistently get 3 MBit/s and beyond in several networks if coverage is good, no matter the location and time of day. Peak speeds are beyond 6 Mbit/s with my HSDPA Category 8 stick. And with HSUPA my uplink speeds are also well over 300 kbit/s. And this is by far not an exception, I've had similar experiences in other countries as well including Austria, where mobile broadband Internet access is very cheap and usage is accordingly.

And I am not alone with such numbers. Once a year, German telecommunication magazine “Connect” performs a test drive through all of Germany to measure voice quality in wireless networks, call drop rates and data throughput speeds. And they don't do it from a stationary location but from a driving car. And even under those conditions, they get average (!) 3G speeds in all German HSPA enabled networks of beyond 2 Mbit/s.

So why are the numbers so low in the US? It's not the technology and it can't be the iPhone either because almost everyone these days has one over here as well. So whether it's cell sizes that are to big, not enough carriers used, non-optimized radio engineering, insufficient backhaul capacity, core network congestion, etc., etc. it's difficult to tell from the outside. But there is ample proof that it can be done differently while still making a profit.

LTE TTI Bundling

While doing some background research on LTE voice capacity I noticed there's a feature I haven't yet seen called Uplink TTI Bundling. At first the feature name reminded me of the packet bundling that is done in Wi-Fi, which concatenates several packets into one transmission burst thereby saving a lot of air interface overhead. TTI (Transmit Time Interval) Bundling, however, is quite the opposite as I found out when I had a closer look.

The purpose of TTI Bundling is to improve cell edge coverage and in-house reception for voice. When the base station detects that the mobile can't increase it's transmission power and reception is getting worse it can instruct the device to activate TTI bundling and send the same packet but with different error detection and correction bits in 2, 3 or even 4 consecutive transmit time intervals. The advantage over sending the packet in a single TTI and then detecting that it wasn't received correctly which in turn would lead to one or more retransmissions is that it saves a lot of signaling overhead. Latency is also reduced as no waiting time is required between the retransmissions. In case the bundle is not received correctly, it is repeated in the same way as an ordinary transmission of a packet. Holma and Toskala anticipate a 4dB cell edge gain for VoIP with this feature which is quite a lot. For details how the feature is implemented have a look at 3GPP TS 36.321.

If You Are A Mobile Startup And Plan to Attend the MWC 2010…

… then have a look here.

It's good to prepare early for the Mobile World Congress in Barcelona in February 2010 as prices rise exponentially every year the closer it is to the beginning of the event. My plane tickets and the hotel are booked and I'm already today looking forward to the most intensive week in mobile of the year.

One of the events to attend is definitely the Mobile Premier Awards, organized by Rudy de Waele.

This year, the competition for the best mobile startups will have the following categories:

  • MPA in Innovation – The best grassroots startup innovation chosen by their peers in partnership with MobileMonday. The MobileMonday chapters will vote for their local most innovative startup. An international jury of the most recognized mobile industry experts will select the 20 finalists from all the local chapter nominees to pitch at the event in Barcelona in front of investors, operators, media companies, peer entrepreneurs, and press and influential bloggers.
  • MPA in Marketing – The best startup in Mobile Marketing
  • MPA in Entertainment – The best startup in Mobile Entertainment
    in partnership with the Mobile Entertainment Forum
  • MPA in User Experience – The best startup in Mobile User Experience
    in partnership with MEX.
  • MPA in Social Change – The best startup using mobile for social change
    in partnership with MobileActive.org
  • MPA in Female Entrepreneurship – The best woman-lead mobile startup
    in partnership with Women 2.0 and the Women in Mobile Data Association

So if you are a startup and want to participate, now's your chance to sign up!

LTE Long and Short DRX Cycles to Save Power

One of the things learnt from todays UMTS air interface is that saving power during times when no data is transmitted is of foremost importance in the day and age of always-on applications and infrequent transmission of small quantities of data. Current HSPA networks are not really refined for this yet but help is on the way with a feature pack referred to as Continuous Packet Connectivity. See here, here and here for details. With LTE, power saving mechanisms are built in from day one. One of the most important of those will be Discontinuous Reception (DRX) while in Connected State, which I'll shortly describe in this post.

The general idea of this functionality is to allow the mobile device to periodically switch off its receiver for some time before it has to listen again to the control channel to see if the network has new data for the device. On and off times can be configured dynamically down to the sub-frame level (1ms) depending on the device's activity. Switching off the transciever for some time has a negative impact on latency so a two stage approach has been implemented.

When the network configures DRX for a device it defines the value for a timer that starts running after each data block has been sent. If new data is sent the timer is restarted. If still no data was sent when the timer expires the device enteres DRX mode with an (optional) short DRX cycle. This means it will go to sleep and wake up in a short pattern. If new data comes in it can thus be delivered quite quickly because the device only sleeps for short periods. The short DRX cycle mode also has a configurable timer attached and once it expires, i.e. no data was received during the short cycle mode the device implicitly enters the long DRX cycle which is much more power efficient but further increases latency time.

Final Note: Connected Mode DRX should not be mixed up with DRX in idle mode which the mobile is set into after a prolonged time of air interface inactivity. It's also known as paging DRX, i.e. the time the mobile device can go to sleep between two paging messages which could contain a command for the mobile to wake up again and change back to Connected state. This DRX is much less fine grained and measured in hundreds of milliseconds or even seconds.

IPv6 Crash Course – Part 2

This post is the continuation of my crash course on IPv6. You might want to check out part 1 here before continuing.

Auto-Configuration, Local Addresses and Router Advertisements

IPv6 has auto-configuration functionality built that doesn't require a configuration server in the network as in IPv4. When the stack is started, the first thing it does is generate a local IP address that starts with fe80 as described above. Marc Blanchet describes how the 64 bit host part of the IP address are generated from the 48 bit MAC address of the adapter or a random number. I couldn't observe that on my Windows Vista machine, however, they might go for the random number and not the MAC address.

Another new functionality in IPv6 are router advertisements. This way, devices in the network automatically learn of routers in the network and which other networks can be reached via them. A router can also define itself as a default gateway. If a node finds a default gateway it will send all packets not destined for the local network to the default gateway router.

As link local addresses can't be used to communicate with hosts outside the local network, routers also advertise the information required for a host to automatically configure a global IP address that can be used to communicate with hosts on the other side of this router. As a consequence, interfaces of a host configured for IPv6 usually have at least two IP addresses: A link local address and a a global unicast address. This is different to IPv4 where each interface usually has only one IP address. A side note: While a single IP address per interface is the default in IPv4 it's still possible to configure several IP addresses on an interface with different subnet masks and gateways. This, however it the exception rather than the norm.

Since subnets have 2^64 addressable hosts, routing on layer 3 in branch networks such as companies is no longer necessary. In practice, however, some logical and physical separation on layer 3 might be desired. For this, local IP addresses can be on-net and off-net. In case a local address is off-net a node sends packets to a bridge device.

One thing that is not auto-configured is the DNS (Domain Name System) server's IP address. This server is required to translate a domain name (e.g. www.wirelessmoves.com) into an IP address. That's a pity because in practice this means that auto-configuration is incomplete and the DNS server's IP address has to be acquired by some other means, typically via DHCP. More on that in the next post.

There we go, this is the end of part 2, more coming up in the next post.

Opera Mini 5 Beta 2 – A Quick Review

Mini5-1 Yes, I am a great fan of Opera Mini and I'm delighted to report that they are moving forward and have made a beta of version 5 for download. It looks like Opera has updated the user interface primarily for touch displays and it indeed looks much sleeker than the previous versions. Well done indeed, I like the looks of the new user interface very much!

However, there are a couple of changes that I don't like a lot which I think Opera should think about again:

First, the beta 2 needlessly deteriorates the browsing experience on non-touch devices and I happen to use one of those (with a Nokia E75). First, the current beta no longer seems to allow scrolling through a page with the 4-way key, only the keypad (2, 4, 6 and 8) can be used. That's really a let down since the 4-way key is much more conveniently located for the thumb than than the keypad on most devices.

Mini5-2 Second point: The vertical scrollbar is hidden after a couple of seconds which makes it difficult to judge of how much more text there is further down until you scroll down some more. Once could argue that it's good enough to see how much of the page is left when scrolling but for me it doesn't quite work like that.

And third: I really had trouble finding the menu entry for synchronizing my bookmarks. Equally, it took me ages to find out how to change the shortcuts that can be reached via the # key or, if you have a touch device, via the pictures on the main screen. Touch device users would have probably found it much quicker as it's normal to just touch a shortcut icon with the finger, keep it pressed and wait until a context menu pops-up. When navigating by keys that's not really obvious.

All these things are simple to fix and I hope Opera makes those little adjustments before releasing the final version. And just in case they don't, I'll tuck away a copy of Opera Mini 4 in case I need to reinstall it.

Thanks to IntoMobile and Stefan Constantinescu, saw it there first!

IPv6 Crash Course – Part 1

IPv6 has been 'just around the corner' for many years now but hasn't really surfaced so far. For LTE, Verizon currently plans to make IPv6 mandatory and IPv4 optional, which will probably mean in practice that the first thing most devices will do is to get an IPv4 address. One way or the other, however, IPv6 will show up one day and I've been wanting to have a look at it for many years now. So I decided to picked up "Migrating to IPv6" from Marc Blanchet to do a little crash course.

The book is quite massive and you could probably spend weeks absorbing all the details. For my purposes, however, getting the basics is just enough for now so I know how things work in general compared to IPv4. So I skimmed through the chapters relevant for me and here are the most important details which will be important to remember:

128 Bit Addresses

The first big thing that most people know about IPv6 is that the IP addresses are getting longer to fix the issue with v4 addresses slowly running out these days. While IPv4 had 32 bit addresses (e.g. 10.124.30.2), IPv6 uses 128 bit addresses and uses a different notation (e.g. 3ffe:20e3:4000:abcd:0102:9988:7766:0001) which looks quite different and complicated at first if you are accustomed to IPv4 addresses. Addresses starting with fe80are link local addresses, i.e. they are not routed beyond the local network borders. IP addresses starting with 2000 to 3fff are global unicast addresses that can be used to reach any server worldwide that is connected to the IPv6 Internet.

In IPv4 there's a subnet mask that defines which part of the IP address describes the network part and which part identifies the hosts in a network. This is necessary to have the flexibility to be able to address both small and large local networks despite the limited address range. In IPv6, things are much more static and simple, a luxury of the 128 bit address range. A local network always gets the lower 64 bits assigned to address hosts. Wow, that's twice as much as all of the current IPv4 32 bit address space. The upper 64 bits are used for routing. Out of those, 48 bits are used for global routing and 16 bits are used within ISPs to serve their clients. With 16 bits, each ISP can serve 65535 clients that can then each have 2^64 hosts. That should last for a while. What is known as a subnet mask in IPv4 becomes the network prefix in IPv6 which is (almost) always 64 bits as described above.

The downside of 128 bit addresses is that the IPv6 header is significantly longer than the original IPv4 header. IP header compression will therefore become very important in wireless networks to minimize the waste of bandwidth.

Optional Headers

Many IPv4 header fields are not always used today and for IPv6 it was decided to move them into optional extension headers. If there's a need for them, they are appended, otherwise they are left off. ICMP for example (see below) is put into an extension header.

That's it for part 1. More in part 2 which is coming up soon.