Improve Phone management

There're 2 types of phones :
  • Phones and VoIP
  • Smartphones and tablets

Phones and VoIP

  • missing phone lines number, imei, etc
  • no way to add extensions modules

Smartphones and tablets

How to treat them ?
They share a lot of informations with computers (OS, version, components, bios, softwares, etc)

  • looks like a computer (OS, components, softwares, etc).
  • Might be a class extending Computer ?
  • Might be treated as a computer
  • like a "standard" phone by adding new fields
    Some new fields are needed :
  • Screen size and resolution
  • input method (finger, keyboard, pen, etc)
  • uniqueid (phone uuid, interesting in case of no imei given)
  • sdk version (interesting or not ? to be discussed) : might be important because an require requires a minimum SDK version

Here is an example of informations given by FusionInventory for Android :

<HARDWARE>
      <CHECKSUM>65535</CHECKSUM>
      <DATELASTLOGGEDUSER>11/26/10</DATELASTLOGGEDUSER>
      <NAME>HTC Desire</NAME>
      <OSNAME>Android 2.2</OSNAME>
      <OSVERSION>2.6.32.15-gf5a401c</OSVERSION>
      <ARCHNAME>armv7l</ARCHNAME>
      <SDK>8</SDK>
      <UNIQUEID>aab1c03df5657e26</UNIQUEID>
      <MEMORY>415</MEMORY>
      <PROCESSORT>ARMv7 Processor rev 2 (v7l)</PROCESSORT>
      <PROCESSORS>998</PROCESSORS>
    </HARDWARE>
    <SIMCARDS>
      <COUNTRY>fr</COUNTRY>
      <OPERATOR_CODE>20815</OPERATOR_CODE>
      <OPERATOR_NAME>Free</OPERATOR_NAME>
      <SERIAL>8456750134563837485</SERIAL>
      <STATE>SIM_STATE_READY</STATE>
      <LINE_NUMBER>+33626XXXXXXXXXX</LINE_NUMBER>
      <SUBSCRIBER_ID>208150324345378</SUBSCRIBER_ID>
    </SIMCARDS>
    <BIOS>
      <BDATE>06/03/12</BDATE>
      <BMANUFACTURER>samsung</BMANUFACTURER>
      <MMANUFACTURER>samsung</MMANUFACTURER>
      <SMODEL>GT-I9000</SMODEL>
      <SSN>34326ED1698900EC</SSN>
    </BIOS>
    <MEMORIES>
      <DESCRIPTION>Memory</DESCRIPTION>
      <CAPACITY>370</CAPACITY>
    </MEMORIES>
    <INPUTS>
      <TOUCHSCREEN>FINGER</TOUCHSCREEN>
    </INPUTS>
    <SENSORS>
      <NAME>SMB380 3-axis Accelerometer</NAME>
      <MANUFACTURER>Bosch Sensortec</MANUFACTURER>
      <TYPE>ACCELEROMETER</TYPE>
      <POWER>0.2</POWER>
      <VERSION>1</VERSION>
    </SENSORS>
    <SENSORS>
      <NAME>MS3C 3-axis Magnetic field sensor</NAME>
      <MANUFACTURER>Yamaha </MANUFACTURER>
      <TYPE>MAGNETIC FIELD</TYPE>
      <POWER>6.8</POWER>
      <VERSION>1</VERSION>
    </SENSORS>
    <SENSORS>
      <NAME>CM Hacked Orientation Sensor</NAME>
      <MANUFACTURER>CM Team</MANUFACTURER>
      <TYPE>ORIENTATION</TYPE>
      <POWER>7.8</POWER>
      <VERSION>1</VERSION>
    </SENSORS>
    <SENSORS>
      <NAME>GP2A Light sensor</NAME>
      <MANUFACTURER>Sharp</MANUFACTURER>
      <POWER>0.75</POWER>
      <VERSION>1</VERSION>
    </SENSORS>
    <SENSORS>
      <NAME>GP2A Proximity sensor</NAME>
      <MANUFACTURER>Sharp</MANUFACTURER>
      <TYPE>PROXIMITY</TYPE>
      <POWER>0.75</POWER>
      <VERSION>1</VERSION>
    </SENSORS>
    <SENSORS>
      <NAME>Rotation Vector Sensor 2</NAME>
      <MANUFACTURER>CyanogenMod Project</MANUFACTURER>
      <TYPE>ROTATION VECTOR</TYPE>
      <POWER>7.8</POWER>
      <VERSION>1</VERSION>
    </SENSORS>
    <DRIVES>
      <VOLUMN>/system</VOLUMN>
      <TOTAL>250</TOTAL>
      <FREE>6</FREE>
    </DRIVES>
    <DRIVES>
      <VOLUMN>/mnt/sdcard</VOLUMN>
      <TOTAL>5908</TOTAL>
      <FREE>1817</FREE>
    </DRIVES>
    <DRIVES>
      <VOLUMN>/data</VOLUMN>
      <TOTAL>1889</TOTAL>
      <FREE>1459</FREE>
    </DRIVES>
    <DRIVES>
      <VOLUMN>/data/download</VOLUMN>
      <TOTAL>1889</TOTAL>
      <FREE>1459</FREE>
    </DRIVES>
    <CPUS>
      <NAME>ARMv7 Processor rev 2 (v7l)</NAME>
      <SPEED>1000</SPEED>
    </CPUS>
    <SOFTWARES>
      <NAME>com.PKH.metro.Metro</NAME>
      <VERSION>1.65</VERSION>
      <FILESIZE>0</FILESIZE>
      <FROM>apk</FROM>
    </SOFTWARES>
    <SOFTWARES>
      <NAME>com.andrew.apollo</NAME>
      <VERSION>1.0</VERSION>
      <FILESIZE>0</FILESIZE>
      <FROM>apk</FROM>
    </SOFTWARES>
    <SOFTWARES>
      <NAME>com.android.backupconfirm</NAME>
      <VERSION>4.0.4-eng.jenkins.20120603.000812</VERSION>
      <FILESIZE>0</FILESIZE>
      <FROM>apk</FROM>
    </SOFTWARES>
    <SOFTWARES>
      <NAME>com.android.bluetooth</NAME>
      <VERSION>4.0.4-eng.jenkins.20120603.000812</VERSION>
      <FILESIZE>0</FILESIZE>
      <FROM>apk</FROM>
    </SOFTWARES>
(...)