Telematics SDK - Interface Specification  v1.46.62
Telematics_supp_services

Data Structures

class  telux::tel::ISuppServicesListener
 A listener class for receiving supplementary services notifications. The methods in listener can be invoked from multiple different threads. The implementation should be thread safe. More...
 
struct  telux::tel::ForwardInfo
 
struct  telux::tel::ForwardReq
 
class  telux::tel::ISuppServicesManager
 ISuppServicesManager is the interface to provide supplementary services like call forwarding and call waiting. More...
 

Typedefs

using telux::tel::ServiceClass = std::bitset< 8 >
 
using telux::tel::SetSuppSvcPrefCallback = std::function< void(telux::common::ErrorCode error, FailureCause failureCause)>
 
using telux::tel::GetCallWaitingPrefCb = std::function< void(SuppServicesStatus suppSvcStatus, SuppSvcProvisionStatus provisionStatus, FailureCause failureCause, telux::common::ErrorCode error)>
 
using telux::tel::GetForwardingPrefCb = std::function< void(std::vector< ForwardInfo > forwardInfoList, SuppSvcProvisionStatus provisionStatus, FailureCause failureCause, telux::common::ErrorCode error)>
 
using telux::tel::GetOirPrefCb = std::function< void(SuppServicesStatus suppSvcStatus, SuppSvcProvisionStatus provisionStatus, FailureCause failureCause, telux::common::ErrorCode error)>
 

Enumerations

enum  telux::tel::SuppServicesStatus { telux::tel::SuppServicesStatus::UNKNOWN = -1, telux::tel::SuppServicesStatus::ENABLED = 1, telux::tel::SuppServicesStatus::DISABLED = 2 }
 
enum  telux::tel::SuppSvcProvisionStatus {
  telux::tel::SuppSvcProvisionStatus::UNKNOWN = -1, telux::tel::SuppSvcProvisionStatus::NOT_PROVISIONED = 0, telux::tel::SuppSvcProvisionStatus::PROVISIONED = 1, telux::tel::SuppSvcProvisionStatus::PRESENTATION_RESTRICTED = 2,
  telux::tel::SuppSvcProvisionStatus::PRESENTATION_ALLOWED = 3
}
 
enum  telux::tel::ForwardOperation {
  telux::tel::ForwardOperation::UNKNOWN = -1, telux::tel::ForwardOperation::ACTIVATE = 1, telux::tel::ForwardOperation::DEACTIVATE = 2, telux::tel::ForwardOperation::REGISTER = 3,
  telux::tel::ForwardOperation::ERASE = 4
}
 
enum  telux::tel::ForwardReason {
  telux::tel::ForwardReason::UNCONDITIONAL = 1, telux::tel::ForwardReason::BUSY = 2, telux::tel::ForwardReason::NOREPLY = 3, telux::tel::ForwardReason::NOT_REACHABLE = 4,
  telux::tel::ForwardReason::NOT_LOGGED_IN = 23
}
 
enum  telux::tel::ServiceClassType { telux::tel::ServiceClassType::NONE = 0x00, telux::tel::ServiceClassType::VOICE = 0x01 }
 
