/* * TeleStax, Open Source Cloud Communications * Copyright 2012, Telestax Inc and individual contributors * by the @authors tag. See the copyright.txt in the distribution for a * full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.mobicents.protocols.ss7.cap.api.dialog; /** * CAP-U-ABORT-REASON * * CAP-U-ABORT-REASON ::= ENUMERATED { no-reason-given (1), application-timer-expired (2), not-allowed-procedures (3), * abnormal-processing (4), congestion (5), invalid-reference (6), missing-reference (7), overlapping-dialogue (8) } -- * application-timer-expired shall be set when application timer (e.g. Tssf) is expired. -- not-allowed-procedures shall be set * when received signal is not allowed in CAP -- procedures. -- For example, when a class 4 operation is received from the -- * gsmSCF and the operation is not allowed in gsmSSF FSM. -- (gsmSSF FSM cannot continue state transition). (e.g. ReleaseCall -- * operation received in Waiting for End of Temporary Connection -- state.) -- abnormal-processing shall be set when abnormal * procedures occur at entity action. -- congestion shall be set when requested resource is unavailable due to -- congestion at * TC user (CAP) level. -- invalid-reference shall be set if the received destinationReference is unknown or -- for a known * destination Reference the received originationReference -- does not match with the stored originationReference. -- This abort * reason is used for CAP defined GPRS-ReferenceNumber. -- missing-reference shall be set when the destinationReference or the * -- originationReference is absent in the received message but is -- required to be present according to the procedures in -- * subclause 14.1.7. -- This abort reason is used for CAP defined GPRS-ReferenceNumber. -- overlapping-dialogue shall be used by * the gprsSSF to indicate to the gsmSCF that a -- specific instance already has a TC dialogue open. This error -- cause is * typically obtained when both the gsmSCF and gprsSSF -- open a new dialogue at the same time. -- no-reason-given shall be set * when any other reasons above do not apply END - of CAP-U-ABORT-Data * * @author sergey vetyutnev * */ public enum CAPUserAbortReason { /** * shall be set when any other reasons above do not apply */ no_reason_given(1), /** * shall be set when application timer (e.g. Tssf) is expired. */ application_timer_expired(2), /** * shall be set when received signal is not allowed in CAP procedures. For example, when a class 4 operation is received * from the gsmSCF and the operation is not allowed in gsmSSF FSM. (gsmSSF FSM cannot continue state transition). (e.g. * ReleaseCall operation received in Waiting for End of Temporary Connection state.) */ not_allowed_procedures(3), /** * shall be set when abnormal procedures occur at entity action. */ abnormal_processing(4), /** * shall be set when requested resource is unavailable due to congestion at TC user (CAP) level. */ congestion(5), /** * shall be set if the received destinationReference is unknown or for a known destination Reference the received * originationReference does not match with the stored originationReference. */ invalid_reference(6), /** * shall be set when the destinationReference or the originationReference is absent in the received message but is required * to be present according to the procedures in subclause 14.1.7. */ missing_reference(7), /** * shall be used by the gprsSSF to indicate to the gsmSCF that a specific instance already has a TC dialogue open. This * error cause is typically obtained when both the gsmSCF and gprsSSF open a new dialogue at the same time. */ overlapping_dialogue(8); private int code; private CAPUserAbortReason(int code) { this.code = code; } public static CAPUserAbortReason getInstance(int code) { switch (code) { case 1: return CAPUserAbortReason.no_reason_given; case 2: return CAPUserAbortReason.application_timer_expired; case 3: return CAPUserAbortReason.not_allowed_procedures; case 4: return CAPUserAbortReason.abnormal_processing; case 5: return CAPUserAbortReason.congestion; case 6: return CAPUserAbortReason.invalid_reference; case 7: return CAPUserAbortReason.missing_reference; case 8: return CAPUserAbortReason.overlapping_dialogue; } return no_reason_given; } public int getCode() { return code; } }