User Provisionning

From Openmoko

Jump to: navigation, search

This page is an attempt to specify User Provisionning parameters for data bearer services ("Point-To-Point Connection Orientated Network Service" as specified in GSM 02.60). It is more a proposal, a way to share thoughts about it than a final formal specification. These parameters are used by the phone stacks to establish and setup a packet switched communication with the network. They are mainly grouped in two categories:

  • Connection profile: the parameters used for activating the PDP context.
  • Extra parameters: the parameters used for customizing the usage of the connection by the application, browser, J2ME MIDlet or any other

Connection Profile

The proposed parameters are grouped in the following table. Each row is a parameter and is introduced with its name, type and description. The first set of parameters are used for CSD (Circuit Switched Data) service.

Name Type Description
Dial Number String Phone number to dial for connecting data service

The second set of parameters is used for GPRS connections

Name Type Description
APN String Access Point Name (as specified in 3GPP TS 07.60)

The third set of parameters is common to both:

Name Type Description
Name String A name for identifying this connection profile object
User Identity String User you'll authenticate as
Password String Password to authenticate as User specified by User Identity
Authentication Type enum(None, Secured,Unsecured) Kind of authentication used, None, PAP, CHAP
Linger Time Number Number of seconds after last request before releasing connection
IP Addr IpAddr Requested Internet Address
DNS IpAddr Internet Address for the DNS server
Data Compression Boolean Use data compression
Headers Compression Boolean Use headers compression

This connection profile and PLMN capabilities (more specificaly in term of number of simultaneous PDP contexts availables) will be the basis for network resource contention resolution.

Here is a XML Schema for handling User Provisionning:

 <?xml version="1.0"?>
 <xs:schema xmlns:xs=""
   <xs:element name="DialNum">
       <xs:restriction base="xs:string">
         <xs:pattern value="\+?([0-9])+"/>
   <xs:element name="APN" type="xs:string"/>
   <xs:element name="Name" type="xs:string"/>
   <xs:element name="UserId" type="xs:string"/>
   <xs:element name="Password" type="xs:string"/>
   <xs:element name="AuthentType" type="AuthentType"/>
   <xs:element name="LingerTime" type="xs:positiveInteger"/>
   <xs:element name="IpAddr" type="IpAddr"/>
   <xs:element name="DNS" type="IpAddr"/>
   <xs:element name="DataCompr" type="xs:boolean"/>
   <xs:element name="HdrCompr" type="xs:boolean"/>
   <xs:simpleType name="quad">
     <xs:restriction base="xs:integer">
       <xs:minInclusive value="0"/>
       <xs:maxInclusive value="255"/>
   <xs:complexType name="IpAddr">
       <xs:element name="quad1" type="quad"/>
       <xs:element name="quad2" type="quad"/>
       <xs:element name="quad3" type="quad"/>
       <xs:element name="quad4" type="quad"/>
   <xs:simpleType name="AuthentType">
     <xs:restriction base="xs:string">
       <xs:enumeration value="None"/>
       <xs:enumeration value="Unsecured"/>
       <xs:enumeration value="Secured"/>    
   <xs:element name="ProvCommon">
         <xs:element ref="Name"/>
         <xs:element ref="UserId"/>
         <xs:element ref="Password"/>
         <xs:element ref="AuthentType"/>
         <xs:element ref="LingerTime"/>
         <xs:element ref="IpAddr"/>
         <xs:element ref="DNS"/>
         <xs:element ref="DataCompr"/>
         <xs:element ref="HdrCompr"/>
   <xs:element name="CsdProvisionning">
         <xs:element ref="DialNum"/>
         <xs:element ref="ProvCommon"/>
   <xs:element name="GprsProvisionning">
         <xs:element ref="APN"/>
         <xs:element ref="ProvCommon"/>
   <xs:element name="Provisionning">
         <xs:element ref="CsdProvisionning"/>
         <xs:element ref="GprsProvisionning"/>

Extra Parameters

These parameters profiles are used for specifying the way a browser or a specific application will use Connection Profile to access data. They are:

  • Profile name: (string) the name of this set of parameters
  • Homepage: (string) the home page URL
  • Protocol: (enum(WTP, HTTP)) if the browser or application support WAP this is the protocol used for accessing content (WTP/HTTP)
  • ProxySettings: this is a compound parameter for proxy usage. It contains:
    • UseProxy: (boolean) use/don't use a proxy
    • Login: (string) name for proxy user
    • Password: (string) password for proxy user
    • IP Addr: (ipaddr) IP address of the proxy
    • Secured Port: (positive integer) port for secured communication
    • Unsecured Port: (positive integer) port for unsecured communication
  • Connection Profile: (string) name of the connection profile to use

For specific applications, some other parameters could be defined. For example, for an audio streaming application some could define QoS parameters or a home SDP.

Personal tools