Cambridge Open Mobile System
|Computer Laboratory > Research > Systems Research Group > NetOS > Cambridge Open Mobile System|
PPP dialup over GPRS phonesAs 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 firstname.lastname@example.org
Make it goHere are some pre-packaged instructions for setting up GPRS dialin on:
GPRS overviewThe 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:
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 GPRSGPRS 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 contextA 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:
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:
Attaching to the GPRS serviceBy default, the phone may not be connected to the GPRS network at all. To make sure that it is:
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 connectionOnce 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:
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 spacesA 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:
Closing the connectionThe data connection can be closed like a normal modem call:
To detach the phone from the GPRS network: