Tizen Native API

The SIM API provides functions to obtain information from the SIM card, as well as SIM status.

Required Header

#include <telephony.h>

Overview

The Telephony SIM API allows you to extract information stored on a SIM card, but not change the information.

Related Features

This API is related with the following feature:

It is recommended to design feature related codes in your application for reliability.

You can check if a device supports the related features for this API by using System Information, thereby controlling the procedure of your application.

To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.

More details on featuring your application can be found from Feature List.

Functions

int telephony_sim_get_icc_id (telephony_h handle, char **icc_id)
 Gets the Integrated Circuit Card IDentification (ICC-ID).
int telephony_sim_get_operator (telephony_h handle, char **sim_operator)
 Gets the SIM Operator (MCC [3 digits] + MNC [2~3 digits]).
int telephony_sim_get_msin (telephony_h handle, char **msin)
 Gets the Mobile Subscription Identification Number (MSIN [9~10 digits]) of the SIM provider.
int telephony_sim_get_spn (telephony_h handle, char **spn)
 Gets the Service Provider Name (SPN) of the SIM card.
int telephony_sim_is_changed (telephony_h handle, bool *is_changed)
 Checks whether the current SIM card is different from the previous SIM card.
int telephony_sim_get_state (telephony_h handle, telephony_sim_state_e *sim_state)
 Gets the state of the SIM.
int telephony_sim_get_subscriber_number (telephony_h handle, char **subscriber_number)
 Gets the SIM card subscriber number.

Enumeration Type Documentation

Enumeration for the state of SIM card.

Since :
2.3.1
Enumerator:
TELEPHONY_SIM_STATE_UNAVAILABLE 

SIM is not available on this device

TELEPHONY_SIM_STATE_LOCKED 

SIM is locked

TELEPHONY_SIM_STATE_AVAILABLE 

SIM is available on this device

TELEPHONY_SIM_STATE_UNKNOWN 

SIM is in transition between states


Function Documentation

int telephony_sim_get_icc_id ( telephony_h  handle,
char **  icc_id 
)

Gets the Integrated Circuit Card IDentification (ICC-ID).

The Integrated Circuit Card Identification number internationally identifies SIM cards.

Since :
2.3.1
Privilege Level:
public
Privilege:
http://tizen.org/privilege/telephony
Remarks:
You must release icc_id using free().
Parameters:
[in]handleThe handle from telephony_init()
[out]icc_idThe Integrated Circuit Card Identification
Returns:
0 on success, otherwise a negative error value
Return values:
TELEPHONY_ERROR_NONESuccessful
TELEPHONY_ERROR_INVALID_PARAMETEROut of memory
TELEPHONY_ERROR_PERMISSION_DENIEDPermission denied
TELEPHONY_ERROR_NOT_SUPPORTEDNot supported
TELEPHONY_ERROR_OPERATION_FAILEDInvalid parameter
TELEPHONY_ERROR_SIM_NOT_AVAILABLESIM is not available
Precondition:
The SIM state must be TELEPHONY_SIM_STATE_AVAILABLE.
See also:
telephony_sim_get_state()
int telephony_sim_get_msin ( telephony_h  handle,
char **  msin 
)

Gets the Mobile Subscription Identification Number (MSIN [9~10 digits]) of the SIM provider.

This function gets Mobile Subscription Identification Number embedded in the SIM card.

Since :
2.3.1
Privilege Level:
public
Privilege:
http://tizen.org/privilege/telephony
Remarks:
You must release msin using free().
Parameters:
[in]handleThe handle from telephony_init()
[out]msinThe Mobile Subscription Identification Number
Returns:
0 on success, otherwise a negative error value
Return values:
TELEPHONY_ERROR_NONESuccessful
TELEPHONY_ERROR_INVALID_PARAMETEROut of memory
TELEPHONY_ERROR_PERMISSION_DENIEDPermission denied
TELEPHONY_ERROR_NOT_SUPPORTEDNot supported
TELEPHONY_ERROR_OPERATION_FAILEDInvalid parameter
TELEPHONY_ERROR_SIM_NOT_AVAILABLESIM is not available
Precondition:
The SIM state must be TELEPHONY_SIM_STATE_AVAILABLE.
See also:
telephony_sim_get_state()
int telephony_sim_get_operator ( telephony_h  handle,
char **  sim_operator 
)

Gets the SIM Operator (MCC [3 digits] + MNC [2~3 digits]).

The Operator is embedded in the SIM card.

