/* * TeleStax, Open Source Cloud Communications Copyright 2012. * 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.map.api.service.mobility.subscriberManagement; /** * * <pre> * -- The cause value is divided in to two fields, a class (bits 5 through 7) * -- and a value within the class (bits 1 through4). The class indicates * -- the general nature of the event. * * -- ex: _______________________________________________________________________ * -- | Class | value within | decimal | | * -- | | the class | value | Description | * -- |_______|_______________|__________|____________________________________| * -- | 000 | 0001 | 1 | UnallocatedOrUnassignedNumber | * -- |_______|_______________|_________ |____________________________________| * -- * -- For the use of cause value refer to ITU-T Recommendation Q.850. * </pre> * * * @author Lasith Waruna Perera * */ public enum CauseValueCodeValue { /* 000 0001 1 */UnallocatedOrUnassignedNumber(0x01), /* 000 0010 2 */NoRouteToSpecifiedTransitNetwork(0x02), /* 000 0011 3 */NoRouteToDestination(0x03), /* 000 0100 4 */SendSpecialInformationTone(0x04), /* 000 0101 5 */MisdialledTrunkPrefix(0x05), /* 000 0110 6 */ChannelUnacceptable(0x06), /* 000 0111 7 */CallAwardedAndBeingDeliveredInAnEstablished(0x07), /* 000 1000 8 */PreemptionDSS(0x08), /* 000 1001 9 */PreemptionCircuitReservedForReuse(0x09), /* 001 0000 16 */NormalCallClearing(0x10), /* 001 0001 17 */UserBusyCCBSIndicator(0x11), /* 001 0010 18 */NoUserResponding(0x12), /* 001 0011 19 */NoAnswerFromUser(0x13), /* 001 0100 20 */SubscriberAbsent(0x14), /* 001 0101 21 */CallRejected(0x15), /* 001 0110 22 */NumberChangedNewdestination(0x16), /* 001 0111 23 */RedirectionToNewDestination(0x17), /* 001 1001 25 */ExchangeRoutingError(0x19), /* 001 1010 26 */NonSelectedUserClearing(0x1A), /* 001 1011 27 */DestinationOutOfOrder(0x1B), /* 001 1100 28 */InvalidNumberFormat(0x1C), /* 001 1101 29 */FacilityRejected(0x1D), /* 001 1110 30 */ResponseToSTATUS_ENQUIRY(0x1E), /* 001 1111 31 */NormalUnspecified(0x1F), /* 010 0010 34 */NoCircuitOrChannelAvailable(0x22), /* 010 0110 38 */NetworkOutOfOrder(0x26), /* 010 0111 39 */PermanentFrameModeConnection(0x27), /* 010 1000 40 */PermanentFrameModeConnectionOperational(0x28), /* 010 1001 41 */TemporaryFailure(0x29), /* 010 1010 42 */SwitchingEquipmentCongestion(0x2A), /* 010 1011 43 */AccessInformationDiscarded(0x2B), /* 010 1100 44 */RequestedCircuitChannelNotAvailable(0x2C), /* 010 1110 46 */PrecedenceCallBlocked(0x2E), /* 010 1111 47 */ResourceUnavailableUnspecified(0x2F), /* 011 0001 49 */QualityOfServiceNotAvailable(0x31), /* 011 0010 50 */RequestedFacilityNotSubscribed(0x32), /* 011 0101 53 */OutgoingCallsBarred(0x35), /* 011 0111 55 */IncomingCallsBarred(0x37), /* 011 1001 57 */BearerCapabilityNotAuthorized(0x39), /* 011 1010 58 */BearerCapabilityNotPresentlyAvailable(0x3A), /* 011 1110 62 */InconsistencyInDesignatedOutgoingAccessInformation(0x3E), /* 011 1111 63 */ServiceOrOptionNotAvailable(0x3F), /* 100 0001 65 */BearerCapabilityNotImplemented(0x41), /* 100 0010 66 */ChannelTypeNotImplemented(0x42), /* 100 0101 69 */RequestedFacilityNotImplemented(0x45), /* 100 0110 70 */OnlyRestrictedDigitalInformationBearerCapabilityIsAvailable(0x46), /* 100 1111 79 */ServiceOrOptionNotImplemented(0x4F), /* 101 0001 81 */InvalidCallReferenceValue(0x51), /* 101 0010 82 */IdentifiedChannelDoesNotExist(0x52), /* 101 0011 83 */ASuspendedCallExists(0x53), /* 101 0100 84 */CallIdentityInUse(0x54), /* 101 0101 85 */NoCallSuspended(0x55), /* 101 0110 86 */CallHavingTheRequestedCallIdentityHasBeenCleared(0x56), /* 101 0111 87 */UserNotMemberOfCUG(0x57), /* 101 1000 88 */IncompatibleDestinationIncompatibleParameter(0x58), /* 101 1010 90 */NonExistentCUG(0x5A), /* 101 1011 91 */InvalidTransitNetworkSelection(0x5B), /* 101 1111 95 */InvalidMessageUnspecified(0x5F), /* 110 0000 96 */MandatoryInformationElementIsMissing(0x60), /* 110 0001 97 */MessageTypeNonExistentOrNotImplemented(0x61), /* 110 0010 98 */MessageNotCompatibleWithCallStateOrMessageType(0x62), /* 110 0011 99 */InformationElementOrParameterNonexistentOrNotImplemented(0x63), /* 110 0100 100 */InvalidInformationElementContents(0x64), /* 110 0101 101 */MessageNotCompatibleWithCallState(0x65), /* 110 0110 102 */RecoveryOnTimer(0x66), /* 110 0111 103 */ParameterNonExistentOrNotImplemented(0x67), /* 110 1110 110 */MessageWithUnrecognizedParameter(0x6E), /* 110 1111 111 */ProtocolErrorUnspecified(0x6F), /* 111 1111 127 */InterworkingUnspecified(0x7F); private int code; private CauseValueCodeValue(int code) { this.code = code; } public int getCode() { return this.code; } public static CauseValueCodeValue getInstance(int code) { switch (code) { case 0x01: return UnallocatedOrUnassignedNumber; case 0x02: return NoRouteToSpecifiedTransitNetwork; case 0x03: return NoRouteToDestination; case 0x04: return SendSpecialInformationTone; case 0x05: return MisdialledTrunkPrefix; case 0x06: return ChannelUnacceptable; case 0x07: return CallAwardedAndBeingDeliveredInAnEstablished; case 0x08: return PreemptionDSS; case 0x09: return PreemptionCircuitReservedForReuse; case 0x10: return NormalCallClearing; case 0x11: return UserBusyCCBSIndicator; case 0x12: return NoUserResponding; case 0x13: return NoAnswerFromUser; case 0x14: return SubscriberAbsent; case 0x15: return CallRejected; case 0x16: return NumberChangedNewdestination; case 0x17: return RedirectionToNewDestination; case 0x19: return ExchangeRoutingError; case 0x1A: return NonSelectedUserClearing; case 0x1B: return DestinationOutOfOrder; case 0x1C: return InvalidNumberFormat; case 0x1D: return FacilityRejected; case 0x1E: return ResponseToSTATUS_ENQUIRY; case 0x1F: return NormalUnspecified; case 0x22: return NoCircuitOrChannelAvailable; case 0x26: return NetworkOutOfOrder; case 0x27: return PermanentFrameModeConnection; case 0x28: return PermanentFrameModeConnectionOperational; case 0x29: return TemporaryFailure; case 0x2A: return SwitchingEquipmentCongestion; case 0x2B: return AccessInformationDiscarded; case 0x2C: return RequestedCircuitChannelNotAvailable; case 0x2E: return PrecedenceCallBlocked; case 0x2F: return ResourceUnavailableUnspecified; case 0x31: return QualityOfServiceNotAvailable; case 0x32: return RequestedFacilityNotSubscribed; case 0x35: return OutgoingCallsBarred; case 0x37: return IncomingCallsBarred; case 0x39: return BearerCapabilityNotAuthorized; case 0x3A: return BearerCapabilityNotPresentlyAvailable; case 0x3E: return InconsistencyInDesignatedOutgoingAccessInformation; case 0x3F: return ServiceOrOptionNotAvailable; case 0x41: return BearerCapabilityNotImplemented; case 0x42: return ChannelTypeNotImplemented; case 0x45: return RequestedFacilityNotImplemented; case 0x46: return OnlyRestrictedDigitalInformationBearerCapabilityIsAvailable; case 0x4F: return ServiceOrOptionNotImplemented; case 0x51: return InvalidCallReferenceValue; case 0x52: return IdentifiedChannelDoesNotExist; case 0x53: return ASuspendedCallExists; case 0x54: return CallIdentityInUse; case 0x55: return NoCallSuspended; case 0x56: return CallHavingTheRequestedCallIdentityHasBeenCleared; case 0x57: return UserNotMemberOfCUG; case 0x58: return IncompatibleDestinationIncompatibleParameter; case 0x5A: return NonExistentCUG; case 0x5B: return InvalidTransitNetworkSelection; case 0x5F: return InvalidMessageUnspecified; case 0x60: return MandatoryInformationElementIsMissing; case 0x61: return MessageTypeNonExistentOrNotImplemented; case 0x62: return MessageNotCompatibleWithCallStateOrMessageType; case 0x63: return InformationElementOrParameterNonexistentOrNotImplemented; case 0x64: return InvalidInformationElementContents; case 0x65: return MessageNotCompatibleWithCallState; case 0x66: return RecoveryOnTimer; case 0x67: return ParameterNonExistentOrNotImplemented; case 0x6E: return MessageWithUnrecognizedParameter; case 0x6F: return ProtocolErrorUnspecified; case 0x7F: return InterworkingUnspecified; default: return null; } } }