35
Digitax.Mobile.Modem
This library contains the classes used to interact with the embedded modem. The main class to use is
ModemManager which exposes all the methods, properties and events to work. It allows to view
phone network status such as registration, signal strength, operator name and more. By dedicated
events the application is updated in real-time about the changes. Modem manager can work with
PIN-locked SIM simply by entering the correct PIN code in the ModemManager.PIN property; the
manager will try to write the PIN to the SIM only if there are at least 3 remaining attempts. If only 2
attempts left the manager will disable itself to avoid a definitive SIM-lock and permit a hand-removal
of PIN. If the SIM property is not set the manager will trigger the ModemManager.OnPINRequest
event specifying the remaining attempts. The application can then provide the PIN code and can
specify if the SIM must be unlocked definitively. If no PIN code is provided the manager will disable
itself. Note that the manager will not unlock definitively the SIM if the PIN is provided by the PIN
property; the SIM will remain unlocked until modem is powered on. Instead, if the PIN code is
provided by the event, the manager will not check the remaining attempts; the count of the
remaining attempts will be only notified to the delegate as an argument. The manager than has the
goal of maintaining the modem always usable, so if the application needs to power off the modem,
the correct procedure is to call the ModemManager.PowerOffModem() method and then disable the
manager.
Other features of the modem manager are:
the possibility of send/receive SMS messages;
the possibility of answer/hang incoming voice calls;
the possibility of get information (such as ID and signal strength) about the neighbor cell
stations;
the possibility of send/receive direct AT commands to the modem.
Digitax.Mobile.RAS
This library contains the classes to work with the RAS entries configured on the system. By the
RasManager's static methods the application can retrieve the configured RAS entry names, the
configured RAS-enabled devices and the active RAS connections.
The RasEntryManager is the class to use to handle a specific RAS entry name. It allows to open (dial)
or close (hang up) a RAS connection; when its state changes the RAS entry manager notifies it by
triggering the ConnectionStateChanged event. When the entry is connected the RAS entry manager
can retrieve the connection's system statistics (bytes sent, bytes received, connection time, ...) and
the network projection information such as the IP address assigned by the telephony provider.
Digitax.Mobile.RAS.Link
This library extends the Digitax.Mobile.RAS library. The main class in this namespace is LinkManager
which has the goal of keeping the RAS link always up. It implements logics to Dial or HangUp the RAS
entry as best as possible using a working instance of the ModemManger if provided in the
constructor. If the modem manager instance is provided the RAS entry will be connected only if the
network status is valid to begin to establish a connection. Otherwise it will be hanged-up if there is
no more network availability for some time avoiding connection inconsistencies between mobile
device and the telephony provider. If the modem is not registered to the network, RAS entry dial will
begin as soon as network availability comes back again.
The RAS link manager then has the ability to evaluate the link status. If an application requests a re-
dial evaluation by the EvaluateRedial() method, the manager will query all the delegates registered