|
||
The Comms database is used to store configuration settings for network connections. This page describes the connections between tables used in the Comms Architecture, describes some of the mappings and puts the tables into functional groups.
The following diagram shows how the main tables are related to each other. Rounded rectangular boxes represent tables and arrows show how one table links to others. Dotted line boxes group tables that are specialisations of the same type. Grouped tables may share fields of the same type, but would not share the same records. The colour scheme shows table function:
Pale blue - Entry point tables that link to others
White - Tables that are linked to and also link to other tables
Yellow - End point tables that link nowhere else
Purple - Tables used only for WAP and SMS
This table contains global information for the whole comms server. It only ever contains one record and includes information such as the default Tier to use if none is specified by a client function call.
Table | Class | Table ID |
---|---|---|
Global Settings |
CCDGlobalSettingsRecord |
|
Two fields previously held in the Global Settings table,
iPromptForSNAP
(renamed to iPromptUser
) and
iDefaultSNAP
(renamed to iDefaultAP
), are now held in
the Tier table (below) in the record identified by
CCDGlobalRecord::iDefaultTier
.
The Three-Plane Architecture uses the following tables to identify Tiers; MCPR, CPR and SCPR providers; and other information needed to configure the Comms stack -
Table | Class | Table ID |
---|---|---|
Tier Table |
CCDTierRecord |
|
Meta Connection Provider Table |
CCDMCprRecord |
|
Connection Provider Table |
CCDCprRecord |
|
SubConnection Provider Table |
CCDSCprRecord |
|
Access Point (AP) Priority Selection Policy Table |
CCDApPrioritySelectionPolicyRecord |
|
Comms Framework Protocol Table |
CCDProtocolRecord |
|
Bearer Type Table |
CCDBearerTypeRecord |
|
Configuration Access Point Table |
CCDConfigAccessPointRecord |
|
Access Point Table |
CCDAccessPoint |
|
The tables for Tier, Meta Connection Provider, Connection Provider and SubConnection Provider all list the libraries that implement the respective node types by giving the ECom implementation ID of those libraries.
Only the Tier table is readable by all users of the Comms server, the other tables in this section are for device creators only.
When a Tier is defined, the default AP for the Tier must also be defined. Tiers should be identified by a "well-known" identifier (a name allocated by the Tier creator) stored in the iTag field of the Tier Record which is a persistant value unlike the Record ID which is transient.
The Access Point Priority Selection Policy table is used to identify which AP, out of several available alternatives, to use at the next layer in the stack. This information is required to guide protocol selection decisions on connection startup. Information is also required to guide mobility decisions once a connection is active. However device creators writing their own MCPRs may choose to ignore this table for selection and mobility decisions. This table replaces the IAP Selection Policy table (see below).
The Bearer Type Table is only used when creating an Access Point Table record from an Internet Access Point (IAP).
The Configuration Access Point Table specifies APs used internally for authentication or configuration of a standard data processing Access Point. This is used, for example, to create an internal stack for EAP authentication over Wi-Fi.
The Access Point Table should not be confused with the SNAP table under Legacy stack creation below.
In the AP Table, iAccessPointGID is now obsolete as iTier replaces it. iIAPSelectionPolicy is likewise obsoleted by iAPSelectionPolicy. iSelectionPolicy maps directly to thew new iBearerSelectionPolicy field which contains an integer for interpretation by the MCPR.
These tables contain connection preferences and identifyies stack configuration. Primarily responsible for identifying the order of connection preferences for the automatic connection start. In some cases these tables are retained for backward compatability.
Table | Class | Table ID |
---|---|---|
Connection Preference Table |
CCDConnectionPrefsRecord |
|
Internet Access Point Table |
CCDIAPRecord |
|
SNAP Table |
CCDAccessPointRecord |
|
IAP Selection Policy Table (deprecated) |
CCDIapPrioritySelectionPolicyRecord |
|
Data from the IAP Selection Policy table is now mapped to the AP Priority Selection Policy table (see above).
The Internet Access Point Table (the IAP Table) is still used to hold configuration data, but connections should be started using an Access Point. The following list explains what is necessary for mapping an Internet Access Point (IAP) to an Access Point:
The iBearerType
field in the IAP is used to identify a
record from the BearerTypeTable
A CCDAccessPointRecord
is populated with the data from
the BearerTypeTable
record
CCDAccessPointRecord::iName
maps to
CCDIAPRecord::iName
CCDAccessPointRecord::iTag
maps to
CCDIAPRecord::ElementID();
CCDAccessPointRecord::iCPRConfig
maps to
CCDIAPRecord::ElementID()
CCDAccessPointRecord::iSelectionPolicy
maps to
the full elementID of the matching
CCDIApPrioritySelectionPolicyRecord
The RecordID
of the new
CCDAccessPointRecord
is not intended to match the
RecordID
of the corresponding IAP record in any way.
Converting from an IAP record ID to an AP record ID is done by entering
the ElementID of the IAP record in the iTag field of an CCDAccessPointRecord
container and calling CCDAccessPointRecord::FindL()
. All
IAP records will have one matching AP record.
Converting from an AP record ID to an IAP record ID is simple since if the AP record is mapped from an IAP record it will have an ElementID for a CCDIAPRecord in its iTag field. This will give the RecordID of the IAP record that matches that AP record. Not all AP records will be a map for an IAP record.
The Service tables each contain data specific to a different service, such as WLAN and WCDMA.
Table | Class | Table ID |
---|---|---|
Dial Out ISP Record |
CCDDialOutISPRecord |
|
Dial In ISP Record |
CCDDialInISPRecord |
|
LAN Service Record |
CCDLANServiceRecord |
|
WLAN Service Record |
CCDWLANServiceExtRecord |
|
VPN Service Record |
CCDVPNServiceRecord |
|
WCDMA Packet Service Record |
CCDWCDMAPacketServiceRecord |
|
Outgoing GPRS Table |
CCDOutgoingGprsRecord |
|
Incoming GPRS Table |
CCDIncomingGprsRecord |
|
Bluetooth PAN Service Extension |
CCDPANServiceExtRecord |
|
Default WCDMA Table |
CCDDefaultWCDMARecord |
|
The Bearer tables contain information required by different types of Bearer, such as Modem and LAN.
Table | Class | Table ID |
---|---|---|
Modem Bearer Table |
CCDModemBearerRecord |
|
LAN Bearer Table |
CCDLANBearerRecord |
|
VPN Bearer Table |
CCDVirtualBearerRecord |
|
These tables contain service specific information such as HTTP Proxies and Quality of Service (QoS) information.
Table | Class | Table ID |
---|---|---|
Charge Card Table |
CCDChargecardRecord |
|
HTTP Proxy Table |
CCDProxiesRecord |
|
R99 QoS settings |
CCDUmtsR99QoSAndOnTableRecord |
|
Network Table |
CCDNetworkRecord |
|
Location Table |
CCDLocationRecord |
|
These tables contain the information required to secure a Wi-Fi connection.
Table | Class | Table ID |
---|---|---|
EAP Security Table |
CCDEAPSecRecord |
|
EAP Inner Tunnel Configuration |
CCDTunEAPRecord |
|
EAP TLS Table |
CCDEAPTLSRecord |
|
LEAP Table |
CCDLEAPRecord |
|
EAP SIM Table |
CCDEapSimProtocolRecord |
|
EAP AKA Table |
CCDEapAkaProtocolRecord |
|
These tables contain information required for a WAP connection.
Table | Class | Table ID |
---|---|---|
WAP Access Points |
CCDWAPAccessPointRecord |
|
WAP SMS Bearer Table |
CCDWAPSMSBearerRecord |
|
WAP IP Bearer Table |
CCDWAPIPBearerRecord |
|