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