Hello
Following patch introduces a gprs context provisioning plugin.
It tries to find settings from a operator settings database for internet and mms type of
gprs contexts. ims and wap types may be added later.
Provisioning logic: first try to find exact match for type,MCC,MNC and SPN. If that fails
(or if SPN read from SIM is missing/empty), select first match for type/MCC/MNC.
Settings database is an XML formatted file, containing one <access>-element per
settings for a specific type of GPRS context (internet, mms, ims)
Example:
<?xml version="1.0"?>
<settings>
<access type="internet" mcc="246" mnc="81"
spn="oFono" name="Phonesim Internet"
apn="internet.apn"/>
<access type="mms" mcc="246" mnc="81"
spn="oFono" name="Phonesim MMS" apn="mms.apn"
protocol="ipv4" username="mmsuser" password="mmspass"
proxy="10.11.12.13:8080" mmsc="http://mms.example.com:8000"/>
</settings>
Plugin reads xml-files from a settings file directory in alphabetical order, until
matching settings are found. This enables easy way to enable local variants by just
installing separate configuration package that provides variant specific xml-file with
name alphabetically earlier than the default settings file.
Open issue:
* Location of settings files: current code uses $CONFIGDIR/operator-settings, but I guess
something like /usr/share/operator-settings would be better? (autoconf magic help needed)
--Jukka