Since :
2.3.1
Privilege Level:
public
Privilege:
http://tizen.org/privilege/telephony
Remarks:
You must release sim_operator using free().
Parameters:
[in]handleThe handle from telephony_init()
[out]sim_operatorThe SIM Operator
Returns:
0 on success, otherwise a negative error value
Return values:
TELEPHONY_ERROR_NONESuccessful
TELEPHONY_ERROR_INVALID_PARAMETEROut of memory
TELEPHONY_ERROR_PERMISSION_DENIEDPermission denied
TELEPHONY_ERROR_NOT_SUPPORTEDNot supported
TELEPHONY_ERROR_OPERATION_FAILEDInvalid parameter
TELEPHONY_ERROR_SIM_NOT_AVAILABLESIM is not available
Precondition:
The SIM state must be TELEPHONY_SIM_STATE_AVAILABLE.
See also:
telephony_sim_get_state()
int telephony_sim_get_spn ( telephony_h  handle,
char **  spn 
)

Gets the Service Provider Name (SPN) of the SIM card.

This function gets Service Provider Name embedded in the SIM card. If this value is not stored in SIM card, NULL will be returned.

Since :
2.3.1
Privilege Level:
public
Privilege:
http://tizen.org/privilege/telephony
Remarks:
You must release spn using free().
Parameters:
[in]handleThe handle from telephony_init()
[out]spnThe Service Provider Name
Returns:
0 on success, otherwise a negative error value
Return values:
TELEPHONY_ERROR_NONESuccessful
TELEPHONY_ERROR_INVALID_PARAMETEROut of memory
TELEPHONY_ERROR_PERMISSION_DENIEDPermission denied
TELEPHONY_ERROR_NOT_SUPPORTEDNot supported
TELEPHONY_ERROR_OPERATION_FAILEDInvalid parameter
TELEPHONY_ERROR_SIM_NOT_AVAILABLESIM is not available
Precondition:
The SIM state must be TELEPHONY_SIM_STATE_AVAILABLE.
See also:
telephony_sim_get_state()
int telephony_sim_get_state ( telephony_h  handle,
telephony_sim_state_e sim_state 
)

Gets the state of the SIM.

Since :
2.3.1
Privilege Level:
public
Privilege:
http://tizen.org/privilege/telephony
Parameters:
[in]handleThe handle from telephony_init()
[out]sim_stateThe current state of the SIM
Returns:
0 on success, otherwise a negative error value
Return values:
TELEPHONY_ERROR_NONESuccessful
TELEPHONY_ERROR_INVALID_PARAMETEROut of memory
TELEPHONY_ERROR_PERMISSION_DENIEDPermission denied
TELEPHONY_ERROR_NOT_SUPPORTEDNot supported
TELEPHONY_ERROR_OPERATION_FAILEDInvalid parameter
int telephony_sim_get_subscriber_number ( telephony_h  handle,
char **  subscriber_number 
)

Gets the SIM card subscriber number.

This function gets subscriber number embedded in the SIM card. This value contains MSISDN related to the subscriber. If this value is not stored in SIM card, NULL will be returned.

Since :
2.3.1
Privilege Level:
public
Privilege:
http://tizen.org/privilege/telephony
Remarks:
You must release subscriber_number using free().
Parameters:
[in]handleThe handle from telephony_init()
[out]subscriber_numberThe subscriber number in the SIM
Returns:
0 on success, otherwise a negative error value
Return values:
TELEPHONY_ERROR_NONESuccessful
TELEPHONY_ERROR_INVALID_PARAMETEROut of memory
TELEPHONY_ERROR_PERMISSION_DENIEDPermission denied
TELEPHONY_ERROR_NOT_SUPPORTEDNot supported
TELEPHONY_ERROR_OPERATION_FAILEDInvalid parameter
TELEPHONY_ERROR_SIM_NOT_AVAILABLESIM is not available
Precondition:
The SIM state must be TELEPHONY_SIM_STATE_AVAILABLE.
See also:
telephony_sim_get_state()
int telephony_sim_is_changed ( telephony_h  handle,
bool *  is_changed 
)

Checks whether the current SIM card is different from the previous SIM card.

Since :
2.3.1
Privilege Level:
public
Privilege:
http://tizen.org/privilege/telephony
Parameters:
[in]handleThe handle from telephony_init()
[out]is_changedtrue if the current SIM card is different from the previous SIM card, otherwise false if the SIM card is not changed
Returns:
0 on success, otherwise a negative error value
Return values:
TELEPHONY_ERROR_NONESuccessful
TELEPHONY_ERROR_INVALID_PARAMETEROut of memory
TELEPHONY_ERROR_PERMISSION_DENIEDPermission denied
TELEPHONY_ERROR_NOT_SUPPORTEDNot supported
TELEPHONY_ERROR_OPERATION_FAILEDInvalid parameter
TELEPHONY_ERROR_SIM_NOT_AVAILABLESIM is not available
Precondition:
The SIM state must be TELEPHONY_SIM_STATE_AVAILABLE.
See also:
telephony_sim_get_state()