enum  telux::tel::FailureCause {
  telux::tel::FailureCause::UNAVAILABLE = 0xFFFF, telux::tel::FailureCause::OFFLINE = 0x00, telux::tel::FailureCause::CDMA_LOCK = 0x14, telux::tel::FailureCause::NO_SRV = 0x15,
  telux::tel::FailureCause::FADE = 0x16, telux::tel::FailureCause::INTERCEPT = 0x17, telux::tel::FailureCause::REORDER = 0x18, telux::tel::FailureCause::REL_NORMAL = 0x19,
  telux::tel::FailureCause::REL_SO_REJ = 0x1A, telux::tel::FailureCause::INCOM_CALL = 0x1B, telux::tel::FailureCause::ALERT_STOP = 0x1C, telux::tel::FailureCause::CLIENT_END = 0x1D,
  telux::tel::FailureCause::ACTIVATION = 0x1E, telux::tel::FailureCause::MC_ABORT = 0x1F, telux::tel::FailureCause::MAX_ACCESS_PROBE = 0x20, telux::tel::FailureCause::PSIST_N = 0x21,
  telux::tel::FailureCause::UIM_NOT_PRESENT = 0x22, telux::tel::FailureCause::ACC_IN_PROG = 0x23, telux::tel::FailureCause::ACC_FAIL = 0x24, telux::tel::FailureCause::RETRY_ORDER = 0x25,
  telux::tel::FailureCause::CCS_NOT_SUPPORTED_BY_BS = 0x26, telux::tel::FailureCause::NO_RESPONSE_FROM_BS = 0x27, telux::tel::FailureCause::REJECTED_BY_BS = 0x28, telux::tel::FailureCause::INCOMPATIBLE = 0x29,
  telux::tel::FailureCause::ACCESS_BLOCK = 0x2A, telux::tel::FailureCause::ALREADY_IN_TC = 0x2B, telux::tel::FailureCause::EMERGENCY_FLASHED = 0x2C, telux::tel::FailureCause::USER_CALL_ORIG_DURING_GPS = 0x2D,
  telux::tel::FailureCause::USER_CALL_ORIG_DURING_SMS = 0x2E, telux::tel::FailureCause::USER_CALL_ORIG_DURING_DATA = 0x2F, telux::tel::FailureCause::REDIR_OR_HANDOFF = 0x30, telux::tel::FailureCause::ACCESS_BLOCK_ALL = 0x31,
  telux::tel::FailureCause::OTASP_SPC_ERR = 0x32, telux::tel::FailureCause::IS707B_MAX_ACC = 0x33, telux::tel::FailureCause::ACC_FAIL_REJ_ORD = 0x34, telux::tel::FailureCause::ACC_FAIL_RETRY_ORD = 0x35,
  telux::tel::FailureCause::TIMEOUT_T42 = 0x36, telux::tel::FailureCause::TIMEOUT_T40 = 0x37, telux::tel::FailureCause::SRV_INIT_FAIL = 0x38, telux::tel::FailureCause::T50_EXP = 0x39,
  telux::tel::FailureCause::T51_EXP = 0x3A, telux::tel::FailureCause::RL_ACK_TIMEOUT = 0x3B, telux::tel::FailureCause::BAD_FL = 0x3C, telux::tel::FailureCause::TRM_REQ_FAIL = 0x3D,
  telux::tel::FailureCause::TIMEOUT_T41 = 0x3E, telux::tel::FailureCause::INCOM_REJ = 0x66, telux::tel::FailureCause::SETUP_REJ = 0x67, telux::tel::FailureCause::NETWORK_END = 0x68,
  telux::tel::FailureCause::NO_FUNDS = 0x69, telux::tel::FailureCause::NO_GW_SRV = 0x6A, telux::tel::FailureCause::NO_CDMA_SRV = 0x6B, telux::tel::FailureCause::NO_FULL_SRV = 0x6C,
  telux::tel::FailureCause::MAX_PS_CALLS = 0x6D, telux::tel::FailureCause::UNKNOWN_SUBSCRIBER = 0x6E, telux::tel::FailureCause::ILLEGAL_SUBSCRIBER = 0x6F, telux::tel::FailureCause::BEARER_SERVICE_NOT_PROVISIONED = 0x70,
  telux::tel::FailureCause::TELE_SERVICE_NOT_PROVISIONED = 0x71, telux::tel::FailureCause::ILLEGAL_EQUIPMENT = 0x72, telux::tel::FailureCause::CALL_BARRED = 0x73, telux::tel::FailureCause::ILLEGAL_SS_OPERATION = 0x74,
  telux::tel::FailureCause::SS_ERROR_STATUS = 0x75, telux::tel::FailureCause::SS_NOT_AVAILABLE = 0x76, telux::tel::FailureCause::SS_SUBSCRIPTION_VIOLATION = 0x77, telux::tel::FailureCause::SS_INCOMPATIBILITY = 0x78,
  telux::tel::FailureCause::FACILITY_NOT_SUPPORTED = 0x79, telux::tel::FailureCause::ABSENT_SUBSCRIBER = 0x7A, telux::tel::FailureCause::SHORT_TERM_DENIAL = 0x7B, telux::tel::FailureCause::LONG_TERM_DENIAL = 0x7C,
  telux::tel::FailureCause::SYSTEM_FAILURE = 0x7D, telux::tel::FailureCause::DATA_MISSING = 0x7E, telux::tel::FailureCause::UNEXPECTED_DATA_VALUE = 0x7F, telux::tel::FailureCause::PWD_REGISTRATION_FAILURE = 0x80,
  telux::tel::FailureCause::NEGATIVE_PWD_CHECK = 0x81, telux::tel::FailureCause::NUM_OF_PWD_ATTEMPTS_VIOLATION = 0x82, telux::tel::FailureCause::POSITION_METHOD_FAILURE = 0x83, telux::tel::FailureCause::UNKNOWN_ALPHABET = 0x84,
  telux::tel::FailureCause::USSD_BUSY = 0x85, telux::tel::FailureCause::REJECTED_BY_USER = 0x86, telux::tel::FailureCause::REJECTED_BY_NETWORK = 0x87, telux::tel::FailureCause::DEFLECTION_TO_SERVED_SUBSCRIBER = 0x88,
  telux::tel::FailureCause::SPECIAL_SERVICE_CODE = 0x89, telux::tel::FailureCause::INVALID_DEFLECTED_TO_NUMBER = 0x8A, telux::tel::FailureCause::MPTY_PARTICIPANTS_EXCEEDED = 0x8B, telux::tel::FailureCause::RESOURCES_NOT_AVAILABLE = 0x8C,
  telux::tel::FailureCause::UNASSIGNED_NUMBER = 0x8D, telux::tel::FailureCause::NO_ROUTE_TO_DESTINATION = 0x8E, telux::tel::FailureCause::CHANNEL_UNACCEPTABLE = 0x8F, telux::tel::FailureCause::OPERATOR_DETERMINED_BARRING = 0x90,
  telux::tel::FailureCause::NORMAL_CALL_CLEARING = 0x91, telux::tel::FailureCause::USER_BUSY = 0x92, telux::tel::FailureCause::NO_USER_RESPONDING = 0x93, telux::tel::FailureCause::USER_ALERTING_NO_ANSWER = 0x94,
  telux::tel::FailureCause::CALL_REJECTED = 0x95, telux::tel::FailureCause::NUMBER_CHANGED = 0x96, telux::tel::FailureCause::PREEMPTION = 0x97, telux::tel::FailureCause::DESTINATION_OUT_OF_ORDER = 0x98,
  telux::tel::FailureCause::INVALID_NUMBER_FORMAT = 0x99, telux::tel::FailureCause::FACILITY_REJECTED = 0x9A, telux::tel::FailureCause::RESP_TO_STATUS_ENQUIRY = 0x9B, telux::tel::FailureCause::NORMAL_UNSPECIFIED = 0x9C,
  telux::tel::FailureCause::NO_CIRCUIT_OR_CHANNEL_AVAILABLE = 0x9D, telux::tel::FailureCause::NETWORK_OUT_OF_ORDER = 0x9E, telux::tel::FailureCause::TEMPORARY_FAILURE = 0x9F, telux::tel::FailureCause::SWITCHING_EQUIPMENT_CONGESTION = 0xA0,
  telux::tel::FailureCause::ACCESS_INFORMATION_DISCARDED = 0xA1, telux::tel::FailureCause::REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 0xA2, telux::tel::FailureCause::RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 0xA3, telux::tel::FailureCause::QOS_UNAVAILABLE = 0xA4,
  telux::tel::FailureCause::REQUESTED_FACILITY_NOT_SUBSCRIBED = 0xA5, telux::tel::FailureCause::INCOMING_CALLS_BARRED_WITHIN_CUG = 0xA6, telux::tel::FailureCause::BEARER_CAPABILITY_NOT_AUTH = 0xA7, telux::tel::FailureCause::BEARER_CAPABILITY_UNAVAILABLE = 0xA8,
  telux::tel::FailureCause::SERVICE_OPTION_NOT_AVAILABLE = 0xA9, telux::tel::FailureCause::ACM_LIMIT_EXCEEDED = 0xAA, telux::tel::FailureCause::BEARER_SERVICE_NOT_IMPLEMENTED = 0xAB, telux::tel::FailureCause::REQUESTED_FACILITY_NOT_IMPLEMENTED = 0xAC,
  telux::tel::FailureCause::ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 0xAD, telux::tel::FailureCause::SERVICE_OR_OPTION_NOT_IMPLEMENTED = 0xAE, telux::tel::FailureCause::INVALID_TRANSACTION_IDENTIFIER = 0xAF, telux::tel::FailureCause::USER_NOT_MEMBER_OF_CUG = 0xB0,
  telux::tel::FailureCause::INCOMPATIBLE_DESTINATION = 0xB1, telux::tel::FailureCause::INVALID_TRANSIT_NW_SELECTION = 0xB2, telux::tel::FailureCause::SEMANTICALLY_INCORRECT_MESSAGE = 0xB3, telux::tel::FailureCause::INVALID_MANDATORY_INFORMATION = 0xB4,
  telux::tel::FailureCause::MESSAGE_TYPE_NON_IMPLEMENTED = 0xB5, telux::tel::FailureCause::MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 0xB6, telux::tel::FailureCause::INFORMATION_ELEMENT_NON_EXISTENT = 0xB7, telux::tel::FailureCause::CONDITONAL_IE_ERROR = 0xB8,
  telux::tel::FailureCause::MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 0xB9, telux::tel::FailureCause::RECOVERY_ON_TIMER_EXPIRED = 0xBA, telux::tel::FailureCause::PROTOCOL_ERROR_UNSPECIFIED = 0xBB, telux::tel::FailureCause::INTERWORKING_UNSPECIFIED = 0xBC,
  telux::tel::FailureCause::OUTGOING_CALLS_BARRED_WITHIN_CUG = 0xBD, telux::tel::FailureCause::NO_CUG_SELECTION = 0xBE, telux::tel::FailureCause::UNKNOWN_CUG_INDEX = 0xBF, telux::tel::FailureCause::CUG_INDEX_INCOMPATIBLE = 0xC0,
  telux::tel::FailureCause::CUG_CALL_FAILURE_UNSPECIFIED = 0xC1, telux::tel::FailureCause::CLIR_NOT_SUBSCRIBED = 0xC2, telux::tel::FailureCause::CCBS_POSSIBLE = 0xC3, telux::tel::FailureCause::CCBS_NOT_POSSIBLE = 0xC4,
  telux::tel::FailureCause::IMSI_UNKNOWN_IN_HLR = 0xC5, telux::tel::FailureCause::ILLEGAL_MS = 0xC6, telux::tel::FailureCause::IMSI_UNKNOWN_IN_VLR = 0xC7, telux::tel::FailureCause::IMEI_NOT_ACCEPTED = 0xC8,
  telux::tel::FailureCause::ILLEGAL_ME = 0xC9, telux::tel::FailureCause::PLMN_NOT_ALLOWED = 0xCA, telux::tel::FailureCause::LOCATION_AREA_NOT_ALLOWED = 0xCB, telux::tel::FailureCause::ROAMING_NOT_ALLOWED_IN_THIS_LOCATION_AREA = 0xCC,
  telux::tel::FailureCause::NO_SUITABLE_CELLS_IN_LOCATION_AREA = 0xCD, telux::tel::FailureCause::NETWORK_FAILURE = 0xCE, telux::tel::FailureCause::MAC_FAILURE = 0xCF, telux::tel::FailureCause::SYNCH_FAILURE = 0xD0,
  telux::tel::FailureCause::NETWORK_CONGESTION = 0xD1, telux::tel::FailureCause::GSM_AUTHENTICATION_UNACCEPTABLE = 0xD2, telux::tel::FailureCause::SERVICE_NOT_SUBSCRIBED = 0xD3, telux::tel::FailureCause::SERVICE_TEMPORARILY_OUT_OF_ORDER = 0xD4,
  telux::tel::FailureCause::CALL_CANNOT_BE_IDENTIFIED = 0xD5, telux::tel::FailureCause::INCORRECT_SEMANTICS_IN_MESSAGE = 0xD6, telux::tel::FailureCause::MANDATORY_INFORMATION_INVALID = 0xD7, telux::tel::FailureCause::ACCESS_STRATUM_FAILURE = 0xD8,
  telux::tel::FailureCause::INVALID_SIM = 0xD9, telux::tel::FailureCause::WRONG_STATE = 0xDA, telux::tel::FailureCause::ACCESS_CLASS_BLOCKED = 0xDB, telux::tel::FailureCause::NO_RESOURCES = 0xDC,
  telux::tel::FailureCause::INVALID_USER_DATA = 0xDD, telux::tel::FailureCause::TIMER_T3230_EXPIRED = 0xDE, telux::tel::FailureCause::NO_CELL_AVAILABLE = 0xDF, telux::tel::FailureCause::ABORT_MSG_RECEIVED = 0xE0,
  telux::tel::FailureCause::RADIO_LINK_LOST = 0xE1, telux::tel::FailureCause::TIMER_T303_EXPIRED = 0xE2, telux::tel::FailureCause::CNM_MM_REL_PENDING = 0xE3, telux::tel::FailureCause::ACCESS_STRATUM_REJ_RR_REL_IND = 0xE4,
  telux::tel::FailureCause::ACCESS_STRATUM_REJ_RR_RANDOM_ACCESS_FAILURE = 0xE5, telux::tel::FailureCause::ACCESS_STRATUM_REJ_RRC_REL_IND = 0xE6, telux::tel::FailureCause::ACCESS_STRATUM_REJ_RRC_CLOSE_SESSION_IND = 0xE7, telux::tel::FailureCause::ACCESS_STRATUM_REJ_RRC_OPEN_SESSION_FAILURE = 0xE8,
  telux::tel::FailureCause::ACCESS_STRATUM_REJ_LOW_LEVEL_FAIL = 0xE9, telux::tel::FailureCause::ACCESS_STRATUM_REJ_LOW_LEVEL_FAIL_REDIAL_NOT_ALLOWED = 0xEA, telux::tel::FailureCause::ACCESS_STRATUM_REJ_LOW_LEVEL_IMMED_RETRY = 0xEB, telux::tel::FailureCause::ACCESS_STRATUM_REJ_ABORT_RADIO_UNAVAILABLE = 0xEC,
  telux::tel::FailureCause::SERVICE_OPTION_NOT_SUPPORTED = 0xED, telux::tel::FailureCause::ACCESS_STRATUM_REJ_CONN_EST_FAILURE_ACCESS_BARRED = 0xEE, telux::tel::FailureCause::ACCESS_STRATUM_REJ_CONN_REL_NORMAL = 0xEF, telux::tel::FailureCause::ACCESS_STRATUM_REJ_UL_DATA_CNF_FAILURE_CONN_REL = 0xF0,
  telux::tel::FailureCause::BAD_REQ_WAIT_INVITE = 0x12C, telux::tel::FailureCause::BAD_REQ_WAIT_REINVITE = 0x12D, telux::tel::FailureCause::INVALID_REMOTE_URI = 0x12E, telux::tel::FailureCause::REMOTE_UNSUPP_MEDIA_TYPE = 0x12F,
  telux::tel::FailureCause::PEER_NOT_REACHABLE = 0x130, telux::tel::FailureCause::NETWORK_NO_RESP_TIME_OUT = 0x131, telux::tel::FailureCause::NETWORK_NO_RESP_HOLD_FAIL = 0x132, telux::tel::FailureCause::DATA_CONNECTION_LOST = 0x133,
  telux::tel::FailureCause::UPGRADE_DOWNGRADE_REJ = 0x134, telux::tel::FailureCause::SIP_403_FORBIDDEN = 0x135, telux::tel::FailureCause::NO_NETWORK_RESP = 0x136, telux::tel::FailureCause::UPGRADE_DOWNGRADE_FAILED = 0x137,
  telux::tel::FailureCause::UPGRADE_DOWNGRADE_CANCELLED = 0x138, telux::tel::FailureCause::SSAC_REJECT = 0x139, telux::tel::FailureCause::THERMAL_EMERGENCY = 0x13A, telux::tel::FailureCause::FAILURE_1XCSFB_SOFT = 0x13B,
  telux::tel::FailureCause::FAILURE_1XCSFB_HARD = 0x13C, telux::tel::FailureCause::CONNECTION_EST_FAILURE = 0x13D, telux::tel::FailureCause::CONNECTION_FAILURE = 0x13E, telux::tel::FailureCause::RRC_CONN_REL_NO_MT_SETUP = 0x13F,
  telux::tel::FailureCause::ESR_FAILURE = 0x140, telux::tel::FailureCause::MT_CSFB_NO_RESPONSE_FROM_NW = 0x141, telux::tel::FailureCause::BUSY_EVERYWHERE = 0x142, telux::tel::FailureCause::ANSWERED_ELSEWHERE = 0x143,
  telux::tel::FailureCause::RLF_DURING_CC_DISCONNECT = 0x144, telux::tel::FailureCause::TEMP_REDIAL_ALLOWED = 0x145, telux::tel::FailureCause::PERM_REDIAL_NOT_NEEDED = 0x146, telux::tel::FailureCause::MERGED_TO_CONFERENCE = 0x147,
  telux::tel::FailureCause::LOW_BATTERY = 0x148, telux::tel::FailureCause::CALL_DEFLECTED = 0x149, telux::tel::FailureCause::RTP_RTCP_TIMEOUT = 0x14A, telux::tel::FailureCause::RINGING_RINGBACK_TIMEOUT = 0x14B,
  telux::tel::FailureCause::REG_RESTORATION = 0x14C, telux::tel::FailureCause::CODEC_ERROR = 0x14D, telux::tel::FailureCause::UNSUPPORTED_SDP = 0x14E, telux::tel::FailureCause::RTP_FAILURE = 0x14F,
  telux::tel::FailureCause::QoS_FAILURE = 0x150, telux::tel::FailureCause::MULTIPLE_CHOICES = 0x151, telux::tel::FailureCause::MOVED_PERMANENTLY = 0x152, telux::tel::FailureCause::MOVED_TEMPORARILY = 0x153,
  telux::tel::FailureCause::USE_PROXY = 0x154, telux::tel::FailureCause::ALTERNATE_SERVICE = 0x155, telux::tel::FailureCause::ALTERNATE_EMERGENCY_CALL = 0x156, telux::tel::FailureCause::UNAUTHORIZED = 0x157,
  telux::tel::FailureCause::PAYMENT_REQUIRED = 0x158, telux::tel::FailureCause::METHOD_NOT_ALLOWED = 0x159, telux::tel::FailureCause::NOT_ACCEPTABLE = 0x15A, telux::tel::FailureCause::PROXY_AUTHENTICATION_REQUIRED = 0x15B,
  telux::tel::FailureCause::GONE = 0x15C, telux::tel::FailureCause::REQUEST_ENTITY_TOO_LARGE = 0x15D, telux::tel::FailureCause::REQUEST_URI_TOO_LARGE = 0x15E, telux::tel::FailureCause::UNSUPPORTED_URI_SCHEME = 0x15F,
  telux::tel::FailureCause::BAD_EXTENSION = 0x160, telux::tel::FailureCause::EXTENSION_REQUIRED = 0x161, telux::tel::FailureCause::INTERVAL_TOO_BRIEF = 0x162, telux::tel::FailureCause::CALL_OR_TRANS_DOES_NOT_EXIST = 0x163,
  telux::tel::FailureCause::LOOP_DETECTED = 0x164, telux::tel::FailureCause::TOO_MANY_HOPS = 0x165, telux::tel::FailureCause::ADDRESS_INCOMPLETE = 0x166, telux::tel::FailureCause::AMBIGUOUS = 0x167,
  telux::tel::FailureCause::REQUEST_TERMINATED = 0x168, telux::tel::FailureCause::NOT_ACCEPTABLE_HERE = 0x169, telux::tel::FailureCause::REQUEST_PENDING = 0x16A, telux::tel::FailureCause::UNDECIPHERABLE = 0x16B,
  telux::tel::FailureCause::SERVER_INTERNAL_ERROR = 0x16C, telux::tel::FailureCause::NOT_IMPLEMENTED = 0x16D, telux::tel::FailureCause::BAD_GATEWAY = 0x16E, telux::tel::FailureCause::SERVER_TIME_OUT = 0x16F,
  telux::tel::FailureCause::VERSION_NOT_SUPPORTED = 0x170, telux::tel::FailureCause::MESSAGE_TOO_LARGE = 0x171, telux::tel::FailureCause::DOES_NOT_EXIST_ANYWHERE = 0x172, telux::tel::FailureCause::SESS_DESCR_NOT_ACCEPTABLE = 0x173,
  telux::tel::FailureCause::SRVCC_END_CALL = 0x174, telux::tel::FailureCause::INTERNAL_ERROR = 0x175, telux::tel::FailureCause::SERVER_UNAVAILABLE = 0x176, telux::tel::FailureCause::PRECONDITION_FAILURE = 0x177,
  telux::tel::FailureCause::DRVCC_IN_PROG = 0x178, telux::tel::FailureCause::DRVCC_END_CALL = 0x179, telux::tel::FailureCause::CS_HARD_FAILURE = 0x17A, telux::tel::FailureCause::CS_ACQ_FAILURE = 0x17B,
  telux::tel::FailureCause::REJECTED_ELSEWHERE = 0x180, telux::tel::FailureCause::CALL_PULLED = 0x181, telux::tel::FailureCause::CALL_PULL_OUT_OF_SYNC = 0x182, telux::tel::FailureCause::HOLD_RESUME_FAILED = 0x183,
  telux::tel::FailureCause::HOLD_RESUME_CANCELED = 0x184, telux::tel::FailureCause::REINVITE_COLLISION = 0x185, telux::tel::FailureCause::REDIAL_SECONDARY_LINE_CS = 0x186, telux::tel::FailureCause::REDIAL_SECONDARY_LINE_PS = 0x187,
  telux::tel::FailureCause::REDIAL_SECONDARY_LINE_CS_AUTO = 0x188, telux::tel::FailureCause::REDIAL_SECONDARY_LINE_PS_AUTO = 0x189
}
 

