Info

const unsigned char* GSM_GetNetworkName(const char * NetworkCode)

Find network name from given network code.

const unsigned char* GSM_GetCountryName(const char * CountryCode)

Find country name from given country code.

const char* GSM_FeatureToString(GSM_Feature feature)

Converts feature value to string.

Return
Pointer to static string with string for specified feature, NULL on failure.
Parameters
  • feature -

    GSM_Feature to convert.

GSM_Feature GSM_FeatureFromString(const char * feature)

Converts feature string to value.

Return
GSM_Feature value, 0 on failure.
Parameters
  • feature -

    GSM_Feature string to convert.

gboolean GSM_IsPhoneFeatureAvailable(GSM_PhoneModel * model, GSM_Feature feature)

Checks whether phone supports features.

Return
True if phone has defined this feature.
Parameters
  • model -

    Model information (you can get it using GSM_GetModelInfo).

  • feature -

    GSM_Feature to check for.

gboolean GSM_AddPhoneFeature(GSM_PhoneModel * model, GSM_Feature feature)

Adds feature to phone configuration.

Return
True if phone has defined this feature.
Parameters
  • model -

    Model information (you can get it using GSM_GetModelInfo).

  • feature -

    GSM_Feature to check for.

GSM_Error GSM_GetManufacturer(GSM_StateMachine * s, char * value)

Reads manufacturer from phone.

Return
Error code.
Parameters
  • s -

    State machine pointer.

  • value -

    Pointer where to store manufacturer name

GSM_Error GSM_GetModel(GSM_StateMachine * s, char * value)

Reads model from phone.

Return
Error code.
Parameters
  • s -

    State machine pointer.

  • value -

    Pointer where to store model name

GSM_PhoneModel* GSM_GetModelInfo(GSM_StateMachine * s)

Reads model info from state machine.

Return
Pointer to phone information structure.
Parameters
  • s -

    State machine pointer.

GSM_Error GSM_GetFirmware(GSM_StateMachine * s, char * value, char * date, double * num)

Reads firmware information from phone.

Return
Error code.
Parameters
  • s -

    State machine pointer.

  • value -

    Pointer where to store revision text

  • date -

    Pointer where to store revision date

  • num -

    Pointer where to store revision number

GSM_Error GSM_GetIMEI(GSM_StateMachine * s, char * value)

Reads IMEI/serial number from phone.

Return
Error code.
Parameters
  • s -

    State machine pointer.

  • value -

    Pointer where to store IMEI, NULL to ignore.

GSM_Error GSM_GetOriginalIMEI(GSM_StateMachine * s, char * value)

Gets date and time from phone.

GSM_Error GSM_GetManufactureMonth(GSM_StateMachine * s, char * value)

Gets month when device was manufactured.

GSM_Error GSM_GetProductCode(GSM_StateMachine * s, char * value)

Gets product code of device.

GSM_Error GSM_GetHardware(GSM_StateMachine * s, char * value)

Gets hardware information about device.

GSM_Error GSM_GetPPM(GSM_StateMachine * s, char * value)

Gets PPM (Post Programmable Memory) info from phone (in other words for Nokia get, which language pack is in phone)

GSM_Error GSM_GetSIMIMSI(GSM_StateMachine * s, char * IMSI)

Gets SIM IMSI from phone.

GSM_Error GSM_GetBatteryCharge(GSM_StateMachine * s, GSM_BatteryCharge * bat)

Gets information about batery charge and phone charging state.

GSM_Error GSM_GetSignalQuality(GSM_StateMachine * s, GSM_SignalQuality * sig)

Reads signal quality (strength and error rate).

GSM_Error GSM_GetNetworkInfo(GSM_StateMachine * s, GSM_NetworkInfo * netinfo)

Gets network information.

GSM_Error GSM_GetDisplayStatus(GSM_StateMachine * s, GSM_DisplayFeatures * features)

Acquired display status.

enum GSM_NetworkInfo_State

Status of network logging

Values:

GSM_HomeNetwork = 1

Home network for used SIM card.

GSM_NoNetwork

No network available for used SIM card.

GSM_RoamingNetwork

SIM card uses roaming.

GSM_RegistrationDenied

Network registration denied - card blocked or expired or disabled.

GSM_NetworkStatusUnknown

Unknown network status.

GSM_RequestingNetwork

Network explicitely requested by user.

enum GSM_GPRS_State

Status of GPRS connection.

Values:

GSM_GPRS_Detached = 1

GRPS is detached.

GSM_GPRS_Attached

GRPS is attached.

struct GSM_NetworkInfo

Structure for getting the current network info.

Public Members

char GSM_NetworkInfo::CID[10]

Cell ID (CID)

char GSM_NetworkInfo::NetworkCode[10]

GSM network code.

GSM_NetworkInfo_State State

