14980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen/* 24980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Copyright (C) 2008 The Android Open Source Project 34980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * 44980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Licensed under the Apache License, Version 2.0 (the "License"); 54980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * you may not use this file except in compliance with the License. 64980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * You may obtain a copy of the License at 74980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * 84980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * http://www.apache.org/licenses/LICENSE-2.0 94980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * 104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Unless required by applicable law or agreed to in writing, software 114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * distributed under the License is distributed on an "AS IS" BASIS, 124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * See the License for the specific language governing permissions and 144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * limitations under the License. 154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenpackage com.android.internal.telephony.cdma.sms; 184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport com.android.internal.telephony.cdma.sms.CdmaSmsSubaddress; 214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenpublic final class SmsEnvelope { 234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Message Types 254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B 3.4.1) 264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int MESSAGE_TYPE_POINT_TO_POINT = 0x00; 284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int MESSAGE_TYPE_BROADCAST = 0x01; 294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int MESSAGE_TYPE_ACKNOWLEDGE = 0x02; 304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Supported Teleservices 334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 N.S0005 and TIA-41) 344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int TELESERVICE_NOT_SET = 0x0000; 364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int TELESERVICE_WMT = 0x1002; 374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int TELESERVICE_VMN = 0x1003; 384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int TELESERVICE_WAP = 0x1004; 394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int TELESERVICE_WEMT = 0x1005; 404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int TELESERVICE_SCPT = 0x1006; 414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The following are defined as extensions to the standard teleservices 444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen // Voice mail notification through Message Waiting Indication in CDMA mode or Analog mode. 464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen // Defined in 3GPP2 C.S-0005, 3.7.5.6, an Info Record containing an 8-bit number with the 474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen // number of messages waiting, it's used by some CDMA carriers for a voice mail count. 484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen static public final int TELESERVICE_MWI = 0x40000; 494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen // Service Categories for Cell Broadcast, see 3GPP2 C.R1001 table 9.3.1-1 514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen // static final int SERVICE_CATEGORY_EMERGENCY = 0x0001; 524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen //... 534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen // CMAS alert service category assignments, see 3GPP2 C.R1001 table 9.3.3-1 554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public static final int SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 0x1000; 564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public static final int SERVICE_CATEGORY_CMAS_EXTREME_THREAT = 0x1001; 574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public static final int SERVICE_CATEGORY_CMAS_SEVERE_THREAT = 0x1002; 584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public static final int SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 0x1003; 594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public static final int SERVICE_CATEGORY_CMAS_TEST_MESSAGE = 0x1004; 604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public static final int SERVICE_CATEGORY_CMAS_LAST_RESERVED_VALUE = 0x10ff; 614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Provides the type of a SMS message like point to point, broadcast or acknowledge 644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public int messageType; 664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The 16-bit Teleservice parameter identifies which upper layer service access point is sending 694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * or receiving the message. 704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.1) 714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public int teleService = TELESERVICE_NOT_SET; 734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The 16-bit service category parameter identifies the type of service provided 764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * by the SMS message. 774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.2) 784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public int serviceCategory; 804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The origination address identifies the originator of the SMS message. 834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.3) 844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public CdmaSmsAddress origAddress; 864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The destination address identifies the target of the SMS message. 894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.3) 904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public CdmaSmsAddress destAddress; 924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The origination subaddress identifies the originator of the SMS message. 954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.4) 964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public CdmaSmsSubaddress origSubaddress; 984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 1004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The 6-bit bearer reply parameter is used to request the return of a 1014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * SMS Acknowledge Message. 1024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.5) 1034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 1044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public int bearerReply; 1054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 1064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 1074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Cause Code values: 1084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The cause code parameters are an indication whether an SMS error has occurred and if so, 1094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * whether the condition is considered temporary or permanent. 1104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * ReplySeqNo 6-bit value, 1114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * ErrorClass 2-bit value, 1124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * CauseCode 0-bit or 8-bit value 1134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.6) 1144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 1154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public byte replySeqNo; 1164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public byte errorClass; 1174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public byte causeCode; 1184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 1194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen /** 1204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * encoded bearer data 1214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (See 3GPP2 C.S0015-B, v2, 3.4.3.7) 1224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */ 1234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public byte[] bearerData; 1244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 1254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen public SmsEnvelope() { 1264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen // nothing to see here 1274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen } 1284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 1294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen} 1304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen 131