Detailed Description


Data Structure Documentation

class telux::tel::ISuppServicesListener

A listener class for receiving supplementary services notifications. The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.

Public Member Functions

virtual ~ISuppServicesListener ()
 Destroy the ISuppServicesListener object. More...
 
- Public Member Functions inherited from telux::common::IServiceStatusListener
virtual void onServiceStatusChange (ServiceStatus status)
 
virtual ~IServiceStatusListener ()
 

Constructor & Destructor Documentation

virtual telux::tel::ISuppServicesListener::~ISuppServicesListener ( )
virtual

Destroy the ISuppServicesListener object.

struct telux::tel::ForwardInfo

Represents parameters for forwarding.

Data Fields
SuppServicesStatus status

Status of the supplemetary service

ServiceClass serviceClass

Service class

string number

Phone number to which the call to be forwarded

uint8_t noReplyTimer

No reply timer

struct telux::tel::ForwardReq

Represents parameters required for forwarding request.

Data Fields
ForwardOperation operation

Type of operation for forwarding

ForwardReason reason

Reason for call forwarding telux::tel::ForwardReason

ServiceClass serviceClass

Service Class for operation telux::tel::ServiceClass

string number

Number to which call has to be forwarded. This parameter is required only for registration purpose only. telux::tel::ForwardOperation::REGISTER

uint8_t noReplyTimer

Timer for no reply operation. Required only for no reply forward reason. telux::tel::ForwardReason::NOREPLY.

class telux::tel::ISuppServicesManager

ISuppServicesManager is the interface to provide supplementary services like call forwarding and call waiting.

Public Member Functions

virtual telux::common::ServiceStatus getServiceStatus ()=0
 
virtual telux::common::Status setCallWaitingPref (SuppServicesStatus suppSvcStatus, SetSuppSvcPrefCallback callback=nullptr)=0
 
virtual telux::common::Status requestCallWaitingPref (GetCallWaitingPrefCb callback)=0
 
virtual telux::common::Status setForwardingPref (ForwardReq forwardReq, SetSuppSvcPrefCallback callback=nullptr)=0
 
virtual telux::common::Status requestForwardingPref (ServiceClass serviceClass, ForwardReason reason, GetForwardingPrefCb callback)=0
 
virtual telux::common::Status setOirPref (ServiceClass serviceClass, SuppServicesStatus suppSvcStatus, SetSuppSvcPrefCallback callback=nullptr)=0
 
virtual telux::common::Status requestOirPref (ServiceClass serviceClass, GetOirPrefCb callback)=0
 
virtual telux::common::Status registerListener (std::weak_ptr< ISuppServicesListener > listener)=0
 
virtual telux::common::Status removeListener (std::weak_ptr< ISuppServicesListener > listener)=0
 
virtual ~ISuppServicesManager ()
 

Constructor & Destructor Documentation

virtual telux::tel::ISuppServicesManager::~ISuppServicesManager ( )
virtual

Destructor for ISupplementaryServicesManager

Member Function Documentation

virtual telux::common::ServiceStatus telux::tel::ISuppServicesManager::getServiceStatus ( )
pure virtual

This status indicates whether the ISuppServicesManager object is in a usable state.

Returns
SERVICE_AVAILABLE - If ISuppServicesManager manager is ready for service. SERVICE_UNAVAILABLE - If ISuppServicesManager manager is temporarily unavailable. SERVICE_FAILED - If ISuppServicesManager manager encountered an irrecoverable failure.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ISuppServicesManager::setCallWaitingPref ( SuppServicesStatus  suppSvcStatus,
SetSuppSvcPrefCallback  callback = nullptr 
)
pure virtual

Enable/disable call waiting on device.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SUPP_SERVICES permissions to invoke this API successfully.

Parameters
[in]suppSvcStatus- Call waiting preference telux::tel::SuppServicesStatus.
[in]callback- Callback function to get the response of setCallWaitingPref
Returns
Status of setCallWaitingPref i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ISuppServicesManager::requestCallWaitingPref ( GetCallWaitingPrefCb  callback)
pure virtual

This API queries the preference for call waiting.

Parameters
[in]callback- Callback function to get the response of requestCallWaitingPref.
Returns
Status of requestCallWaitingPref i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ISuppServicesManager::setForwardingPref ( ForwardReq  forwardReq,
SetSuppSvcPrefCallback  callback = nullptr 
)
pure virtual

To set call forwarding preference.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SUPP_SERVICES permissions to invoke this API successfully.

Parameters
[in]forwardReq- Parameters for call forwarding operation. telux::tel::ForwardReq
[in]callback- Callback function to get response of setForwardingPref API.
Returns
Status of setForwardingPref i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ISuppServicesManager::requestForwardingPref ( ServiceClass  serviceClass,
ForwardReason  reason,
GetForwardingPrefCb  callback 
)
pure virtual

This API queries preference for call forwarding supplementary service. If active, returns for which service classes and call forwarding number it is active. It also returns the provision status of the supplemetary service. There is an option to configure for which service class the request is made, if the option is not configured it assumes that the request is made for all service classes.

Parameters
[in]serviceClass- Service class telux::tel::ServiceClass.
[in]callback- Callback function to get the response of request call forwarding preference.
Returns
Status of requestForwardingPref i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ISuppServicesManager::setOirPref ( ServiceClass  serviceClass,
SuppServicesStatus  suppSvcStatus,
SetSuppSvcPrefCallback  callback = nullptr 
)
pure virtual

Activate/Deactivate originating identification restriction preference on the device. If the OIR service was activated, the original call number will be restricted to the target when a call is dialed to a subscriber.

On platforms with access control enabled, the caller must have TELUX_TEL_SUPP_SERVICES permissions to invoke this API successfully.

Parameters
[in]serviceClass- Service class telux::tel::ServiceClass.
[in]suppSvcStatus- OIR Status telux::tel::SuppServicesStatus.
[in]callback- Callback function to get the response of setOIRPref
Returns
Status of setOirPref i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ISuppServicesManager::requestOirPref ( ServiceClass  serviceClass,
GetOirPrefCb  callback 
)
pure virtual

This API queries the originating identification restriction preference.

On platforms with access control enabled, the caller must have TELUX_TEL_SUPP_SERVICES permissions to invoke this API successfully.

Parameters
[in]serviceClass- Service class telux::tel::ServiceClass.
[in]callback- Callback function to get the response of requestOIRPref
Returns
Status of requestOirPref i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ISuppServicesManager::registerListener ( std::weak_ptr< ISuppServicesListener listener)
pure virtual

Register a listener for supplementary services events.

Parameters
[in]listenerPointer to ISuppServicesListener object that processes the notification.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
Returns
Status of registerListener i.e. success or suitable status code.
virtual telux::common::Status telux::tel::ISuppServicesManager::removeListener ( std::weak_ptr< ISuppServicesListener listener)
pure virtual

Remove a previously added listener.

Parameters
[in]listenerPointer to ISuppServicesListener object that needs to be removed.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
Returns
Status of removeListener i.e. success or suitable status code.

Typedef Documentation

using telux::tel::ServiceClass = typedef std::bitset<8>

8 bit mask that denotes which of the service class to be used. telux::tel::ServiceClassType

using telux::tel::SetSuppSvcPrefCallback = typedef std::function<void(telux::common::ErrorCode error, FailureCause failureCause)>

This function is called with the response to setCallWaitingPref and setForwardingPref APIs.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

Parameters
[in]error- Return code which indicates whether the operation succeeded or not telux::common::ErrorCode
[in]failureCause- Failure cause populated only in case of errors telux::tel::FailureCause.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
using telux::tel::GetCallWaitingPrefCb = typedef std::function<void(SuppServicesStatus suppSvcStatus, SuppSvcProvisionStatus provisionStatus, FailureCause failureCause, telux::common::ErrorCode error)>

This function is called with the response to requestCallWaitingPref API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

Parameters
[in]suppSvcStatus- Call waiting status telux::tel::SuppServicesStatus
[in]provisionStatus- Provision status telux::tel::SuppSvcProvisionStatus.
[in]failureCause- Failure cause populated only in case of errors telux::tel::FailureCause.
[in]error- Return code which indicates whether the operation succeeded or not telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
using telux::tel::GetForwardingPrefCb = typedef std::function<void(std::vector<ForwardInfo> forwardInfoList, SuppSvcProvisionStatus provisionStatus, FailureCause failureCause, telux::common::ErrorCode error)>

This function is called with the response to requestForwardingPref API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

Parameters
[in]forwardInfoList- List of forward info telux::tel::ForwardInfo. Multiple info are received when different service class are forwarded to different numbers.
[in]provisionStatus- Provision status telux::tel::SuppSvcProvisionStatus.
[in]failureCause- Returns failure cause in case the request fails.
[in]error- Return code which indicates whether the operation succeeded or not telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
using telux::tel::GetOirPrefCb = typedef std::function<void(SuppServicesStatus suppSvcStatus, SuppSvcProvisionStatus provisionStatus, FailureCause failureCause, telux::common::ErrorCode error)>

This function is called with the response to the requestOirPref API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

Parameters
[in]suppSvcStatus- OIR status telux::tel::SuppServicesStatus
[in]provisionStatus- Provision status telux::tel::SuppSvcProvisionStatus.
[in]failureCause- Returns failure cause in case the request fails.
[in]error- Return code which indicates whether the operation succeeded or not telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

Enumeration Type Documentation

Defines supplementary services status.

Enumerator
UNKNOWN 

Supplementary service status unknown

ENABLED 

Supplementary service is enabled

DISABLED 

Supplementary service is disabled

Defines supplementary services provision status.

Enumerator
UNKNOWN 

Supplementary service provision status unknown

NOT_PROVISIONED 

Supplementary service is not provisioned

PROVISIONED 

Supplementary service is provisioned

PRESENTATION_RESTRICTED 

Supplementary service is presentation restricted

PRESENTATION_ALLOWED 

Supplementary service is presentation allowed

Defines call forwarding operation.

Enumerator
UNKNOWN 

Status unknown

ACTIVATE 

To activate call forwarding

DEACTIVATE 

To deactivate call forwarding

REGISTER 

To register for call forwarding

ERASE 

To erase the previous registration

Defines reasons for call forwarding.

Enumerator
UNCONDITIONAL 

Unconditional call forwarding