Status of network logging. If phone is not logged into any network, some values are not filled

char GSM_NetworkInfo::LAC[10]

LAC (Local Area Code).

unsigned char GSM_NetworkInfo::NetworkName[15 *2]

Name of current network like returned from phone (or empty).

GSM_GPRS_State GPRS

GPRS state.

char GSM_NetworkInfo::PacketCID[10]

Cell ID (CID) for packet network

GSM_NetworkInfo_State PacketState

Status of network logging for packet data. If phone is not logged into any network, some values are not filled

char GSM_NetworkInfo::PacketLAC[10]

LAC (Local Area Code) for packet data.

struct GSM_SignalQuality

Information about signal quality, all these should be -1 when unknown.

Public Members

int SignalPercent

Signal strength in percent.

int BitErrorRate

Bit error rate in percent.

enum GSM_ChargeState

Power source

Values:

GSM_BatteryPowered = 1

Powered from battery

GSM_BatteryConnected

Powered from AC, battery connected

GSM_BatteryCharging

Powered from AC, battery is charging

GSM_BatteryNotConnected

Powered from AC, no battery

GSM_BatteryFull

Powered from AC, battery is fully charged

GSM_PowerFault

Power failure

enum GSM_BatteryType

Power source

Values:

GSM_BatteryUnknown = 0

Unknown battery

GSM_BatteryNiMH = 1

NiMH battery

GSM_BatteryLiIon

Lithium Ion battery

GSM_BatteryLiPol

Lithium Polymer battery

struct GSM_BatteryCharge

Battery status

Public Members

int BatteryPercent

Signal strength in percent, -1 = unknown

GSM_ChargeState ChargeState

Charge state

int BatteryVoltage

Current battery voltage (in mV).

int ChargeVoltage

Voltage from charger (in mV)

int ChargeCurrent

Current from charger (in mA)

int PhoneCurrent

Phone current consumption (in mA)

int BatteryTemperature

Battery temperature (in degrees Celsius)

int PhoneTemperature

Phone temperature (in degrees Celsius)

int BatteryCapacity

Remaining battery capacity (in mAh)

GSM_BatteryType BatteryType

Battery type

enum GSM_DisplayFeature

Display feature

Values:

GSM_CallActive = 1
GSM_SMSMemoryFull

blinking envelope

GSM_FaxCall
GSM_UnreadSMS
GSM_DataCall
GSM_VoiceCall
GSM_KeypadLocked
struct GSM_DisplayFeatures

Display features

enum GSM_Feature

Phone features definition. This is usually used for things, which can not be determined on run time.

Values:

F_CAL33 = 1

Calendar,3310 style - 10 reminders, Unicode, 3 coding types

F_CAL52

Calendar,5210 style - full Unicode, etc.

F_CAL82

Calendar,8250 style - “normal”, but with Unicode

F_RING_SM

Ringtones returned in SM format - 33xx

F_NORING

No ringtones

F_NOPBKUNICODE

No phonebook in Unicode

F_NOWAP

No WAP

F_NOCALLER

No caller groups

F_NOPICTURE

No Picture Images

F_NOPICTUREUNI

No Picture Images text in Unicode

F_NOSTARTUP

No startup logo

F_NOCALENDAR

No calendar

F_NOSTARTANI

Startup logo is not animated

F_POWER_BATT

Network and battery level get from netmonitor

F_PROFILES33

Phone profiles in 3310 style

F_PROFILES51

Phone profiles in 5110 style

F_MAGICBYTES

Phone can make authentication with magic bytes

F_NODTMF

Phone can’t send DTMF

F_DISPSTATUS

Phone return display status

F_NOCALLINFO

Phone does not return call info

F_DAYMONTH

Day and month reversed in pbk, when compare to GSM models

F_PBK35

Phonebook in 3510 style with ringtones ID

F_PBKIMG

Phonebook in 7250 style with picture ID

F_PBKTONEGAL

Phonebook with selecting ringtones from gallery

F_PBKSMSLIST

Phonebook with SMS list

F_PBKUSER

Phonebook with user ID

F_6230iCALLER

Caller groups like in 6230i

F_RADIO

Phone with FM radio

F_TODO63

ToDo in 6310 style - 0x55 msg type

F_TODO66

ToDo in 6610 style - like calendar, with date and other

F_NOMIDI

No ringtones in MIDI

F_BLUETOOTH

Bluetooth support

F_NOFILESYSTEM

No images, ringtones, java saved in special filesystem

F_NOMMS

No MMS sets in phone

F_NOGPRSPOINT

GPRS point are not useable

F_CAL35

Calendar,3510 style - Reminder,Call,Birthday

F_CAL65

Calendar,6510 style - CBMM, method 3

F_WAPMMSPROXY

WAP & MMS settings contains first & second proxy

