10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2008 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony.cdma.sms; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.cdma.sms.CdmaSmsSubaddress; 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic final class SmsEnvelope { 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message Types 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B 3.4.1) 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int MESSAGE_TYPE_POINT_TO_POINT = 0x00; 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int MESSAGE_TYPE_BROADCAST = 0x01; 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int MESSAGE_TYPE_ACKNOWLEDGE = 0x02; 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Supported Teleservices 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 N.S0005 and TIA-41) 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int TELESERVICE_NOT_SET = 0x0000; 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int TELESERVICE_WMT = 0x1002; 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int TELESERVICE_VMN = 0x1003; 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int TELESERVICE_WAP = 0x1004; 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int TELESERVICE_WEMT = 0x1005; 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int TELESERVICE_SCPT = 0x1006; 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The following are defined as extensions to the standard teleservices 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Voice mail notification through Message Waiting Indication in CDMA mode or Analog mode. 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Defined in 3GPP2 C.S-0005, 3.7.5.6, an Info Record containing an 8-bit number with the 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // number of messages waiting, it's used by some CDMA carriers for a voice mail count. 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static public final int TELESERVICE_MWI = 0x40000; 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Service Categories for Cell Broadcast, see 3GPP2 C.R1001 table 9.3.1-1 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // static final int SERVICE_CATEGORY_EMERGENCY = 0x0001; 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville //... 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // CMAS alert service category assignments, see 3GPP2 C.R1001 table 9.3.3-1 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 0x1000; 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SERVICE_CATEGORY_CMAS_EXTREME_THREAT = 0x1001; 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SERVICE_CATEGORY_CMAS_SEVERE_THREAT = 0x1002; 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 0x1003; 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SERVICE_CATEGORY_CMAS_TEST_MESSAGE = 0x1004; 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SERVICE_CATEGORY_CMAS_LAST_RESERVED_VALUE = 0x10ff; 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Provides the type of a SMS message like point to point, broadcast or acknowledge 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int messageType; 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The 16-bit Teleservice parameter identifies which upper layer service access point is sending 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * or receiving the message. 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.1) 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int teleService = TELESERVICE_NOT_SET; 730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The 16-bit service category parameter identifies the type of service provided 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * by the SMS message. 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.2) 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int serviceCategory; 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The origination address identifies the originator of the SMS message. 830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.3) 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public CdmaSmsAddress origAddress; 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The destination address identifies the target of the SMS message. 890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.3) 900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public CdmaSmsAddress destAddress; 920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The origination subaddress identifies the originator of the SMS message. 950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.4) 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public CdmaSmsSubaddress origSubaddress; 980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The 6-bit bearer reply parameter is used to request the return of a 1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * SMS Acknowledge Message. 1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.5) 1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int bearerReply; 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Cause Code values: 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The cause code parameters are an indication whether an SMS error has occurred and if so, 1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * whether the condition is considered temporary or permanent. 1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ReplySeqNo 6-bit value, 1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ErrorClass 2-bit value, 1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CauseCode 0-bit or 8-bit value 1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.6) 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public byte replySeqNo; 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public byte errorClass; 1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public byte causeCode; 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * encoded bearer data 1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (See 3GPP2 C.S0015-B, v2, 3.4.3.7) 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public byte[] bearerData; 1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public SmsEnvelope() { 1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // nothing to see here 1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 131