BUSY 

Forward when the device is busy on another call

NOREPLY 

Forward when there is no reply

NOT_REACHABLE 

Forward when the device is unreachable

NOT_LOGGED_IN 

Forward when the device is not logged in

Defines service class for telephony

Enumerator
NONE 

Service class not provided

VOICE 

Service class voice

Represents the cause for supplementary services failure.

Enumerator
UNAVAILABLE 
OFFLINE 
CDMA_LOCK 
NO_SRV 
FADE 
INTERCEPT 
REORDER 
REL_NORMAL 
REL_SO_REJ 
INCOM_CALL 
ALERT_STOP 
CLIENT_END 
ACTIVATION 
MC_ABORT 
MAX_ACCESS_PROBE 
PSIST_N 
UIM_NOT_PRESENT 
ACC_IN_PROG 
ACC_FAIL 
RETRY_ORDER 
CCS_NOT_SUPPORTED_BY_BS 
NO_RESPONSE_FROM_BS 
REJECTED_BY_BS 
INCOMPATIBLE 
ACCESS_BLOCK 
ALREADY_IN_TC 
EMERGENCY_FLASHED 
USER_CALL_ORIG_DURING_GPS 
USER_CALL_ORIG_DURING_SMS 
USER_CALL_ORIG_DURING_DATA 
REDIR_OR_HANDOFF 
ACCESS_BLOCK_ALL 
OTASP_SPC_ERR 
IS707B_MAX_ACC 
ACC_FAIL_REJ_ORD 
ACC_FAIL_RETRY_ORD 
TIMEOUT_T42 
TIMEOUT_T40 
SRV_INIT_FAIL 
T50_EXP 
T51_EXP 
RL_ACK_TIMEOUT 
BAD_FL 
TRM_REQ_FAIL 
TIMEOUT_T41 
INCOM_REJ 
SETUP_REJ 
NETWORK_END 
NO_FUNDS 
NO_GW_SRV 
NO_CDMA_SRV 
NO_FULL_SRV 
MAX_PS_CALLS 
UNKNOWN_SUBSCRIBER 
ILLEGAL_SUBSCRIBER 
BEARER_SERVICE_NOT_PROVISIONED 
TELE_SERVICE_NOT_PROVISIONED 
ILLEGAL_EQUIPMENT 
CALL_BARRED 
ILLEGAL_SS_OPERATION 
SS_ERROR_STATUS 
SS_NOT_AVAILABLE 
SS_SUBSCRIPTION_VIOLATION 
SS_INCOMPATIBILITY 
FACILITY_NOT_SUPPORTED 
ABSENT_SUBSCRIBER 
SHORT_TERM_DENIAL 
LONG_TERM_DENIAL 
SYSTEM_FAILURE 
DATA_MISSING 
UNEXPECTED_DATA_VALUE 
PWD_REGISTRATION_FAILURE 
NEGATIVE_PWD_CHECK 
NUM_OF_PWD_ATTEMPTS_VIOLATION 
POSITION_METHOD_FAILURE 
UNKNOWN_ALPHABET 
USSD_BUSY 
REJECTED_BY_USER 
REJECTED_BY_NETWORK 
DEFLECTION_TO_SERVED_SUBSCRIBER 
SPECIAL_SERVICE_CODE 
INVALID_DEFLECTED_TO_NUMBER 
MPTY_PARTICIPANTS_EXCEEDED 
RESOURCES_NOT_AVAILABLE 
UNASSIGNED_NUMBER 
NO_ROUTE_TO_DESTINATION 
CHANNEL_UNACCEPTABLE 
OPERATOR_DETERMINED_BARRING 
NORMAL_CALL_CLEARING 
USER_BUSY 
NO_USER_RESPONDING 
USER_ALERTING_NO_ANSWER 
CALL_REJECTED 
NUMBER_CHANGED 
PREEMPTION 
DESTINATION_OUT_OF_ORDER 
INVALID_NUMBER_FORMAT 
FACILITY_REJECTED 
RESP_TO_STATUS_ENQUIRY 
NORMAL_UNSPECIFIED 
NO_CIRCUIT_OR_CHANNEL_AVAILABLE 
NETWORK_OUT_OF_ORDER 
TEMPORARY_FAILURE 
SWITCHING_EQUIPMENT_CONGESTION 
ACCESS_INFORMATION_DISCARDED 
REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE 
RESOURCES_UNAVAILABLE_OR_UNSPECIFIED 
QOS_UNAVAILABLE 
REQUESTED_FACILITY_NOT_SUBSCRIBED 
INCOMING_CALLS_BARRED_WITHIN_CUG 
BEARER_CAPABILITY_NOT_AUTH 
BEARER_CAPABILITY_UNAVAILABLE 
SERVICE_OPTION_NOT_AVAILABLE 
ACM_LIMIT_EXCEEDED 
BEARER_SERVICE_NOT_IMPLEMENTED 
REQUESTED_FACILITY_NOT_IMPLEMENTED 
ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE 
SERVICE_OR_OPTION_NOT_IMPLEMENTED 
INVALID_TRANSACTION_IDENTIFIER 
USER_NOT_MEMBER_OF_CUG 
INCOMPATIBLE_DESTINATION 
INVALID_TRANSIT_NW_SELECTION 
SEMANTICALLY_INCORRECT_MESSAGE 
INVALID_MANDATORY_INFORMATION 
MESSAGE_TYPE_NON_IMPLEMENTED 
MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 
INFORMATION_ELEMENT_NON_EXISTENT 
CONDITONAL_IE_ERROR 
MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 
RECOVERY_ON_TIMER_EXPIRED 
PROTOCOL_ERROR_UNSPECIFIED 
INTERWORKING_UNSPECIFIED 
OUTGOING_CALLS_BARRED_WITHIN_CUG 
NO_CUG_SELECTION 
UNKNOWN_CUG_INDEX 
CUG_INDEX_INCOMPATIBLE 
CUG_CALL_FAILURE_UNSPECIFIED 
CLIR_NOT_SUBSCRIBED 
CCBS_POSSIBLE 
CCBS_NOT_POSSIBLE 
IMSI_UNKNOWN_IN_HLR 
ILLEGAL_MS 
IMSI_UNKNOWN_IN_VLR 
IMEI_NOT_ACCEPTED 
ILLEGAL_ME 
PLMN_NOT_ALLOWED 
LOCATION_AREA_NOT_ALLOWED 
ROAMING_NOT_ALLOWED_IN_THIS_LOCATION_AREA 
NO_SUITABLE_CELLS_IN_LOCATION_AREA 
NETWORK_FAILURE 
MAC_FAILURE 
SYNCH_FAILURE 
NETWORK_CONGESTION 
GSM_AUTHENTICATION_UNACCEPTABLE 
SERVICE_NOT_SUBSCRIBED 
SERVICE_TEMPORARILY_OUT_OF_ORDER 
CALL_CANNOT_BE_IDENTIFIED 
INCORRECT_SEMANTICS_IN_MESSAGE 
MANDATORY_INFORMATION_INVALID 
ACCESS_STRATUM_FAILURE 
INVALID_SIM 
WRONG_STATE 
ACCESS_CLASS_BLOCKED 
NO_RESOURCES 
INVALID_USER_DATA 
TIMER_T3230_EXPIRED 
NO_CELL_AVAILABLE 
ABORT_MSG_RECEIVED 
RADIO_LINK_LOST 
TIMER_T303_EXPIRED 
CNM_MM_REL_PENDING 
ACCESS_STRATUM_REJ_RR_REL_IND 
ACCESS_STRATUM_REJ_RR_RANDOM_ACCESS_FAILURE 
ACCESS_STRATUM_REJ_RRC_REL_IND 
ACCESS_STRATUM_REJ_RRC_CLOSE_SESSION_IND 
ACCESS_STRATUM_REJ_RRC_OPEN_SESSION_FAILURE 
ACCESS_STRATUM_REJ_LOW_LEVEL_FAIL 
ACCESS_STRATUM_REJ_LOW_LEVEL_FAIL_REDIAL_NOT_ALLOWED 
ACCESS_STRATUM_REJ_LOW_LEVEL_IMMED_RETRY 
ACCESS_STRATUM_REJ_ABORT_RADIO_UNAVAILABLE 
SERVICE_OPTION_NOT_SUPPORTED 
ACCESS_STRATUM_REJ_CONN_EST_FAILURE_ACCESS_BARRED 
ACCESS_STRATUM_REJ_CONN_REL_NORMAL 
ACCESS_STRATUM_REJ_UL_DATA_CNF_FAILURE_CONN_REL 
BAD_REQ_WAIT_INVITE 
BAD_REQ_WAIT_REINVITE 
INVALID_REMOTE_URI 
REMOTE_UNSUPP_MEDIA_TYPE 
PEER_NOT_REACHABLE 
NETWORK_NO_RESP_TIME_OUT 
NETWORK_NO_RESP_HOLD_FAIL 
DATA_CONNECTION_LOST 
UPGRADE_DOWNGRADE_REJ 
SIP_403_FORBIDDEN 
NO_NETWORK_RESP 
UPGRADE_DOWNGRADE_FAILED 
UPGRADE_DOWNGRADE_CANCELLED 
SSAC_REJECT 
THERMAL_EMERGENCY 
FAILURE_1XCSFB_SOFT 
FAILURE_1XCSFB_HARD 
CONNECTION_EST_FAILURE 
CONNECTION_FAILURE 
RRC_CONN_REL_NO_MT_SETUP 
ESR_FAILURE 
MT_CSFB_NO_RESPONSE_FROM_NW 
BUSY_EVERYWHERE 
ANSWERED_ELSEWHERE 
RLF_DURING_CC_DISCONNECT 
TEMP_REDIAL_ALLOWED 
PERM_REDIAL_NOT_NEEDED 
MERGED_TO_CONFERENCE 
LOW_BATTERY 
CALL_DEFLECTED 
RTP_RTCP_TIMEOUT 
RINGING_RINGBACK_TIMEOUT 
REG_RESTORATION 
CODEC_ERROR 
UNSUPPORTED_SDP 
RTP_FAILURE 
QoS_FAILURE 
MULTIPLE_CHOICES 
MOVED_PERMANENTLY 
MOVED_TEMPORARILY 
USE_PROXY 
ALTERNATE_SERVICE 
ALTERNATE_EMERGENCY_CALL 
UNAUTHORIZED 
PAYMENT_REQUIRED 
METHOD_NOT_ALLOWED 
NOT_ACCEPTABLE 
PROXY_AUTHENTICATION_REQUIRED 
GONE 
REQUEST_ENTITY_TOO_LARGE 
REQUEST_URI_TOO_LARGE 
UNSUPPORTED_URI_SCHEME 
BAD_EXTENSION 
EXTENSION_REQUIRED 
INTERVAL_TOO_BRIEF 
CALL_OR_TRANS_DOES_NOT_EXIST 
LOOP_DETECTED 
TOO_MANY_HOPS 
ADDRESS_INCOMPLETE 
AMBIGUOUS 
REQUEST_TERMINATED 
NOT_ACCEPTABLE_HERE 
REQUEST_PENDING 
UNDECIPHERABLE 
SERVER_INTERNAL_ERROR 
NOT_IMPLEMENTED 
BAD_GATEWAY 
SERVER_TIME_OUT 
VERSION_NOT_SUPPORTED 
MESSAGE_TOO_LARGE 
DOES_NOT_EXIST_ANYWHERE 
SESS_DESCR_NOT_ACCEPTABLE 
SRVCC_END_CALL 
INTERNAL_ERROR 
SERVER_UNAVAILABLE 
PRECONDITION_FAILURE 
DRVCC_IN_PROG 
DRVCC_END_CALL 
CS_HARD_FAILURE 
CS_ACQ_FAILURE 
REJECTED_ELSEWHERE 
CALL_PULLED 
CALL_PULL_OUT_OF_SYNC 
HOLD_RESUME_FAILED 
HOLD_RESUME_CANCELED 
REINVITE_COLLISION 
REDIAL_SECONDARY_LINE_CS 
REDIAL_SECONDARY_LINE_PS 
REDIAL_SECONDARY_LINE_CS_AUTO 
REDIAL_SECONDARY_LINE_PS_AUTO