F_CHAT

Phone with Chat settings

F_SYNCML

Phone with SyncML settings

F_FILES2

Filesystem version 2

F_NOFILE1

No filesystem version 1

F_6230iWAP

WAP, MMS, etc. settings like in 6230i - unknown now

F_PROFILES

Profiles support available

F_SERIES40_30

Series 40 3.0

F_SMS_FILES

SMS are read from filesystem files like in Series 40 3.0

F_3220_MMS

MMS storage as in 3320

F_VOICETAGS

Voice tags available

F_CAL62

Calendar,6210 style - Call,Birthday,Memo,Meeting

F_NOTES

Notes supported

F_SMSONLYSENT

Phone supports only sent/unsent messages

F_BROKENCPBS

CPBS on some memories can hang phone

F_M20SMS

Siemens M20 like SMS handling

F_SLOWWRITE

Use slower writing which some phone need

F_SMSME900

SMS in ME start from location 900 - case of Sagem

F_ALCATEL

Phone supports Alcatel protocol

F_OBEX

Phone can switch to OBEX protocol from AT mode

F_IRMC_LEVEL_2

Phone supports IrMC level 2 even if it doesn’t report it

F_MODE22

Switching to OBEX mode is done using AT+MODE=22

F_SMS_LOCATION_0

Locations of SMS memories start from 0

F_NO_UCS2

Phone does not support UCS2 even if it reports it.

F_FORCE_UTF8

Phone returns strings in utf-8 even if it reports GSM.

F_SMS_SM

Phone supports SM storage for SMS even if it does not report so.

F_SMS_ME

Phone supports ME storage for SMS even if it does not report so.

F_XLNK

Switching to OBEX mode is done using AT+XLNK.

F_SUBMIT_SIM_ONLY

Submit messages can be saved on SM memory only.

F_PBK_UNICODE

Prefer Unicode for phone book manipulations.

F_SQWE

Switching to OBEX mode using AT^SQWE=3.

F_NO_ATOBEX

Do not use OBEX/AT switching even if available.

F_LENGTH_BYTES

Length of text for contact is in bytes and not chars.

F_BROKEN_CMGL

CMGL does not list real locations for CMGR, these should be sequential.

F_EXTRA_PBK_FIELD

Phonebook has extra numeric field at the end.

F_CKPD_NO_UNICODE

Key presses can not be in unicode.

F_CPROT

OBEX switching using AT+CPROT even if phone does not report it properly.

F_PBKFAVORITEMESSAGE

Phonebook with favorite messaging numbers

F_PBKNOPOSTAL

No support for postal entry in phonebook.

F_PBK_ENCODENUMBER

Encode number in HEX charset.

F_NO_CLIP

Do not use CLIP (phone hangs on it).

F_ENCODED_USSD

USSD propmts and responses are encoded like PDU in SMS (packed 7-bit GSM encoding).

F_USE_SMSTEXTMODE

Phone has better support for SMS text mode (rather than PDU mode)

F_CPIN_NO_OK

Phone does not end CPIN reply with OK/ERROR.

F_FOUR_DIGIT_YEAR

Phone require four digit year in time.

F_SMS_NO_ME

Phone does not have a phone SMS memory even if it reports so.

F_SMS_NO_SM

Phone does not have a SIM SMS memory even if it reports so.

F_SIEMENS_PBK

Phone supports Siemens style phonebook even if it does not tell so.

F_NO_ATSYNCML

Disable AT+SYNCML probing.

F_MOBEX

Phone supports m-obex (usually Samsung phones).

F_TSSPCSW

Phone supports m-obex (usually Samsung phones) using AT$TSSPCSW=1.

F_DISABLE_GETNEXT

Disable GetNext* operations on the dummy phone.

F_DISABLE_GETNEXTSMS

Disable GetNextSMS operations on the dummy phone.

F_DISABLE_CMGL

CMGL hangs, so should not be used.

F_NO_UTF8

Phone does not support UTF8 even if it reports it.

F_SAMSUNG_UTF8

Samsung B2100 in UCS-2 mode provides a garbled UTF-8 instead.

F_SMS_UTF8_ENCODED

SMS text is always UTF-8 encoded.

F_NO_STOP_CUSD

Avoid forcibly stopping CUSD session.

F_READ_SMSTEXTMODE

Reading og SMSes in text mode.

F_RESET_AFTER_TIMEOUT

Reset phone after timeout.

F_LAST_VALUE

Just marker of highest feature code, should not be used.

struct GSM_PhoneModel

Model identification, used for finding phone features.

Public Members

const char* model

Model as returned by phone

const char* number

Identification by Gammu

const char* irdamodel

Model as used over IrDA

GSM_Feature GSM_PhoneModel::features[GSM_MAX_PHONE_FEATURES+1]

List of supported features