Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
Cambridge Open Mobile System
Computer Laboratory > Research > Systems Research Group > NetOS > Cambridge Open Mobile System

PPP dialup over GPRS phones

As part of the Cambridge Open Mobile Systems project, we have assembled this collection of useful information about making IP data links over GPRS telephones.

Most of these pages assume that the reader wants to connect to the Cambridge University Computer Lab's internal VPN system, but they should be useful to other people as well. The phones we have access to for testing are the Ericsson R520m and T39, and the Motorola T260; other GPRS handsets should work similarly.

Feedback on this page is welcome - email tjd21@cl.cam.ac.uk

Make it go

Here are some pre-packaged instructions for setting up GPRS dialin on: I'll be adding instructions for other systems here as I try them out. Meanwhile, here's what I hope is enough information to get started:

Links

GPRS overview

The GPRS handset (or Mobile Equipment, ME) negotiates a packet-level connection over the GPRS network to a GGSN (Gateway GPRS Support Node). For the Cambridge computer lab, the GGSN is one of two Vodafone ones, which contact a RADIUS server (mob.cl.cam.ac.uk) for user authentication. You will need an account on that server to use GPRS dialin. This is what the network looks like from Vodafone's point of view:

[Vodafone GPRS network diagram]
GGSN = Gateway GPRS Support Node
Mobile Station = A (GPRS) mobile phone
HDLC - High Level Data Link Control

In order to make it simpler to use, the phone presents this connection to the computer (or Terminal Equipment, TE) as a PPP link. The computer can then use existing PPP software to negotiate authentication and IP addressing. Ericsson phones use CHAP for authentication, but the Motorola Timeport uses PAP.

AT commands for GPRS

GPRS phones provide a modem-like interface over a serial line or IR, with some extra AT commands needed to set up their GPRS connections correctly. ETSI Technical Specification TS 127 007 gives the gory details; you can download it here.

Setting up a PDP context

A PDP context contains the information about which GGSN the ME should connect to, what addressing it should use, and the kind of transmission required between the ME and the GGSN. The Ericsson phones can hold 10 contexts in memory at once, but the Timeport only holds one. To set up context number 1 for an IP connection to the CL, asking for the network to provide our IP address, and turning off data and header compression:

AT+CGDCONT=1,"IP","mob.cl.cam.ac.uk","0.0.0.0",0,0

GPRS allows for quality of service constraints to be negotiated for the connection. To explicitly say that we neither request nor expect any QoS for context 1:

AT+CGREQ=1,0,0,0,0,0
AT+CGMIN=1,0,0,0,0,0

Attaching to the GPRS service

By default, the phone may not be connected to the GPRS network at all. To make sure that it is:

AT+CGATT=1

The Timeport shows 'GPRS' in the bottom right-hand corner of the screen when it has attached. The Ericsson phones show a solid black triangle above the signal strength meter.

Making the connection

Once the phone has been programmed with a context and attached to the GPRS network, the connection can be made in one of two ways. The first is by dialing a special number:

ATD*98*n# (to connect context 'n' on an Ericsson), or
ATD*99# (on a Motorola).

The phone intercepts this call and turns it into a GPRS connection. The other method is to explicitly start the GPRS data connection:

AT+CGDATA="PPP",n (to connect context 'n').

Every GPRS phone should support at least one of those methods. When the connection is made, it then begins to talk PPP to the computer.

Note that the PPP connection always accepts the authentication data provided. The phone then uses that data to authenticate itself to the RADIUS server when asking for an IP address, so an authentication failure will be reported as a failure to negotiate an IP address.

Confined spaces

A lot of the lines above are redundant, just reinforcing the default behaviour. If you're pressed for space, say on a PDA, the shortest string that should get a connection up and running is:

AT+CGDCONT=1,"IP","mob.cl.cam.ac.uk";D*98*1#

Closing the connection

The data connection can be closed like a normal modem call:

+++ATH

To detach the phone from the GPRS network:

AT+CGATT=0

This work is made possible by the support of Benchmark Capital and Vodafone