6.5.1 MSDC error notifications 6.5.1.1 Description
If the MSDC wants to notify the app of any generic MSDC error, it uses the msdcError notification. Chapter 14 includes the type of errors that can be notified.
6.5.1.2 Prerequisite
Add MSDC manager module event listener (section 6.2.1) should be complete.
6.5.1.3 Scenarios
If the MSDC does not get enough memory from the OS, the MSDC API responds to the app using msdcError with the error code ERROR_MSDC_UNABLE_TO_ALLOCATE_MEMORY.
In such a case, please check if the device where you are running MSDC has enough free memory See Code Example in section 5.2.2
Figure 6-38 is the corresponding call flow.
App MSDC API
msdcError() Error code =
ERROR_MSDC_UNABLE_TO_
ALLOCATE_MEMORY
Error message = <error message>
Figure 6-38 MSDC – Error notification, Unable to allocate memory
If the MSDC API notifies the app using msdcError with any of the error codes listed below, contact the operator as these are operator-specific errors
■ ERROR_MSDC_UNABLE_TO_LOCATE_PROVISIONING
■ ERROR_MSDC_PROVISIONING_FILE_INCOMPATIBILITY
■ ERROR_MSDC_UNABLE_TO_PARSE_PROVISIONING_FILE
■ ERROR_MSDC_UNABLE_TO_BIND_PORT
■ ERROR_MSDC_TIME_SYNC
■ ERROR_MSDC_MODEM_VERSION_INCOMPATIBLE
■ ERROR_MSDC_BOOTSTRAP_CONNECTION_FAIL
■ ERROR_MSDC_UNABLE_TO_PARSE_BOOTSTRAP
■ ERROR_MDSC_NOT_CONNECTED_TO_HOMECARRIER_LTE
■ ERROR_MDSC_FAILED_BOOTSTRAP_SERVER_DISCOVERY
■ ERROR_MDSC_SIM_READ
■ ERROR_MSDC_UNABLE_TO_ENABLE_MODEM
■ ERROR_MSDC_MIDDLEWARE_NOT_INSTALLED
■ ERROR_MSDC_EMBMS_SERVICE_NOT_AVAILABLE
6.5.2 MSDC warning notifications 6.5.2.1 Description
If the MSDC wants to notify the app of any generic MSDC warning, it uses the overloaded msdcWarning notification. Chapter 14 includes the type of errors that can be notified.
6.5.2.1.1 Prerequisite
6.5.2.1.2 Scenarios
If the MSDC detects a change in the network on which the device operates on, the MSDC API warns the app using msdcWarning with the warning code
WARNING_MSDC_NETWORK_CHANGE_DETECTED.
Figure 6-39 is the corresponding call flow.
App MSDC API
msdcWarning() Warning code =
WARNING_MSDC_NETWORK_CHANGE _DETECTED
message = <message>
Figure 6-39 MSDC – Warning notification, network change detected
Here are possible MSDC warnings that the MSDC API notifies the app using msdcWarning:
■ WARNING_MSDC_NETWORK_CHANGE_DETECTED
■ WARNING_MSDC_REDUCED_FEATURE_SET
6.5.3 E911 notification 6.5.3.1 Description
E911 stands for Enhanced 911 calls. Once the user has dialed 911, the phone should ideally stop all activities (other than the E911 call) until the end of both the E911 call and the subsequent callback period. The callback period is usually 5 minutes long.
The middleware halts all processing and sends an E911 indication with status IN to the application when the modem indicates that it is in the E911 state.
The middleware resumes normal operations and sends an E911 indication with status OUT to the application when the modem indicates the end of the E911 state.
On receiving an E911 indication from the middleware, it is recommended that the application informs the user of the E911 state and exit.
6.5.3.2 Prerequisite
MSDC manager module connection initialization (section 6.2.2) should be complete.
6.5.3.3 Scenario
The user dials 911, and if the app is running in the background, it receives the E911 notification.
If the user launches the app during the callback period, the app receives the E911 notification after the MSDC initialization and requests to initialize other modules would fail.
Figure 6-40 is the corresponding call flow.
App MSDC API
initializeMSDC()
e911Indication() MSDC Initialize Parameters
initializeMSDCConfirmation()
state = E911_IN
Figure 6-40 MSDC – E911 call flow
6.5.3.4 Interface function
void e911Indication(int state);
6.5.4 MSDC Unavailable notification 6.5.4.1 Description
The UI application receives this notification when there is no connection to MSDC middleware.
This notification includes a possible reason for the connection loss.
□ MSDC_NONE – Indicates there is no MSDC middleware found based on the UI application preference stated in initializeMSDC() call.
□ MSDC_NO_WIFI – Indicates there is no Wi-Fi connection to connect to remote MSDC middleware.
□ MSDC_REMOTE_AVAILABLE – Indicates remote MSDC middleware is available now and the UI application is disconnected from local MSDC middleware on the device while connecting to remote MSDC middleware. The app should receive
6.5.4.2 Prerequisite
Add MSDC manager module event listener (section 6.2.1) should be complete.
6.5.4.3 Interface function
void msdcUnavailableNotification(int reason);
6.5.5 MSDC Available Notification 6.5.5.1 Description
The UI application receives this notification when it is connected to MSDC middleware. This notification includes the type of connection.
□ MSDC_LOCAL – Indicates the UI application is connected to local MSDC middleware found on the same device as the UI.
□ MSDC_REMOTE – Indicates the UI application is connected to remote MSDC middleware found on mobile broadband product.
6.5.5.2 Prerequisite
Add MSDC manager module event listener (section 6.2.1) should be complete.
6.5.5.2.1 Interface function
void msdcAvailableNotification(int which, Object obj);
6.5.6 Information calls
6.5.6.1 Get the MSDC API version 6.5.6.1.1 Description
To get the version of the MSDC API, the app can use the getAPIVersion function. The return value has the version of the MSDC API.
6.5.6.1.2 Prerequisite
MSDC manager module connection initialization (section 6.2.2) should be complete.
6.5.6.1.3 Scenario
Figure 6-41 is the call flow sequence NOTE
- It is recommended to release mediaPlayer after receiving MSDC unavailable notification.
return getServerAPIVersion()
App MSDC API
< Version String >
Figure 6-41 MSDC – Get Server version
6.5.6.1.4 Interface function
String getServerAPIVersion ();
6.5.6.2 Get the MSDC server version 6.5.6.2.1 Description
To get the version of the MSDC server, the app can use the getServerAPIVersion function.
The return value has the version of the MSDC server.
6.5.6.2.2 Prerequisite
None.6.5.6.2.3 Scenario
Figure 6-42 is the call flow sequence
return getAPIVersion()
App MSDC API
< Version String >
Figure 6-42 MSDC – Get API version
6.5.6.3 Check MSDC initialization status 6.5.6.3.1 Description
To identify whether the connection to the MSDC has been initialized (section 6.2.2), the app uses the isMSDCInitialized function. The return boolean value, if TRUE, indicates that the MSDC connection has been initialized.
6.5.6.3.2 Prerequisite
Add MSDC manager module event listener (section 6.2.1) should be complete.
6.5.6.3.3 Scenario
Figure 6-43 is the call flow sequence
return isMSDCInitialized()
App MSDC API
TRUE / FALSE
Figure 6-43 MSDC – Check MSDC initialization status
6.5.6.3.4 Interface function
boolean isMSDCInitialized();