[Ovmsdev] Auto-Provisioning Profile Table

Mark Webb-Johnson mark at webb-johnson.net
Sat Sep 22 10:21:04 HKT 2012

The system I've come up with seems to work really really well. The server is done, and the provisioning record is stored encrypted on the server. A web page will be used to enter all the information necessary (including VIN, ICCID, choice of vehicleid, passwords, etc), and then create and store the encrypted provisioning record ready for the car. The car module is just plugged in, un-configured. It picks up the ICCID from the SIM, the VIN from the CAN bus, connects to the server, gets the provisioning record, sets all parameters as necessary, then reboots itself online.

If we know the ICCID prefix, then the system can completely auto-auto-provision the SIM. If we don't know the prefix, that is fine - the user just needs to create one phonebook entry named OVMS-AUTO with the telephone number being the profile number matching the cellular network they are using. For special cases, the system also supports O-XX-YYYY phonebook entries to set parameter #XX to YYYY.

I'm creating an Auto-Provisioning profile table for the most common cellular networks our users are using. For each network, I need:

Cellular provider service name (eg. AT&T GoPhone)
Cellular APN (for GPRS)
Cellular Username (for GPRS)
Cellular Password (for GPRS)
and optionally the ICCID prefix on the sim cards (starts with 89 and is typically 18-20 digits in length)

I currently have:

// Fields are ICCID-prefix, cellular APN, username and password
rom char ap_profiletable[][4][22] =
  { {"8923418","MOBILEDATA","","" },               // Profile 0: geosim
    {"",       "WAP.CINGULAR","",""},              // Profile 1: AT&T GoPhone
    {"",       "ISP.cingular","",""},              // Profile 2: ATT Telemetry SIM for business
    {"",       "imobile.three.com.hk","",""},      // Profile 3: ThreeHK
    {"",       "internet.com","wapuser1","wap"},   // Profile 4: Rogers "Pay as you go"
    {"",       "gcpre","",""},                     // Profile 5: Guam Docomo Pacific GO!

The ICCID is normally written on the SIM card itself, or you can get it electronically via AT+CCID, and is described here:


What we need is the Issuer identification number (IIN). It is at the start, a maximum of seven digits, and formed by:
Major industry identifier (MII), 2 fixed digits, 89 for telecommunication purposes.
Country code, 1–3 digits, as defined by ITU-T recommendation E.164.
Issuer identifier, 1–4 digits.

It is normally then followed by a bunch of zeros and then numbers (all part of the individual account identification number).

If you would like me to add a profile for your network, to be included in the next firmware, please let me know the above details. It would help out users with the same cellular provider as you.

Thanks, Mark.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20120922/b467e18d/attachment.htm>

More information about the OvmsDev mailing list