/*
* 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.supplementary;
/**
*
* @author sergey vetyutnev
*
*/
public enum SupplementaryCodeValue {
/**
* all SS
*/
allSS(0),
/**
* all line identification SS
*/
allLineIdentificationSS(0x10),
/**
* calling line identification presentation
*/
clip(0x11),
/**
* calling line identification restriction
*/
clir(0x12),
/**
* connected line identification presentation
*/
colp(0x13),
/**
* connected line identification restriction
*/
colr(0x14),
/**
* malicious call identification
*/
mci(0x15),
/**
* all name identification SS
*/
allNameIdentificationSS(0x18),
/**
* calling name presentation
*/
cnap(0x19),
/**
* all forwarding SS
*/
allForwardingSS(0x20),
/**
* call forwarding unconditional
*/
cfu(0x21),
/**
* all conditional forwarding SS
*/
allCondForwardingSS(0x28),
/**
* call forwarding busy
*/
cfb(0x29),
/**
* call forwarding on no reply
*/
cfnry(0x2a),
/**
* call forwarding on mobile subscriber not reachable
*/
cfnrc(0x2b),
/**
* call deflection
*/
cd(0x24),
/**
* all call offering SS includes also all forwarding SS
*/
allCallOfferingSS(0x30),
/**
* explicit call transfer
*/
ect(0x31),
/**
* mobile access hunting
*/
mah(0x32),
/**
* all Call completion SS
*/
allCallCompletionSS(0x40),
/**
* call waiting
*/
cw(0x41),
/**
* call hold
*/
hold(0x42),
/**
* completion of call to busy subscribers, originating side
*/
ccbs_A(0x43),
/**
* completion of call to busy subscribers, destination side
*/
ccbs_B(0x44),
/**
* multicall
*/
mc(0x45),
/**
* all multiparty SS
*/
allMultiPartySS(0x50),
/**
* multiparty
*/
multiPTY(0x51),
/**
* all community of interest SS
*/
allCommunityOfInterestSS(0x60),
/**
* closed user group
*/
cug(0x61),
/**
* all charging SS
*/
allChargingSS(0x70),
/**
* advice of charge information
*/
aoci(0x71),
/**
* advice of charge charging
*/
aocc(0x72),
/**
* all additional information transfer SS
*/
allAdditionalInfoTransferSS(0x80),
/**
* UUS1 user-to-user signalling
*/
uus1(0x81),
/**
* UUS2 user-to-user signalling
*/
uus2(0x82),
/**
* UUS3 user-to-user signalling
*/
uus3(0x83),
/**
* all Callrestriction SS
*/
allCallRestrictionSS(0x90), barringOfOutgoingCalls(0x91),
/**
* barring of all outgoing calls
*/
baoc(0x92),
/**
* barring of outgoing international calls
*/
boic(0x93),
/**
* barring of outgoing international calls except those directed to the home
* PLMN
*/
boicExHC(0x94), barringOfIncomingCalls(0x99),
/**
* barring of all incoming calls
*/
baic(0x9a),
/**
* barring of incoming calls when roaming outside home PLMN Country
*/
bicRoam(0x9b), allPLMN_specificSS(0xf0),
/**
* all call priority SS
*/
allCallPrioritySS(0xa0),
/**
* enhanced Multilevel Precedence Pre-emption (EMLPP) service
*/
emlpp(0xa1),
/**
* all LCS Privacy Exception Classes
*/
allLCSPrivacyException(0xb0),
/**
* allow location by any LCS client
*/
universal(0xb1),
/**
* allow location by any value added LCS client to which a call is
* established from the target MS
*/
callrelated(0xb2),
/**
* allow location by designated external value added LCS clients
*/
callunrelated(0xb3),
/**
* allow location by designated PLMN operator LCS clients
*/
plmnoperator(0xb4),
/**
* allow location by LCS clients of a designated LCS service type
*/
serviceType(0xb5),
/**
* all Mobile Originating Location Request Classes
*/
allMOLR_SS(0xC0),
/**
* allow an MS to request its own location
*/
basicSelfLocation(0xC1),
/**
* allow an MS to perform self location without interaction with the PLMN
* for a predetermined period of time
*/
autonomousSelfLocation(0xC2),
/**
* allow an MS to request transfer of its location to another LCS client
*/
transferToThirdParty(0xc3),
/**
* plmn-specificSS-1
*/
plmn_specificSS_1(0xf1),
/**
* plmn-specificSS-2
*/
plmn_specificSS_2(0xf2),
/**
* plmn-specificSS-3
*/
plmn_specificSS_3(0xf3),
/**
* plmn-specificSS-4
*/
plmn_specificSS_4(0xf4),
/**
* plmn-specificSS-5
*/
plmn_specificSS_5(0xf5),
/**
* plmn-specificSS-6
*/
plmn_specificSS_6(0xf6),
/**
* plmn-specificSS-7
*/
plmn_specificSS_7(0xf7),
/**
* plmn-specificSS-8
*/
plmn_specificSS_8(0xf8),
/**
* plmn-specificSS-9
*/
plmn_specificSS_9(0xf9),
/**
* plmn-specificSS-a
*/
plmn_specificSS_a(0xfa),
/**
* plmn-specificSS-b
*/
plmn_specificSS_b(0xfb),
/**
* plmn-specificSS-c
*/
plmn_specificSS_c(0xfc),
/**
* plmn-specificSS-d
*/
plmn_specificSS_d(0xfd),
/**
* plmn-specificSS-e
*/
plmn_specificSS_e(0xfe),
/**
* plmn-specificSS-f
*/
plmn_specificSS_f(0xff);
// allSpeechTransmissionServices(0x10), telephony(0x11), emergencyCalls(0x12),
// allShortMessageServices(0x20), shortMessageMT_PP(0x21), shortMessageMO_PP(0x22), cellBroadcast(0x23),
// allFacsimileTransmissionServices(0x60), facsimileGroup3AndAlterSpeech(0x61), automaticFacsimileGroup3(0x62),
// allVoiceGroupCallServices(0xC0), voiceGroupCall(0xC1), voiceBroadcastCall(0xC2),
// AsynchronousGeneralBearerService(0x70),
// SynchronousGeneralBearerService(0x80),
// GPRS(0xD0);
private int code;
private SupplementaryCodeValue(int code) {
this.code = code;
}
public int getCode() {
return this.code;
}
public static SupplementaryCodeValue getInstance(int code) {
switch (code) {
case 0x00:
return SupplementaryCodeValue.allSS;
case 0x10:
return SupplementaryCodeValue.allLineIdentificationSS;
case 0x11:
return SupplementaryCodeValue.clip;
case 0x12:
return SupplementaryCodeValue.clir;
case 0x13:
return SupplementaryCodeValue.colp;
case 0x14:
return SupplementaryCodeValue.colr;
case 0x15:
return SupplementaryCodeValue.mci;
case 0x18:
return SupplementaryCodeValue.allNameIdentificationSS;
case 0x19:
return SupplementaryCodeValue.cnap;
case 0x20:
return SupplementaryCodeValue.allForwardingSS;
case 0x21:
return SupplementaryCodeValue.cfu;
case 0x28:
return SupplementaryCodeValue.allCondForwardingSS;
case 0x29:
return SupplementaryCodeValue.cfb;
case 0x2a:
return SupplementaryCodeValue.cfnry;
case 0x2b:
return SupplementaryCodeValue.cfnrc;
case 0x24:
return SupplementaryCodeValue.cd;
case 0x30:
return SupplementaryCodeValue.allCallOfferingSS;
case 0x31:
return SupplementaryCodeValue.ect;
case 0x32:
return SupplementaryCodeValue.mah;
case 0x40:
return SupplementaryCodeValue.allCallCompletionSS;
case 0x41:
return SupplementaryCodeValue.cw;
case 0x42:
return SupplementaryCodeValue.hold;
case 0x43:
return SupplementaryCodeValue.ccbs_A;
case 0x44:
return SupplementaryCodeValue.ccbs_B;
case 0x45:
return SupplementaryCodeValue.mc;
case 0x50:
return SupplementaryCodeValue.allMultiPartySS;
case 0x51:
return SupplementaryCodeValue.multiPTY;
case 0x60:
return SupplementaryCodeValue.allCommunityOfInterestSS;
case 0x61:
return SupplementaryCodeValue.cug;
case 0x70:
return SupplementaryCodeValue.allChargingSS;
case 0x71:
return SupplementaryCodeValue.aoci;
case 0x72:
return SupplementaryCodeValue.aocc;
case 0x80:
return SupplementaryCodeValue.allAdditionalInfoTransferSS;
case 0x81:
return SupplementaryCodeValue.uus1;
case 0x82:
return SupplementaryCodeValue.uus2;
case 0x83:
return SupplementaryCodeValue.uus3;
case 0x90:
return SupplementaryCodeValue.allCallRestrictionSS;
case 0x91:
return SupplementaryCodeValue.barringOfOutgoingCalls;
case 0x92:
return SupplementaryCodeValue.baoc;
case 0x93:
return SupplementaryCodeValue.boic;
case 0x94:
return SupplementaryCodeValue.boicExHC;
case 0x99:
return SupplementaryCodeValue.barringOfIncomingCalls;
case 0x9a:
return SupplementaryCodeValue.baic;
case 0x9b:
return SupplementaryCodeValue.bicRoam;
case 0xf0:
return SupplementaryCodeValue.allPLMN_specificSS;
case 0xa0:
return SupplementaryCodeValue.allCallPrioritySS;
case 0xa1:
return SupplementaryCodeValue.emlpp;
case 0xb0:
return SupplementaryCodeValue.allLCSPrivacyException;
case 0xb1:
return SupplementaryCodeValue.universal;
case 0xb2:
return SupplementaryCodeValue.callrelated;
case 0xb3:
return SupplementaryCodeValue.callunrelated;
case 0xb4:
return SupplementaryCodeValue.plmnoperator;
case 0xb5:
return SupplementaryCodeValue.serviceType;
case 0xC0:
return SupplementaryCodeValue.allMOLR_SS;
case 0xC1:
return SupplementaryCodeValue.basicSelfLocation;
case 0xC2:
return SupplementaryCodeValue.autonomousSelfLocation;
case 0xC3:
return SupplementaryCodeValue.transferToThirdParty;
case 0xf1:
return SupplementaryCodeValue.plmn_specificSS_1;
case 0xf2:
return SupplementaryCodeValue.plmn_specificSS_2;
case 0xf3:
return SupplementaryCodeValue.plmn_specificSS_3;
case 0xf4:
return SupplementaryCodeValue.plmn_specificSS_4;
case 0xf5:
return SupplementaryCodeValue.plmn_specificSS_5;
case 0xf6:
return SupplementaryCodeValue.plmn_specificSS_6;
case 0xf7:
return SupplementaryCodeValue.plmn_specificSS_7;
case 0xf8:
return SupplementaryCodeValue.plmn_specificSS_8;
case 0xf9:
return SupplementaryCodeValue.plmn_specificSS_9;
case 0xfa:
return SupplementaryCodeValue.plmn_specificSS_a;
case 0xfb:
return SupplementaryCodeValue.plmn_specificSS_b;
case 0xfc:
return SupplementaryCodeValue.plmn_specificSS_c;
case 0xfd:
return SupplementaryCodeValue.plmn_specificSS_d;
case 0xfe:
return SupplementaryCodeValue.plmn_specificSS_e;
case 0xff:
return SupplementaryCodeValue.plmn_specificSS_f;
default:
return null;
}
}
}