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.
- Parameters:
feature – GSM_Feature to convert.
- Returns:
Pointer to static string with string for specified feature, NULL on failure.
-
GSM_Feature GSM_FeatureFromString(const char *feature)
Converts feature string to value.
- Parameters:
feature – GSM_Feature string to convert.
- Returns:
GSM_Feature value, 0 on failure.
-
gboolean GSM_IsPhoneFeatureAvailable(GSM_PhoneModel *model, GSM_Feature feature)
Checks whether phone supports features.
- Parameters:
model – Model information (you can get it using GSM_GetModelInfo).
feature – GSM_Feature to check for.
- Returns:
True if phone has defined this feature.
-
gboolean GSM_AddPhoneFeature(GSM_PhoneModel *model, GSM_Feature feature)
Adds feature to phone configuration.
- Parameters:
model – Model information (you can get it using GSM_GetModelInfo).
feature – GSM_Feature to check for.
- Returns:
True if phone has defined this feature.
-
GSM_Error GSM_GetManufacturer(GSM_StateMachine *s, char *value)
Reads manufacturer from phone.
- Parameters:
s – State machine pointer.
value – Pointer where to store manufacturer name
- Returns:
Error code.
-
GSM_Error GSM_GetModel(GSM_StateMachine *s, char *value)
Reads model from phone.
- Parameters:
s – State machine pointer.
value – Pointer where to store model name
- Returns:
Error code.
-
GSM_PhoneModel *GSM_GetModelInfo(GSM_StateMachine *s)
Reads model info from state machine.
- Parameters:
s – State machine pointer.
- Returns:
Pointer to phone information structure.
-
GSM_Error GSM_GetFirmware(GSM_StateMachine *s, char *value, char *date, double *num)
Reads firmware information from phone.
- 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
- Returns:
Error code.
-
GSM_Error GSM_GetIMEI(GSM_StateMachine *s, char *value)
Reads IMEI/serial number from phone.
- Parameters:
s – State machine pointer.
value – Pointer where to store IMEI, NULL to ignore.
- Returns:
Error code.
-
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:
-
enumerator GSM_HomeNetwork
Home network for used SIM card.
-
enumerator GSM_NoNetwork
No network available for used SIM card.
-
enumerator GSM_RoamingNetwork
SIM card uses roaming.
-
enumerator GSM_RegistrationDenied
Network registration denied - card blocked or expired or disabled.
-
enumerator GSM_NetworkStatusUnknown
Unknown network status.
-
enumerator GSM_RequestingNetwork
Network explicitely requested by user.
-
enumerator GSM_HomeNetwork
-
enum GSM_GPRS_State
Status of GPRS connection.
Values:
-
enumerator GSM_GPRS_Detached
GRPS is detached.
-
enumerator GSM_GPRS_Attached
GRPS is attached.
-
enumerator GSM_GPRS_Detached
-
struct GSM_NetworkInfo
Structure for getting the current network info.
Public Members
-
char CID[10]
Cell ID (CID)
-
char 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 LAC[10]
LAC (Local Area Code).
-
unsigned char NetworkName[20 * 2]
Name of current network returned from phone (or empty). The buffer needs to have twice the capacity of the longest supported network name to account for decoding.
-
GSM_GPRS_State GPRS
GPRS state.
-
char 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 PacketLAC[10]
LAC (Local Area Code) for packet data.
-
char CID[10]
-
struct GSM_SignalQuality
Information about signal quality, all these should be -1 when unknown.
-
enum GSM_ChargeState
Power source
Values:
-
enumerator GSM_BatteryPowered
Powered from battery
-
enumerator GSM_BatteryConnected
Powered from AC, battery connected
-
enumerator GSM_BatteryCharging
Powered from AC, battery is charging
-
enumerator GSM_BatteryNotConnected
Powered from AC, no battery
-
enumerator GSM_BatteryFull
Powered from AC, battery is fully charged
-
enumerator GSM_PowerFault
Power failure
-
enumerator GSM_BatteryPowered
-
enum GSM_BatteryType
Power source
Values:
-
enumerator GSM_BatteryUnknown
Unknown battery
-
enumerator GSM_BatteryNiMH
NiMH battery
-
enumerator GSM_BatteryLiIon
Lithium Ion battery
-
enumerator GSM_BatteryLiPol
Lithium Polymer battery
-
enumerator GSM_BatteryUnknown
-
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
-
int BatteryPercent
-
enum GSM_DisplayFeature
Display feature
Values:
-
enumerator GSM_CallActive
-
enumerator GSM_SMSMemoryFull
blinking envelope
-
enumerator GSM_FaxCall
-
enumerator GSM_UnreadSMS
-
enumerator GSM_DataCall
-
enumerator GSM_VoiceCall
-
enumerator GSM_KeypadLocked
-
enumerator GSM_CallActive
-
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:
-
enumerator F_CAL33
Calendar,3310 style - 10 reminders, Unicode, 3 coding types
-
enumerator F_CAL52
Calendar,5210 style - full Unicode, etc.
-
enumerator F_CAL82
Calendar,8250 style - “normal”, but with Unicode
-
enumerator F_RING_SM
Ringtones returned in SM format - 33xx
-
enumerator F_NORING
No ringtones
-
enumerator F_NOPBKUNICODE
No phonebook in Unicode
-
enumerator F_NOWAP
No WAP
-
enumerator F_NOCALLER
No caller groups
-
enumerator F_NOPICTURE
No Picture Images
-
enumerator F_NOPICTUREUNI
No Picture Images text in Unicode
-
enumerator F_NOSTARTUP
No startup logo
-
enumerator F_NOCALENDAR
No calendar
-
enumerator F_NOSTARTANI
Startup logo is not animated
-
enumerator F_POWER_BATT
Network and battery level get from netmonitor
-
enumerator F_PROFILES33
Phone profiles in 3310 style
-
enumerator F_PROFILES51
Phone profiles in 5110 style
-
enumerator F_MAGICBYTES
Phone can make authentication with magic bytes
-
enumerator F_NODTMF
Phone can’t send DTMF
-
enumerator F_DISPSTATUS
Phone return display status
-
enumerator F_NOCALLINFO
Phone does not return call info
-
enumerator F_DAYMONTH
Day and month reversed in pbk, when compare to GSM models
-
enumerator F_PBK35
Phonebook in 3510 style with ringtones ID
-
enumerator F_PBKIMG
Phonebook in 7250 style with picture ID
-
enumerator F_PBKTONEGAL
Phonebook with selecting ringtones from gallery
-
enumerator F_PBKSMSLIST
Phonebook with SMS list
-
enumerator F_PBKUSER
Phonebook with user ID
-
enumerator F_6230iCALLER
Caller groups like in 6230i
-
enumerator F_RADIO
Phone with FM radio
-
enumerator F_TODO63
ToDo in 6310 style - 0x55 msg type
-
enumerator F_TODO66
ToDo in 6610 style - like calendar, with date and other
-
enumerator F_NOMIDI
No ringtones in MIDI
-
enumerator F_BLUETOOTH
Bluetooth support
-
enumerator F_NOFILESYSTEM
No images, ringtones, java saved in special filesystem
-
enumerator F_NOMMS
No MMS sets in phone
-
enumerator F_NOGPRSPOINT
GPRS point are not useable
-
enumerator F_CAL35
Calendar,3510 style - Reminder,Call,Birthday
-
enumerator F_CAL65
Calendar,6510 style - CBMM, method 3
-
enumerator F_WAPMMSPROXY
WAP & MMS settings contains first & second proxy
-
enumerator F_CHAT
Phone with Chat settings
-
enumerator F_SYNCML
Phone with SyncML settings
-
enumerator F_FILES2
Filesystem version 2
-
enumerator F_NOFILE1
No filesystem version 1
-
enumerator F_6230iWAP
WAP, MMS, etc. settings like in 6230i - unknown now
-
enumerator F_PROFILES
Profiles support available
-
enumerator F_SERIES40_30
Series 40 3.0
-
enumerator F_SMS_FILES
SMS are read from filesystem files like in Series 40 3.0
-
enumerator F_3220_MMS
MMS storage as in 3320
-
enumerator F_VOICETAGS
Voice tags available
-
enumerator F_CAL62
Calendar,6210 style - Call,Birthday,Memo,Meeting
-
enumerator F_NOTES
Notes supported
-
enumerator F_SMSONLYSENT
Phone supports only sent/unsent messages
-
enumerator F_BROKENCPBS
CPBS on some memories can hang phone
-
enumerator F_M20SMS
Siemens M20 like SMS handling
-
enumerator F_SLOWWRITE
Use slower writing which some phone need
-
enumerator F_SMSME900
SMS in ME start from location 900 - case of Sagem
-
enumerator F_ALCATEL
Phone supports Alcatel protocol
-
enumerator F_OBEX
Phone can switch to OBEX protocol from AT mode
-
enumerator F_IRMC_LEVEL_2
Phone supports IrMC level 2 even if it doesn’t report it
-
enumerator F_MODE22
Switching to OBEX mode is done using AT+MODE=22
-
enumerator F_SMS_LOCATION_0
Locations of SMS memories start from 0
-
enumerator F_NO_UCS2
Phone does not support UCS2 even if it reports it.
-
enumerator F_FORCE_UTF8
Phone returns strings in utf-8 even if it reports GSM.
-
enumerator F_SMS_SM
Phone supports SM storage for SMS even if it does not report so.
-
enumerator F_SMS_ME
Phone supports ME storage for SMS even if it does not report so.
-
enumerator F_XLNK
Switching to OBEX mode is done using AT+XLNK.
-
enumerator F_SUBMIT_SIM_ONLY
Submit messages can be saved on SM memory only.
-
enumerator F_PBK_UNICODE
Prefer Unicode for phone book manipulations.
-
enumerator F_SQWE
Switching to OBEX mode using AT^SQWE=3.
-
enumerator F_NO_ATOBEX
Do not use OBEX/AT switching even if available.
-
enumerator F_LENGTH_BYTES
Length of text for contact is in bytes and not chars.
-
enumerator F_BROKEN_CMGL
CMGL does not list real locations for CMGR, these should be sequential.
-
enumerator F_EXTRA_PBK_FIELD
Phonebook has extra numeric field at the end.
-
enumerator F_CKPD_NO_UNICODE
Key presses can not be in unicode.
-
enumerator F_CPROT
OBEX switching using AT+CPROT even if phone does not report it properly.
-
enumerator F_PBKFAVORITEMESSAGE
Phonebook with favorite messaging numbers
-
enumerator F_PBKNOPOSTAL
No support for postal entry in phonebook.
-
enumerator F_PBK_ENCODENUMBER
Encode number in HEX charset.
-
enumerator F_NO_CLIP
Do not use CLIP (phone hangs on it).
-
enumerator F_ENCODED_USSD
USSD propmts and responses are encoded like PDU in SMS (packed 7-bit GSM encoding).
-
enumerator F_USE_SMSTEXTMODE
Phone has better support for SMS text mode (rather than PDU mode)
-
enumerator F_CPIN_NO_OK
Phone does not end CPIN reply with OK/ERROR.
-
enumerator F_FOUR_DIGIT_YEAR
Phone require four digit year in time.
-
enumerator F_SMS_NO_ME
Phone does not have a phone SMS memory even if it reports so.
-
enumerator F_SMS_NO_SM
Phone does not have a SIM SMS memory even if it reports so.
-
enumerator F_SIEMENS_PBK
Phone supports Siemens style phonebook even if it does not tell so.
-
enumerator F_NO_ATSYNCML
Disable AT+SYNCML probing.
-
enumerator F_MOBEX
Phone supports m-obex (usually Samsung phones).
-
enumerator F_TSSPCSW
Phone supports m-obex (usually Samsung phones) using AT$TSSPCSW=1.
-
enumerator F_DISABLE_GETNEXT
Disable GetNext* operations on the dummy phone.
-
enumerator F_DISABLE_GETNEXTSMS
Disable GetNextSMS operations on the dummy phone.
-
enumerator F_DISABLE_CMGL
CMGL hangs, so should not be used.
-
enumerator F_NO_UTF8
Phone does not support UTF8 even if it reports it.
-
enumerator F_SAMSUNG_UTF8
Samsung B2100 in UCS-2 mode provides a garbled UTF-8 instead.
-
enumerator F_SMS_UTF8_ENCODED
SMS text is always UTF-8 encoded.
-
enumerator F_NO_STOP_CUSD
Avoid forcibly stopping CUSD session.
-
enumerator F_READ_SMSTEXTMODE
Reading og SMSes in text mode.
-
enumerator F_RESET_AFTER_TIMEOUT
Reset phone after timeout.
-
enumerator F_HUAWEI_INIT
Huawei style init.
-
enumerator F_ZTE_INIT
ZTE style init.
-
enumerator F_USSD_GSM_CHARSET
Prefer GSM charset for USSD (default is unicode).
-
enumerator F_SMS_SR
Phone supports SR storage even if it does not report so.
-
enumerator F_SMS_NO_SR
Phone does not have a SR memory even if it reports so.
-
enumerator F_LAST_VALUE
Just marker of highest feature code, should not be used.
-
enumerator F_CAL33
-
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 features[GSM_MAX_PHONE_FEATURES + 1]
List of supported features
-
const char *model