org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan Java Examples
The following examples show how to use
org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SS7Honeypot.java From SigFW with GNU Affero General Public License v3.0 | 5 votes |
private void initiateUSSD() throws MAPException { logger.debug("[[[[[[[[[[ initiateUSSD ]]]]]]]]]]"); //SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 1, SSN); //SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 2, SSN); GlobalTitle callingGT = this.sccpProvider.getParameterFactory().createGlobalTitle("111111111111", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); GlobalTitle calledGT = this.sccpProvider.getParameterFactory().createGlobalTitle("222222222222", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, callingGT, SERVER_SPC, 8); SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, calledGT, CLIENT_SPC, 8); ISDNAddressString origReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "11111111111"); ISDNAddressString destReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "111111111111111"); // First create Dialog MAPDialogSupplementary mapDialog = this.mapProvider.getMAPServiceSupplementary().createNewDialog( MAPApplicationContext.getInstance(MAPApplicationContextName.networkUnstructuredSsContext, MAPApplicationContextVersion.version2), callingParty, origReference, calledParty, destReference); CBSDataCodingSchemeImpl ussdDataCodingScheme = new CBSDataCodingSchemeImpl(0x0F); // USSD String: *111*+11111111111# // The Charset is null, here we let system use default Charset (UTF-7 as // explained in GSM 03.38. However if MAP User wants, it can set its own // impl of Charset USSDString ussdString = this.mapProvider.getMAPParameterFactory().createUSSDString("*111*+11111111111#", ussdDataCodingScheme, null); ISDNAddressString msisdn = this.mapProvider.getMAPParameterFactory().createISDNAddressString( AddressNature.international_number, NumberingPlan.ISDN, "11111111111"); mapDialog.addProcessUnstructuredSSRequest(ussdDataCodingScheme, ussdString, null, msisdn); // This will initiate the TC-BEGIN with INVOKE component mapDialog.send(); }
Example #2
Source File: Server.java From gmlc with GNU Affero General Public License v3.0 | 5 votes |
private void initSCCP() throws Exception { this.sccpStack = new SccpStackImpl("MapLoadServerSccpStack"); this.sccpStack.setMtp3UserPart(1, this.serverM3UAMgmt); this.sccpStack.start(); this.sccpStack.removeAllResourses(); this.sccpStack.getSccpResource().addRemoteSpc(0, CLIENT_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(0, CLIENT_SPC, CLIENT_SSN, 0, false); this.sccpStack.getRouter().addMtp3ServiceAccessPoint(1, 1, SERVER_SPC, NETWORK_INDICATOR, 0); this.sccpStack.getRouter().addMtp3Destination(1, 1, CLIENT_SPC, CLIENT_SPC, 0, 255, 255); ParameterFactoryImpl fact = new ParameterFactoryImpl(); EncodingScheme ec = new BCDEvenEncodingScheme(); GlobalTitle gt1 = fact.createGlobalTitle("-", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, ec, NatureOfAddress.INTERNATIONAL); GlobalTitle gt2 = fact.createGlobalTitle("-", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, ec, NatureOfAddress.INTERNATIONAL); SccpAddress localAddress = new SccpAddressImpl(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt1, SERVER_SPC, SERVER_SSN); this.sccpStack.getRouter().addRoutingAddress(1, localAddress); SccpAddress remoteAddress = new SccpAddressImpl(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt2, CLIENT_SPC, CLIENT_SSN); this.sccpStack.getRouter().addRoutingAddress(2, remoteAddress); GlobalTitle gt = fact.createGlobalTitle("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, ec, NatureOfAddress.INTERNATIONAL); SccpAddress pattern = new SccpAddressImpl(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); this.sccpStack.getRouter().addRule(1, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.REMOTE, pattern, "K", 1, -1, null, 0); this.sccpStack.getRouter().addRule(2, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.LOCAL, pattern, "K", 2, -1, null, 0); this.sccpStack.getRouter().addLongMessageRule(1, 1, 16384, LongMessageRuleType.XUDT_ENABLED); }
Example #3
Source File: SS7Server.java From SigFW with GNU Affero General Public License v3.0 | 5 votes |
private void initiateUSSD() throws MAPException { logger.debug("[[[[[[[[[[ initiateUSSD ]]]]]]]]]]"); //SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 1, SSN); //SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 2, SSN); GlobalTitle callingGT = this.sccpProvider.getParameterFactory().createGlobalTitle("111111111111", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); GlobalTitle calledGT = this.sccpProvider.getParameterFactory().createGlobalTitle("222222222222", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, callingGT, SERVER_SPC, 8); SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, calledGT, CLIENT_SPC, 8); ISDNAddressString origReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "11111111111"); ISDNAddressString destReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "111111111111111"); // First create Dialog MAPDialogSupplementary mapDialog = this.mapProvider.getMAPServiceSupplementary().createNewDialog( MAPApplicationContext.getInstance(MAPApplicationContextName.networkUnstructuredSsContext, MAPApplicationContextVersion.version2), callingParty, origReference, calledParty, destReference); CBSDataCodingSchemeImpl ussdDataCodingScheme = new CBSDataCodingSchemeImpl(0x0F); // USSD String: *111*+11111111111# // The Charset is null, here we let system use default Charset (UTF-7 as // explained in GSM 03.38. However if MAP User wants, it can set its own // impl of Charset USSDString ussdString = this.mapProvider.getMAPParameterFactory().createUSSDString("*111*+11111111111#", ussdDataCodingScheme, null); ISDNAddressString msisdn = this.mapProvider.getMAPParameterFactory().createISDNAddressString( AddressNature.international_number, NumberingPlan.ISDN, "11111111111"); mapDialog.addProcessUnstructuredSSRequest(ussdDataCodingScheme, ussdString, null, msisdn); // This will initiate the TC-BEGIN with INVOKE component mapDialog.send(); }
Example #4
Source File: SS7ClientLiveInput.java From SigFW with GNU Affero General Public License v3.0 | 5 votes |
private void initiateUSSD() throws MAPException { //SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 1, SSN); //SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 2, SSN); GlobalTitle callingGT = this.sccpProvider.getParameterFactory().createGlobalTitle("111111111111", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); GlobalTitle calledGT = this.sccpProvider.getParameterFactory().createGlobalTitle("222222222222", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, callingGT, CLIENT_SPC, 8); SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, calledGT, SERVER_SPC, 8); ISDNAddressString origReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "11111111111"); ISDNAddressString destReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "111111111111111"); // First create Dialog MAPDialogSupplementary mapDialog = this.mapProvider.getMAPServiceSupplementary().createNewDialog( MAPApplicationContext.getInstance(MAPApplicationContextName.networkUnstructuredSsContext, MAPApplicationContextVersion.version2), callingParty, origReference, calledParty, destReference); CBSDataCodingSchemeImpl ussdDataCodingScheme = new CBSDataCodingSchemeImpl(0x0F); // USSD String: *111*+11111111111# // The Charset is null, here we let system use default Charset (UTF-7 as // explained in GSM 03.38. However if MAP User wants, it can set its own // impl of Charset USSDString ussdString = this.mapProvider.getMAPParameterFactory().createUSSDString("*111*+11111111111#", ussdDataCodingScheme, null); ISDNAddressString msisdn = this.mapProvider.getMAPParameterFactory().createISDNAddressString( AddressNature.international_number, NumberingPlan.ISDN, "11111111111"); mapDialog.addProcessUnstructuredSSRequest(ussdDataCodingScheme, ussdString, null, msisdn); // This will initiate the TC-BEGIN with INVOKE component mapDialog.send(); }
Example #5
Source File: SS7Client.java From SigFW with GNU Affero General Public License v3.0 | 5 votes |
private void initiateUSSD() throws MAPException { //SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 1, SSN); //SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, null, 2, SSN); GlobalTitle callingGT = this.sccpProvider.getParameterFactory().createGlobalTitle("111111111111", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); GlobalTitle calledGT = this.sccpProvider.getParameterFactory().createGlobalTitle("222222222222", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, callingGT, CLIENT_SPC, 8); SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, calledGT, SERVER_SPC, 8); ISDNAddressString origReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "11111111111"); ISDNAddressString destReference = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.land_mobile, "111111111111111"); // First create Dialog MAPDialogSupplementary mapDialog = this.mapProvider.getMAPServiceSupplementary().createNewDialog( MAPApplicationContext.getInstance(MAPApplicationContextName.networkUnstructuredSsContext, MAPApplicationContextVersion.version2), callingParty, origReference, calledParty, destReference); CBSDataCodingSchemeImpl ussdDataCodingScheme = new CBSDataCodingSchemeImpl(0x0F); // USSD String: *111*+11111111111# // The Charset is null, here we let system use default Charset (UTF-7 as // explained in GSM 03.38. However if MAP User wants, it can set its own // impl of Charset USSDString ussdString = this.mapProvider.getMAPParameterFactory().createUSSDString("*111*+11111111111#", ussdDataCodingScheme, null); ISDNAddressString msisdn = this.mapProvider.getMAPParameterFactory().createISDNAddressString( AddressNature.international_number, NumberingPlan.ISDN, "11111111111"); mapDialog.addProcessUnstructuredSSRequest(ussdDataCodingScheme, ussdString, null, msisdn); // This will initiate the TC-BEGIN with INVOKE component mapDialog.send(); }
Example #6
Source File: SS7Honeypot.java From SigFW with GNU Affero General Public License v3.0 | 5 votes |
public void onSendRoutingInfoForSMRequest(SendRoutingInfoForSMRequest srfsmr) { logger.debug("[[[[[[[[[[ onSendRoutingInfoForSMRequest ]]]]]]]]]]"); try { MAPDialogSms curDialog = srfsmr.getMAPDialog(); long invokeId = curDialog.getLocalDialogId(); IMSI imsi = this.mapProvider.getMAPParameterFactory().createIMSI("123499900000001"); /*ArrayList<MAPPrivateExtension> al = new ArrayList<MAPPrivateExtension>(); al.add(this.mapProvider.getMAPParameterFactory().createMAPPrivateExtension(new long[] { 1, 2, 3, 4 }, new byte[] { 11, 12, 13, 14, 15 })); al.add(this.mapProvider.getMAPParameterFactory().createMAPPrivateExtension(new long[] { 1, 2, 3, 6 }, null)); al.add(this.mapProvider.getMAPParameterFactory().createMAPPrivateExtension(new long[] { 1, 2, 3, 5 }, new byte[] { 21, 22, 23, 24, 25, 26 })); MAPExtensionContainer cnt = this.mapProvider.getMAPParameterFactory().createMAPExtensionContainer(al, new byte[] { 31, 32, 33 }); */ ISDNAddressString networkNodeNumber = this.mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.ISDN, "11111111111"); LocationInfoWithLMSI lwlms = this.mapProvider.getMAPParameterFactory().createLocationInfoWithLMSI(networkNodeNumber, null, null, false, null); // clamp InvokeID if (invokeId > 127) { invokeId = 127; } if (invokeId < -128) { invokeId = -128; } curDialog.addSendRoutingInfoForSMResponse(invokeId, imsi, lwlms, null /*cnt*/, Boolean.FALSE, null); } catch (MAPException e) { logger.error("Error while sending SendRoutingInfoForSMResponse ", e); } }
Example #7
Source File: SS7Honeypot.java From SigFW with GNU Affero General Public License v3.0 | 4 votes |
public void onProvideSubscriberInfoRequest(ProvideSubscriberInfoRequest psir) { logger.debug("[[[[[[[[[[ onProvideSubscriberInfoRequest ]]]]]]]]]]"); try { MAPDialogMobility curDialog = psir.getMAPDialog(); long invokeId = curDialog.getLocalDialogId(); ISDNAddressString vlrNumber = mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.ISDN, "5555555666"); LocationNumberMap locationNumber = null; LSAIdentity selectedLSAId = null; ISDNAddressString mscNumber = null; LocationInformationEPS locationInformationEPS = null; UserCSGInformation userCSGInformation = null; int mcc = HP_MCC; int mnc = HP_MNC; int lac = HP_LAC; int cellId = HP_CELLID; int ageOfLocationInformation = HP_AGE_OF_LOCATION; GeographicalInformation geographicalInformation = mapProvider.getMAPParameterFactory().createGeographicalInformation(HP_GEO_INFO_d, HP_GEO_INFO_d1, HP_GEO_INFO_d2); boolean saiPresent = false; GeodeticInformation geodeticInformation = null; boolean currentLocationRetrieved = false; CellGlobalIdOrServiceAreaIdFixedLength cellGlobalIdOrServiceAreaIdFixedLength = mapProvider.getMAPParameterFactory() .createCellGlobalIdOrServiceAreaIdFixedLength(mcc, mnc, lac, cellId); CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI = mapProvider.getMAPParameterFactory().createCellGlobalIdOrServiceAreaIdOrLAI( cellGlobalIdOrServiceAreaIdFixedLength); LocationInformation li = mapProvider.getMAPParameterFactory().createLocationInformation(ageOfLocationInformation, geographicalInformation, vlrNumber, locationNumber, cellGlobalIdOrServiceAreaIdOrLAI, null, selectedLSAId, mscNumber, geodeticInformation, currentLocationRetrieved, saiPresent, locationInformationEPS, userCSGInformation); SubscriberState ss = this.mapProvider.getMAPParameterFactory().createSubscriberState(SubscriberStateChoice.netDetNotReachable, NotReachableReason.imsiDetached); SubscriberInfo si = this.mapProvider.getMAPParameterFactory().createSubscriberInfo(li, ss, null, null, null, null, null, null, null); // clamp InvokeID if (invokeId > 127) { invokeId = 127; } if (invokeId < -128) { invokeId = -128; } curDialog.addProvideSubscriberInfoResponse(invokeId, si, null); } catch (MAPException e) { logger.error("Error while sending SendRoutingInfoForSMResponse ", e); } }
Example #8
Source File: SS7Server.java From SigFW with GNU Affero General Public License v3.0 | 4 votes |
private void initSCCP() throws Exception { logger.debug("Initializing SCCP Stack ...."); this.sccpStack = new SccpStackImpl("SctpServerSCCP"); this.sccpStack.setMtp3UserPart(1, this.serverM3UAMgmt); this.sccpStack.setPersistDir(persistDir); this.sccpStack.start(); this.sccpStack.removeAllResourses(); this.sccpStack.getSccpResource().addRemoteSpc(0, CLIENT_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(0, CLIENT_SPC, SSN, 0, false); this.sccpStack.getRouter().addMtp3ServiceAccessPoint(1, 1, SERVER_SPC, NETWORK_INDICATOR, 0); this.sccpStack.getRouter().addMtp3Destination(1, 1, CLIENT_SPC, CLIENT_SPC, 0, 255, 255); this.sccpProvider = this.sccpStack.getSccpProvider(); this.sccpStack.getSccpResource().addRemoteSpc(1, SERVER_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(1, SERVER_SPC, SSN, 0, false); //this.sccpStack.setPreviewMode(true); // SCCP routing table GlobalTitle gt = this.sccpProvider.getParameterFactory().createGlobalTitle("", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress(1, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, CLIENT_SPC, 0)); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress(2, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, SERVER_SPC, SSN)); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); String mask = "K"; ((RouterImpl) this.sccpStack.getRouter()).addRule(1, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.LOCAL, pattern, mask, 1, -1, null, 0, null); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); mask = "R"; ((RouterImpl) this.sccpStack.getRouter()).addRule(2, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.REMOTE, pattern, mask, 2, -1, null, 0, null); logger.debug("Initialized SCCP Stack ...."); }
Example #9
Source File: SS7Honeypot.java From SigFW with GNU Affero General Public License v3.0 | 4 votes |
public void onAnyTimeInterrogationRequest(AnyTimeInterrogationRequest atir) { logger.debug("[[[[[[[[[[ onAnyTimeInterrogationRequest ]]]]]]]]]]"); try { MAPDialogMobility curDialog = atir.getMAPDialog(); long invokeId = curDialog.getLocalDialogId(); ISDNAddressString vlrNumber = mapProvider.getMAPParameterFactory().createISDNAddressString(AddressNature.international_number, NumberingPlan.ISDN, HP_VLR_NUMBER); LocationNumberMap locationNumber = null; LSAIdentity selectedLSAId = null; ISDNAddressString mscNumber = null; LocationInformationEPS locationInformationEPS = null; UserCSGInformation userCSGInformation = null; int mcc = HP_MCC; int mnc = HP_MNC; int lac = HP_LAC; int cellId = HP_CELLID; int ageOfLocationInformation = HP_AGE_OF_LOCATION; GeographicalInformation geographicalInformation = mapProvider.getMAPParameterFactory().createGeographicalInformation(HP_GEO_INFO_d, HP_GEO_INFO_d1, HP_GEO_INFO_d2); boolean saiPresent = false; GeodeticInformation geodeticInformation = null; boolean currentLocationRetrieved = false; CellGlobalIdOrServiceAreaIdFixedLength cellGlobalIdOrServiceAreaIdFixedLength = mapProvider.getMAPParameterFactory() .createCellGlobalIdOrServiceAreaIdFixedLength(mcc, mnc, lac, cellId); CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI = mapProvider.getMAPParameterFactory().createCellGlobalIdOrServiceAreaIdOrLAI( cellGlobalIdOrServiceAreaIdFixedLength); LocationInformation li = mapProvider.getMAPParameterFactory().createLocationInformation(ageOfLocationInformation, geographicalInformation, vlrNumber, locationNumber, cellGlobalIdOrServiceAreaIdOrLAI, null, selectedLSAId, mscNumber, geodeticInformation, currentLocationRetrieved, saiPresent, locationInformationEPS, userCSGInformation); SubscriberState ss = this.mapProvider.getMAPParameterFactory().createSubscriberState(SubscriberStateChoice.netDetNotReachable, NotReachableReason.imsiDetached); SubscriberInfo si = this.mapProvider.getMAPParameterFactory().createSubscriberInfo(li, ss, null, null, null, null, null, null, null); // clamp InvokeID if (invokeId > 127) { invokeId = 127; } if (invokeId < -128) { invokeId = -128; } curDialog.addAnyTimeInterrogationResponse(invokeId, si, null); } catch (MAPException e) { logger.error("Error while sending SendRoutingInfoForSMResponse ", e); } }
Example #10
Source File: SriSMResp.java From SigPloit with MIT License | 4 votes |
private void initSCCP() throws Exception { logger.debug("Initializing SCCP Stack ...."); this.sccpStack = new SccpStackImpl("MapLoadServerSccpStack"); this.sccpStack.setMtp3UserPart(1, this.serverM3UAMgmt); this.sccpStack.start(); this.sccpStack.removeAllResourses(); this.sccpStack.getSccpResource().addRemoteSpc(1, CLIENT_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(1, CLIENT_SPC, SSN_Client, 0, false); this.sccpStack.getRouter().addMtp3ServiceAccessPoint(1, 1, SERVER_SPC, NETWORK_INDICATOR, 0); this.sccpStack.getRouter().addMtp3Destination(1, 1, CLIENT_SPC, CLIENT_SPC, 0, 255, 255); this.sccpProvider = this.sccpStack.getSccpProvider(); // SCCP routing table GlobalTitle0100 calling = this.sccpProvider.getParameterFactory().createGlobalTitle ("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); //Enter the tested MSIDN that is being queried on, or a mask to represent all the ranges GlobalTitle0100 called = this.sccpProvider.getParameterFactory().createGlobalTitle ("201124683579", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); GlobalTitle0100 localHLR = this.sccpProvider.getParameterFactory().createGlobalTitle ("201179008244", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress (1, this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, called, SERVER_SPC, SSN_Server)); this.sccpStack.getRouter().addRoutingAddress (2, this.sccpProvider.getParameterFactory().createSccpAddress( RoutingIndicator.ROUTING_BASED_ON_DPC_AND_SSN, calling, CLIENT_SPC, SSN_Client)); this.sccpStack.getRouter().addRoutingAddress (3, this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, localHLR, SERVER_SPC, SSN_Server)); SccpAddress patternLocal = this.sccpProvider.getParameterFactory().createSccpAddress( RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, calling, CLIENT_SPC,SSN_Client ); SccpAddress patternRemote = this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, called, SERVER_SPC,SSN_Server); SccpAddress patternHLR = this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, localHLR, SERVER_SPC,SSN_Server); String maskLocal = "K"; String maskRemote = "R"; //translate local GT to its POC+SSN (local rule)GTT this.sccpStack.getRouter().addRule (1, RuleType.SOLITARY, null,OriginationType.LOCAL, patternLocal, maskLocal, 2, -1, null, 0); this.sccpStack.getRouter().addRule (2, RuleType.SOLITARY, null, OriginationType.REMOTE, patternRemote, maskRemote, 1, -1, null, 0); this.sccpStack.getRouter().addRule (3, RuleType.SOLITARY, null, OriginationType.REMOTE, patternHLR, maskRemote, 3, -1, null, 0); logger.debug("Initialized SCCP Stack ...."); }
Example #11
Source File: SriSMResp.java From SigPloit with MIT License | 4 votes |
@Override public void onSendRoutingInfoForSMRequest(SendRoutingInfoForSMRequest sendRoutingInfoForSMRequest) { try { long invokeId = sendRoutingInfoForSMRequest.getInvokeId(); //Add the MSC number that is serving the user ISDNAddressString msc = this.mapProvider.getMAPParameterFactory().createISDNAddressString (AddressNature.international_number, NumberingPlan.ISDN,"201111111111"); //Add the IMSI of the subscriber that is queried IMSI imsi = this.mapProvider.getMAPParameterFactory().createIMSI("602031234567890"); LMSI lmsi = this.mapProvider.getMAPParameterFactory().createLMSI(new byte[]{(byte)0x65,(byte)0x10,(byte)0xf2,(byte)0x29}); LocationInfoWithLMSI Location = this.mapProvider.getMAPParameterFactory().createLocationInfoWithLMSI (msc, lmsi, null, false, null); GlobalTitle0100 GtHlr = this.sccpProvider.getParameterFactory().createGlobalTitle( "201179008244",0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY,null, NatureOfAddress.INTERNATIONAL); GlobalTitle0100 GtSMSC = this.sccpProvider.getParameterFactory(). createGlobalTitle("441357924680",0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY,null,NatureOfAddress.INTERNATIONAL); SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory(). createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE,GtHlr,SERVER_SPC,SSN_Server); SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory() .createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE,GtSMSC,CLIENT_SPC,SSN_Client); /*MAPDialogSms dialogSms = this.mapProvider.getMAPServiceSms().createNewDialog (MAPApplicationContext.getInstance(MAPApplicationContextName.shortMsgGatewayContext, MAPApplicationContextVersion.version3),callingParty,null,calledParty,null);*/ MAPDialogSms dialogSms = sendRoutingInfoForSMRequest.getMAPDialog(); dialogSms.setUserObject(invokeId); dialogSms.addSendRoutingInfoForSMResponse(invokeId,imsi,Location,null, false); dialogSms.send(); logger.info("IMSI and MSC GT Address Sent....."); } catch (MAPException e) { e.printStackTrace(); } }
Example #12
Source File: UpdateLocationResp.java From SigPloit with MIT License | 4 votes |
private void initSCCP() throws Exception { logger.debug("Initializing SCCP Stack ...."); this.sccpStack = new SccpStackImpl("MapLoadServerSccpStack"); this.sccpStack.setMtp3UserPart(1, this.serverM3UAMgmt); this.sccpStack.start(); this.sccpStack.removeAllResourses(); this.sccpStack.getSccpResource().addRemoteSpc(1, CLIENT_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(1, CLIENT_SPC, SSN_Client, 0, false); this.sccpStack.getRouter().addMtp3ServiceAccessPoint(1, 1, SERVER_SPC, NETWORK_INDICATOR, 0); //addMtp3Destination(sapID, destID, firstDPC, lastDPC, firstSls, lastSls, slaMask) this.sccpStack.getRouter().addMtp3Destination(1, 1, CLIENT_SPC, CLIENT_SPC, 0, 255, 255); this.sccpProvider = this.sccpStack.getSccpProvider(); // SCCP routing table GlobalTitle0100 calling = this.sccpProvider.getParameterFactory().createGlobalTitle ("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); GlobalTitle0100 called = this.sccpProvider.getParameterFactory().createGlobalTitle ("20107891234567", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_MOBILE, null, NatureOfAddress.INTERNATIONAL); GlobalTitle0100 localHlr = this.sccpProvider.getParameterFactory().createGlobalTitle ("201012345678", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); GlobalTitle0100 localmsc = this.sccpProvider.getParameterFactory().createGlobalTitle ("201012344321", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress (1, this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, called, SERVER_SPC, SSN_Server)); this.sccpStack.getRouter().addRoutingAddress (2, this.sccpProvider.getParameterFactory().createSccpAddress( RoutingIndicator.ROUTING_BASED_ON_DPC_AND_SSN, calling, 1, SSN_Client)); this.sccpStack.getRouter().addRoutingAddress (3, this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, localHlr, SERVER_SPC, SSN_Server)); this.sccpStack.getRouter().addRoutingAddress (4, this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, localmsc, SERVER_SPC, SSN_MSC)); SccpAddress patternLocal = this.sccpProvider.getParameterFactory().createSccpAddress( RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, calling, 1,SSN_Client ); SccpAddress patternRemote = this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, called, SERVER_SPC,SSN_Server); SccpAddress patternHLR = this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, localHlr, SERVER_SPC,SSN_Server); SccpAddress patternMSC = this.sccpProvider.getParameterFactory().createSccpAddress (RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, localmsc, SERVER_SPC,SSN_MSC); String maskLocal = "K"; String maskRemote = "R"; //change mask to match on any digits after (2010) i.e 2010* //translate local GT to its POC+SSN (local rule)GTT this.sccpStack.getRouter().addRule (1, RuleType.SOLITARY, null,OriginationType.LOCAL, patternLocal, maskLocal, 2, -1, null, 0); this.sccpStack.getRouter().addRule (2, RuleType.SOLITARY, null, OriginationType.REMOTE, patternRemote, maskRemote, 1, -1, null, 0); this.sccpStack.getRouter().addRule (3, RuleType.SOLITARY, null, OriginationType.REMOTE, patternHLR, maskRemote, 3, -1, null, 0); this.sccpStack.getRouter().addRule (4, RuleType.SOLITARY, null, OriginationType.REMOTE, patternMSC, maskRemote, 3, -1, null, 0); logger.debug("Initialized SCCP Stack ...."); }
Example #13
Source File: UpdateLocationResp.java From SigPloit with MIT License | 4 votes |
@Override public void onUpdateLocationRequest(UpdateLocationRequest updateLocationRequest) { try { long invokeIdU = updateLocationRequest.getInvokeId(); ISDNAddressString MscFake = updateLocationRequest.getMscNumber(); ISDNAddressString VlrFake = updateLocationRequest.getVlrNumber(); IMSI TargetImsi = updateLocationRequest.getImsi(); Category category = this.mapProvider.getMAPParameterFactory().createCategory(5); ArrayList<ExtBearerServiceCode> bearerServiceList = new ArrayList<ExtBearerServiceCode>(); ExtBearerServiceCode extBearerServiceCode = this.mapProvider.getMAPParameterFactory() .createExtBearerServiceCode(BearerServiceCodeValue.padAccessCA_9600bps); bearerServiceList.add(extBearerServiceCode); boolean roamingResttrictionDueToUnsupportedFeature = false; ISDNAddressString sgsnNumber = this.mapProvider.getMAPParameterFactory(). createISDNAddressString(AddressNature.international_number,NumberingPlan.ISDN,"201022222222"); SSCode ssCode = this.mapProvider.getMAPParameterFactory().createSSCode(SupplementaryCodeValue.allForwardingSS); //ArrayList<ExtSSInfo> provisionedSS = logger.info("New Fake MSC/VLR: "+ MscFake); logger.info("Victim IMSI: "+ TargetImsi); ISDNAddressString msisdn = this.mapProvider.getMAPParameterFactory().createISDNAddressString( AddressNature.international_number, NumberingPlan.ISDN, "2010789123456"); GlobalTitle0100 GtHlr = this.sccpProvider.getParameterFactory().createGlobalTitle( "201012345678",0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY,null, NatureOfAddress.INTERNATIONAL); GlobalTitle0100 GtMsc = this.sccpProvider.getParameterFactory(). createGlobalTitle("96512345678",0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY,null,NatureOfAddress.INTERNATIONAL); SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory(). createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE,GtHlr,SERVER_SPC,SSN_Server); SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory() .createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE,GtMsc,CLIENT_SPC,SSN_Client); MAPDialogMobility dialogMobility = this.mapProvider.getMAPServiceMobility().createNewDialog( MAPApplicationContext.getInstance(MAPApplicationContextName.subscriberDataMngtContext,MAPApplicationContextVersion.version3), callingParty,null,calledParty,null); dialogMobility.addInsertSubscriberDataRequest(TargetImsi,msisdn,category,SubscriberStatus.serviceGranted,null,null,null,null, false,null,null,null,null,null,null,null,false,null,null,false,null,15,null,null, null,null,null,null,false,null,null,false,sgsnNumber,null,null,false,false,null); dialogMobility.send(); logger.info("InsertSubscriberDataRequest Message Sent...."); } catch (MAPException e){ e.printStackTrace(); } }
Example #14
Source File: UpdateLocationResp.java From SigPloit with MIT License | 4 votes |
@Override public void onInsertSubscriberDataResponse(InsertSubscriberDataResponse insertSubscriberDataResponse) { try{ /*long invokeId = insertSubscriberDataResponse.getInvokeId(); ISDNAddressString HlrNumber = this.mapProvider.getMAPParameterFactory().createISDNAddressString( AddressNature.international_number,NumberingPlan.ISDN,"20109876543211"); MAPDialogMobility mapDialogMobility = insertSubscriberDataResponse.getMAPDialog(); mapDialogMobility.setUserObject(invokeId); mapDialogMobility.addUpdateLocationResponse(invokeId,HlrNumber,null,false,false); mapDialogMobility.send(); logger.info("UpdateLocationResponse Message Sent...Update Location Completed"); logger.info("Sending SMS...");*/ //SMS MT AddressString orig_smsc = this.mapProvider.getMAPParameterFactory().createAddressString(AddressNature.international_number, NumberingPlan.ISDN,"966123456789"); IMSI test_imsi = this.mapProvider.getMAPParameterFactory().createIMSI("602027891234567"); SM_RP_DA sm_rp_da = this.mapProvider.getMAPParameterFactory().createSM_RP_DA(test_imsi); SM_RP_OA sm_rp_oa = this.mapProvider.getMAPParameterFactory().createSM_RP_OA_ServiceCentreAddressOA(orig_smsc); AddressField oa = new AddressFieldImpl(TypeOfNumber.InternationalNumber, NumberingPlanIdentification.ISDNTelephoneNumberingPlan,"2010789123456"); AbsoluteTimeStampImpl timeStamp = new AbsoluteTimeStampImpl(16,4,3,15,51,18,2); ProtocolIdentifierImpl pi = new ProtocolIdentifierImpl(0); DataCodingSchemeImpl dcs = new DataCodingSchemeImpl(0); //default gsm 7 bit UserDataImpl ud = new UserDataImpl("Hello World!",dcs,null,null); SmsDeliverTpduImpl tpdu = new SmsDeliverTpduImpl(false,false,false,false,oa,pi,timeStamp,ud); SmsSignalInfoImpl sm_Rp_UI = new SmsSignalInfoImpl(tpdu, null); GlobalTitle0100 GtLocalMSC = this.sccpProvider.getParameterFactory().createGlobalTitle( "201012345678",0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY,null, NatureOfAddress.INTERNATIONAL); GlobalTitle0100 GtAttackerMSC = this.sccpProvider.getParameterFactory(). createGlobalTitle("96512345678",0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY,null,NatureOfAddress.INTERNATIONAL); SccpAddress callingParty = this.sccpStack.getSccpProvider().getParameterFactory(). createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE,GtLocalMSC,SERVER_SPC,SSN_MSC); SccpAddress calledParty = this.sccpStack.getSccpProvider().getParameterFactory() .createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE,GtAttackerMSC,CLIENT_SPC,SSN_MSC); MAPDialogSms mapDialogSms = this.mapProvider.getMAPServiceSms(). createNewDialog(MAPApplicationContext.getInstance(MAPApplicationContextName.shortMsgMTRelayContext, MAPApplicationContextVersion.version2),callingParty,null,calledParty,null); mapDialogSms.addForwardShortMessageRequest(sm_rp_da,sm_rp_oa,sm_Rp_UI,false); logger.info("Sending SMS...\n"); mapDialogSms.send(); logger.info("SMS Sent..."); } catch (MAPException e){ e.printStackTrace(); } }
Example #15
Source File: SS7Honeypot.java From SigFW with GNU Affero General Public License v3.0 | 4 votes |
private void initSCCP() throws Exception { logger.debug("Initializing SCCP Stack ...."); this.sccpStack = new SccpStackImpl("SctpServerSCCP"); this.sccpStack.setMtp3UserPart(1, this.serverM3UAMgmt); this.sccpStack.setPersistDir(persistDir); this.sccpStack.start(); this.sccpStack.removeAllResourses(); this.sccpStack.getSccpResource().addRemoteSpc(0, CLIENT_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(0, CLIENT_SPC, 6, 0, false); this.sccpStack.getSccpResource().addRemoteSsn(1, CLIENT_SPC, 7, 0, false); this.sccpStack.getSccpResource().addRemoteSsn(2, CLIENT_SPC, 8, 0, false); this.sccpStack.getSccpResource().addRemoteSsn(3, CLIENT_SPC, 9, 0, false); this.sccpStack.getRouter().addMtp3ServiceAccessPoint(1, 1, SERVER_SPC, NETWORK_INDICATOR, 0); this.sccpStack.getRouter().addMtp3Destination(1, 1, CLIENT_SPC, CLIENT_SPC, 0, 255, 255); this.sccpProvider = this.sccpStack.getSccpProvider(); this.sccpProvider.registerSccpListener(6, this); this.sccpProvider.registerSccpListener(7, this); this.sccpProvider.registerSccpListener(8, this); this.sccpStack.getSccpResource().addRemoteSpc(1, SERVER_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(4, SERVER_SPC, 6, 0, false); this.sccpStack.getSccpResource().addRemoteSsn(5, SERVER_SPC, 7, 0, false); this.sccpStack.getSccpResource().addRemoteSsn(6, SERVER_SPC, 8, 0, false); this.sccpStack.getSccpResource().addRemoteSsn(7, SERVER_SPC, 9, 0, false); //this.sccpStack.setPreviewMode(true); // SCCP routing table GlobalTitle gt = this.sccpProvider.getParameterFactory().createGlobalTitle("", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress(1, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, CLIENT_SPC, 0)); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress(2, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, SERVER_SPC, SSN)); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); String mask = "K"; ((RouterImpl) this.sccpStack.getRouter()).addRule(1, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.LOCAL, pattern, mask, 1, -1, null, 0, null); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); mask = "K"; ((RouterImpl) this.sccpStack.getRouter()).addRule(2, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.REMOTE, pattern, mask, 2, -1, null, 0, null); logger.debug("Initialized SCCP Stack ...."); }
Example #16
Source File: Server.java From gmlc with GNU Affero General Public License v3.0 | 4 votes |
@Override public void onAnyTimeInterrogationRequest(AnyTimeInterrogationRequest atiReq) { if (logger.isDebugEnabled()) { logger.debug( String.format("onAnyTimeInterrogationRequest for DialogId=%d", atiReq.getMAPDialog().getLocalDialogId())); } if (logger.isInfoEnabled()) { logger.info(String.format("onAnyTimeInterrogationRequest for DialogId=%d", atiReq.getMAPDialog().getLocalDialogId())); } /*else { logger.warn(String.format("onAnyTimeInterrogationRequest for DialogId=%d", atiReq.getMAPDialog().getLocalDialogId())); }*/ try { long invokeId = atiReq.getInvokeId(); MAPDialogMobility mapDialogMobility = atiReq.getMAPDialog(); mapDialogMobility.setUserObject(invokeId); MAPParameterFactoryImpl mapFactory = new MAPParameterFactoryImpl(); // Create Subscriber Information parameters including Location Information and Subscriber State // for concerning MAP operation int mcc, mnc, lac, cellIdOrServiceAreaCode; mcc = 748; mnc = 1; lac = 23; cellIdOrServiceAreaCode = 369; CellGlobalIdOrServiceAreaIdFixedLength cellGlobalIdOrServiceAreaIdFixedLength = mapFactory .createCellGlobalIdOrServiceAreaIdFixedLength(mcc, mnc, lac, cellIdOrServiceAreaCode); CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI = mapFactory .createCellGlobalIdOrServiceAreaIdOrLAI(cellGlobalIdOrServiceAreaIdFixedLength); ISDNAddressString vlrNumber = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, "5982123007"); ISDNAddressString mscNumber = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, "5982123007"); Integer ageOfLocationInformation = 0; // ageOfLocationInformation GeographicalInformation geographicalInformation = null; LocationNumberMap locationNumber = null; MAPExtensionContainer mapExtensionContainer = null; LSAIdentity selectedLSAId = null; GeodeticInformation geodeticInformation = null; boolean currentLocationRetrieved = false; boolean saiPresent = false; LocationInformationEPS locationInformationEPS = null; UserCSGInformation userCSGInformation = null; LocationInformationGPRS locationInformationGPRS = null; PSSubscriberState psSubscriberState = null; IMEI imei = null; MSClassmark2 msClassmark2 = null; GPRSMSClass gprsMSClass = null; MNPInfoRes mnpInfoRes = null; SubscriberStateChoice subscriberStateChoice = SubscriberStateChoice.assumedIdle; // 0=assumedIdle, 1=camelBusy, 2=notProvidedFromVLR NotReachableReason notReachableReason = null; LocationInformation locationInformation = mapFactory.createLocationInformation(ageOfLocationInformation, geographicalInformation, vlrNumber, locationNumber, cellGlobalIdOrServiceAreaIdOrLAI, mapExtensionContainer, selectedLSAId, mscNumber, geodeticInformation, currentLocationRetrieved, saiPresent, locationInformationEPS, userCSGInformation); SubscriberState subscriberState = mapFactory.createSubscriberState(subscriberStateChoice, notReachableReason); SubscriberInfo subscriberInfo = mapFactory.createSubscriberInfo(locationInformation, subscriberState, mapExtensionContainer, locationInformationGPRS, psSubscriberState, imei, msClassmark2, gprsMSClass, mnpInfoRes); mapDialogMobility.addAnyTimeInterrogationResponse(invokeId, subscriberInfo, mapExtensionContainer); // This will initiate the TC-BEGIN with INVOKE component mapDialogMobility.close(false); } catch (MAPException mapException) { logger.error("MAP Exception while processing AnyTimeInterrogationRequest ", mapException); } catch (Exception e) { logger.error("Exception while processing AnyTimeInterrogationRequest ", e); } }
Example #17
Source File: Server.java From gmlc with GNU Affero General Public License v3.0 | 4 votes |
@Override public void onSendRoutingInfoForLCSRequest(SendRoutingInfoForLCSRequest sendRoutingInforForLCSRequest) { if (logger.isDebugEnabled()) { logger.debug( String.format("onSendRoutingInfoForLCSRequest for DialogId=%d", sendRoutingInforForLCSRequest.getMAPDialog().getLocalDialogId())); } if (logger.isInfoEnabled()) { logger.info(String.format("onAnyTimeInterrogationRequest for DialogId=%d", sendRoutingInforForLCSRequest.getMAPDialog().getLocalDialogId())); } try { long invokeId = sendRoutingInforForLCSRequest.getInvokeId(); MAPDialogLsm mapDialogLsm = sendRoutingInforForLCSRequest.getMAPDialog(); mapDialogLsm.setUserObject(invokeId); // Create Routing Information parameters for concerning MAP operation MAPParameterFactoryImpl mapFactory = new MAPParameterFactoryImpl(); String mscAddress = "5982123007"; String sgsnAddress = "5982123009"; ISDNAddressString mscNumber = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, mscAddress); ISDNAddressString sgsnNumber = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, sgsnAddress); AdditionalNumber additionalNumber = new AdditionalNumberImpl(null, sgsnNumber); String lmsiStr = "12345678"; byte[] Lmsi = lmsiStr.getBytes(); LMSI lmsi = mapFactory.createLMSI(Lmsi); Boolean gprsNodeIndicator = false; boolean lcsCapabilitySetRelease98_99 = true; boolean lcsCapabilitySetRelease4 = true; boolean lcsCapabilitySetRelease5 = true; boolean lcsCapabilitySetRelease6 = true; boolean lcsCapabilitySetRelease7 = false; SupportedLCSCapabilitySets supportedLCSCapabilitySets = new SupportedLCSCapabilitySetsImpl(lcsCapabilitySetRelease98_99, lcsCapabilitySetRelease4, lcsCapabilitySetRelease5, lcsCapabilitySetRelease6, lcsCapabilitySetRelease7); lcsCapabilitySetRelease7 = true; SupportedLCSCapabilitySets additionalLCSCapabilitySets = new SupportedLCSCapabilitySetsImpl(lcsCapabilitySetRelease98_99, lcsCapabilitySetRelease4, lcsCapabilitySetRelease5, lcsCapabilitySetRelease6, lcsCapabilitySetRelease7); MAPExtensionContainer mapExtensionContainer = null; byte[] mmeNom = new BigInteger("00112233445566778899", 16).toByteArray(); DiameterIdentity mmeName = new DiameterIdentityImpl(mmeNom); byte[] aaaSN = new BigInteger("0011223344556677889900", 16).toByteArray(); DiameterIdentity aaaServerName = new DiameterIdentityImpl(aaaSN); ISDNAddressString isdnAdd = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, "59899077937"); SubscriberIdentity msisdn = new SubscriberIdentityImpl(isdnAdd); byte[] visitedGmlcAddress = new BigInteger("112233445500", 16).toByteArray(); GSNAddress vGmlcAddress = new GSNAddressImpl(visitedGmlcAddress); byte[] homeGmlcAddress = new BigInteger("11223344556677", 16).toByteArray(); GSNAddress hGmlcAddress = new GSNAddressImpl(homeGmlcAddress); byte[] pivacyProfileRegisterAddress = new BigInteger("112233445566", 16).toByteArray(); GSNAddress pprAddress = new GSNAddressImpl(pivacyProfileRegisterAddress); byte[] addVGmlcAddress = new BigInteger("8122334455", 16).toByteArray(); GSNAddress additionalVGmlcAddress = new GSNAddressImpl(addVGmlcAddress); LCSLocationInfo lcsLocationInfo = mapFactory.createLCSLocationInfo(mscNumber, lmsi, mapExtensionContainer, gprsNodeIndicator, additionalNumber, supportedLCSCapabilitySets, additionalLCSCapabilitySets, mmeName, aaaServerName); // addSendRoutingInfoForLCSResponse(long invokeId, SubscriberIdentity targetMS, LCSLocationInfo lcsLocationInfo, // MAPExtensionContainer extensionContainer, // byte[] vgmlcAddress, byte[] hGmlcAddress, byte[] pprAddress, byte[] additionalVGmlcAddress) mapDialogLsm.addSendRoutingInfoForLCSResponse(invokeId, msisdn, lcsLocationInfo, mapExtensionContainer, vGmlcAddress, hGmlcAddress, pprAddress, additionalVGmlcAddress); // This will initiate the TC-BEGIN with INVOKE component mapDialogLsm.close(false); } catch (MAPException mapException) { logger.error("MAP Exception while processing onSendRoutingInfoForLCSRequest ", mapException); } catch (Exception e) { logger.error("Exception while processing onSendRoutingInfoForLCSRequest ", e); } }
Example #18
Source File: Server.java From gmlc with GNU Affero General Public License v3.0 | 4 votes |
@Override public void onProvideSubscriberLocationRequest(ProvideSubscriberLocationRequest provideSubscriberLocationRequest) { if (logger.isDebugEnabled()) { logger.debug( String.format("onProvideSubscriberLocationRequest for DialogId=%d", provideSubscriberLocationRequest.getMAPDialog().getLocalDialogId())); } if (logger.isInfoEnabled()) { logger.info(String.format("onProvideSubscriberLocationRequest for DialogId=%d", provideSubscriberLocationRequest.getMAPDialog().getLocalDialogId())); } try { long invokeId = provideSubscriberLocationRequest.getInvokeId(); MAPDialogLsm mapDialogLsm = provideSubscriberLocationRequest.getMAPDialog(); mapDialogLsm.setUserObject(invokeId); // Create Routing Information parameters for concerning MAP operation MAPParameterFactoryImpl mapFactory = new MAPParameterFactoryImpl(); ISDNAddressString mscNumber = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, "5982123007"); ISDNAddressString sgsnNumber = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, "5982123009"); String lmsiStr = "87654321"; byte[] Lmsi = lmsiStr.getBytes(); LMSI lmsi = mapFactory.createLMSI(Lmsi); byte[] eGeographicalInformation = new BigInteger("014321a10022337799", 16).toByteArray(); ExtGeographicalInformation extGeographicalInformation = mapFactory.createExtGeographicalInformation(eGeographicalInformation); String posDataInfo = "55338901"; byte[] posDataInformation = posDataInfo.getBytes(); PositioningDataInformation positioningDataInformation = mapFactory.createPositioningDataInformation(posDataInformation); byte[] utranData = new BigInteger("43210987654321", 16).toByteArray(); UtranPositioningDataInfo utranPositioningDataInfo = new UtranPositioningDataInfoImpl(utranData); Integer ageOfLocationEstimate = 1; byte[] addLocationEstimate = new BigInteger("5533a100223377", 16).toByteArray(); AddGeographicalInformation additionalLocationEstimate = mapFactory.createAddGeographicalInformation(addLocationEstimate); /* long[] oid = {0, 0, 17, 773, 1, 1, 1}; String pExtData = "1144": byte[] privateExtData = pExtData.getBytes(); MAPPrivateExtension mapPrivateExtension = new MAPPrivateExtensionImpl(oid, privateExtData); ArrayList<MAPPrivateExtension> mapPrivateExtensions = new ArrayList<MAPPrivateExtension>(); mapPrivateExtensions.add(mapPrivateExtension); String pcsExt = "1033"; byte[] pcsExtensions = pcsExt.getBytes(); MAPExtensionContainer mapExtensionContainer = new MAPExtensionContainerImpl(mapPrivateExtensions, pcsExtensions); */ MAPExtensionContainer mapExtensionContainer = null; Boolean deferredMTLRResponseIndicator = true; int mcc, mnc, lac, cellIdOrServiceAreaCode; mcc = 748; mnc = 1; lac = 23; cellIdOrServiceAreaCode = 369; CellGlobalIdOrServiceAreaIdFixedLength cellGlobalIdOrServiceAreaIdFixedLength = mapFactory .createCellGlobalIdOrServiceAreaIdFixedLength(mcc, mnc, lac, cellIdOrServiceAreaCode); CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI = mapFactory .createCellGlobalIdOrServiceAreaIdOrLAI(cellGlobalIdOrServiceAreaIdFixedLength); Boolean saiPresent = true; AccuracyFulfilmentIndicator accuracyFulfilmentIndicator = AccuracyFulfilmentIndicator.getAccuracyFulfilmentIndicator(0); // AccuracyFulfilmentIndicator ::= ENUMERATED { requestedAccuracyFulfilled (0), requestedAccuracyNotFulfilled (1), ... } String velEstStr = "00000001"; byte[] velEst = velEstStr.getBytes(); VelocityEstimate velocityEstimate = mapFactory.createVelocityEstimate(velEst); Boolean moLrShortCircuitIndicator = true; byte[] gGanss = new BigInteger("666601019999", 16).toByteArray(); GeranGANSSpositioningData geranGANSSpositioningData = new GeranGANSSpositioningDataImpl(gGanss); byte[] uGanss = new BigInteger("777701019898", 16).toByteArray(); UtranGANSSpositioningData utranGANSSpositioningData = new UtranGANSSpositioningDataImpl(uGanss); ServingNodeAddress servingNodeAddress = mapFactory.createServingNodeAddressMscNumber(mscNumber); mapDialogLsm.addProvideSubscriberLocationResponse(invokeId, extGeographicalInformation, positioningDataInformation, utranPositioningDataInfo, ageOfLocationEstimate, additionalLocationEstimate, mapExtensionContainer, deferredMTLRResponseIndicator, cellGlobalIdOrServiceAreaIdOrLAI, saiPresent, accuracyFulfilmentIndicator, velocityEstimate, moLrShortCircuitIndicator, geranGANSSpositioningData, utranGANSSpositioningData, servingNodeAddress); // This will initiate the TC-BEGIN with INVOKE component mapDialogLsm.close(false); } catch (MAPException mapException) { logger.error("MAP Exception while processing onProvideSubscriberLocationRequest ", mapException); } catch (Exception e) { logger.error("Exception while processing onProvideSubscriberLocationRequest ", e); } }
Example #19
Source File: Server.java From gmlc with GNU Affero General Public License v3.0 | 4 votes |
@Override public void onSubscriberLocationReportRequest(SubscriberLocationReportRequest subscriberLocationReportRequest) { if (logger.isDebugEnabled()) { logger.debug( String.format("onSubscriberLocationReportRequest for DialogId=%d", subscriberLocationReportRequest.getMAPDialog().getLocalDialogId())); } if (logger.isInfoEnabled()) { logger.info(String.format("onSubscriberLocationReportRequest for DialogId=%d", subscriberLocationReportRequest.getMAPDialog().getLocalDialogId())); } try { long invokeId = subscriberLocationReportRequest.getInvokeId(); MAPDialogLsm mapDialogLsm = subscriberLocationReportRequest.getMAPDialog(); mapDialogLsm.setUserObject(invokeId); // Create Routing Information parameters for concerning MAP operation MAPParameterFactoryImpl mapFactory = new MAPParameterFactoryImpl(); ISDNAddressString naEsrd = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, "5982123007"); ISDNAddressString naEsrk = new ISDNAddressStringImpl(AddressNature.international_number, org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan.ISDN, "5982123009"); /* long[] oid = {0, 0, 17, 773, 1, 1, 1}; String privExtData = "1144"; byte[] privateExtData = privExtData.getBytes(); MAPPrivateExtension mapPrivateExtension = new MAPPrivateExtensionImpl(oid, privateExtData); ArrayList<MAPPrivateExtension> mapPrivateExtensions = new ArrayList<MAPPrivateExtension>(); mapPrivateExtensions.add(mapPrivateExtension); String pcsExtStr = "1033"; byte[] pcsExtensions = pcsExtStr.getBytes(); MAPExtensionContainer mapExtensionContainer = new MAPExtensionContainerImpl(mapPrivateExtensions, pcsExtensions); */ MAPExtensionContainer mapExtensionContainer = null; mapDialogLsm.addSubscriberLocationReportResponse(invokeId, naEsrd, naEsrk, mapExtensionContainer); // This will initiate the TC-BEGIN with INVOKE component mapDialogLsm.close(false); } catch (MAPException mapException) { logger.error("MAP Exception while processing onSubscriberLocationReportRequest ", mapException); } catch (Exception e) { logger.error("Exception while processing onSubscriberLocationReportRequest ", e); } }
Example #20
Source File: SS7Client.java From SigFW with GNU Affero General Public License v3.0 | 2 votes |
private void initSCCP() throws Exception { logger.debug("Initializing SCCP Stack ...."); this.sccpStack = new SccpStackImpl("SctpClientSCCP"); this.clientM3UAMgmt.setPersistDir(persistDir); this.sccpStack.setMtp3UserPart(1, this.clientM3UAMgmt); this.sccpStack.start(); this.sccpStack.removeAllResourses(); this.sccpStack.getSccpResource().addRemoteSpc(0, SERVER_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(0, SERVER_SPC, SSN, 0, false); this.sccpStack.getRouter().addMtp3ServiceAccessPoint(1, 1, CLIENT_SPC, NETWORK_INDICATOR, 0); this.sccpStack.getRouter().addMtp3Destination(1, 1, SERVER_SPC, SERVER_SPC, 0, 255, 255); this.sccpProvider = this.sccpStack.getSccpProvider(); //this.sccpStack.getSccpResource().addRemoteSpc(1, SERVER_SPC, 0, 0); //this.sccpStack.getSccpResource().addRemoteSsn(1, SERVER_SPC, SSN, 0, false); // SCCP routing table GlobalTitle gt = this.sccpProvider.getParameterFactory().createGlobalTitle("", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress(1, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, SERVER_SPC, 0)); //this.sccpStack.getRouter().addRoutingAddress(2, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_DPC_AND_SSN, gt, SERVER_SPC, SSN)); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); String mask = "K"; ((RouterImpl) this.sccpStack.getRouter()).addRule(1, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.LOCAL, pattern, mask, 1, -1, null, 0, null); pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); mask = "R"; ((RouterImpl) this.sccpStack.getRouter()).addRule(2, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.REMOTE, pattern, mask, 1, -1, null, 0, null); logger.debug("Initialized SCCP Stack ...."); }
Example #21
Source File: SS7ClientLiveInput.java From SigFW with GNU Affero General Public License v3.0 | 2 votes |
private void initSCCP() throws Exception { logger.debug("Initializing SCCP Stack ...."); this.sccpStack = new SccpStackImpl("SctpClientLiveInputSCCP"); this.sccpStack.setPersistDir(persistDir); this.sccpStack.setMtp3UserPart(1, this.clientM3UAMgmt); this.sccpStack.start(); this.sccpStack.removeAllResourses(); this.sccpStack.getSccpResource().addRemoteSpc(0, SERVER_SPC, 0, 0); this.sccpStack.getSccpResource().addRemoteSsn(0, SERVER_SPC, SSN, 0, false); this.sccpStack.getRouter().addMtp3ServiceAccessPoint(1, 1, CLIENT_SPC, NETWORK_INDICATOR, 0); this.sccpStack.getRouter().addMtp3Destination(1, 1, SERVER_SPC, SERVER_SPC, 0, 255, 255); this.sccpProvider = this.sccpStack.getSccpProvider(); //this.sccpStack.getSccpResource().addRemoteSpc(1, SERVER_SPC, 0, 0); //this.sccpStack.getSccpResource().addRemoteSsn(1, SERVER_SPC, SSN, 0, false); // SCCP routing table GlobalTitle gt = this.sccpProvider.getParameterFactory().createGlobalTitle("", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); this.sccpStack.getRouter().addRoutingAddress(1, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, SERVER_SPC, 0)); //this.sccpStack.getRouter().addRoutingAddress(2, this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_DPC_AND_SSN, gt, SERVER_SPC, SSN)); gt = this.sccpProvider.getParameterFactory().createGlobalTitle("*", 0, org.mobicents.protocols.ss7.indicator.NumberingPlan.ISDN_TELEPHONY, null, NatureOfAddress.INTERNATIONAL); SccpAddress pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); String mask = "K"; ((RouterImpl) this.sccpStack.getRouter()).addRule(1, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.LOCAL, pattern, mask, 1, -1, null, 0, null); pattern = this.sccpProvider.getParameterFactory().createSccpAddress(RoutingIndicator.ROUTING_BASED_ON_GLOBAL_TITLE, gt, 0, 0); mask = "R"; ((RouterImpl) this.sccpStack.getRouter()).addRule(2, RuleType.SOLITARY, LoadSharingAlgorithm.Bit0, OriginationType.REMOTE, pattern, mask, 1, -1, null, 0, null); logger.debug("Initialized SCCP Stack ...."); }