org.mobicents.protocols.ss7.map.api.service.mobility.MAPDialogMobility Java Examples

The following examples show how to use org.mobicents.protocols.ss7.map.api.service.mobility.MAPDialogMobility. 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 4 votes vote down vote up
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 #2
Source File: SS7Honeypot.java    From SigFW with GNU Affero General Public License v3.0 4 votes vote down vote up
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 #3
Source File: ProvideSubscriberInformationResp.java    From SigPloit with MIT License 4 votes vote down vote up
@Override
public void onProvideSubscriberInfoRequest(ProvideSubscriberInfoRequest provideSubscriberInfoRequest) {
    try{

        long invokeId = provideSubscriberInfoRequest.getInvokeId();

        //Creating Subscriber Information
        //cs domain info
        double Lat = 29.13;
        double Long = 31.56;
        double Uncertain = 10.123;

        //more accurate info from ps domain
        double Lat_ps = 28.113;
        double Long_ps = 32.568;
        double Uncertain_ps = 2.12;

        int mcc = 602;
        int mnc = 03;
        int LAC = 1234;
        int CI = 5678;

        GeographicalInformation geographicalInformation = this.mapProvider.getMAPParameterFactory()
                .createGeographicalInformation(Lat,Long,Uncertain);

        CellGlobalIdOrServiceAreaIdFixedLength cellGlobalIdOrServiceAreaIdFixedLength =
                this.mapProvider.getMAPParameterFactory().createCellGlobalIdOrServiceAreaIdFixedLength(mcc,mnc,LAC,CI);
        CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI = this.mapProvider
                .getMAPParameterFactory().createCellGlobalIdOrServiceAreaIdOrLAI(cellGlobalIdOrServiceAreaIdFixedLength);

        ISDNAddressString Vmsc = this.mapProvider.getMAPParameterFactory()
                .createISDNAddressString(AddressNature.international_number,NumberingPlan.ISDN,"2015512458123");

        LocationInformation locationInformation = this.mapProvider.getMAPParameterFactory()
                .createLocationInformation(30,geographicalInformation,Vmsc,null,cellGlobalIdOrServiceAreaIdOrLAI
                        ,null,null,null,null,false,false,null,null);

        IMEI imei = this.mapProvider.getMAPParameterFactory().createIMEI("35209900176148");

        SubscriberState subscriberState = this.mapProvider.getMAPParameterFactory()
                .createSubscriberState(SubscriberStateChoice.assumedIdle,null);

        ISDNAddressString sgsn = this.mapProvider.getMAPParameterFactory()
                .createISDNAddressString(AddressNature.international_number,NumberingPlan.ISDN,"20155555555");

        GeographicalInformation geographicalInformation_ps = this.mapProvider.getMAPParameterFactory()
                .createGeographicalInformation(Lat_ps,Long_ps,Uncertain_ps);

        RAIdentity raIdentity = this.mapProvider.getMAPParameterFactory().createRAIdentity(new byte[] {(byte) 0x06,(byte)0x0020, (byte) 0x3, (byte) 0x40,
                (byte)0x2d, (byte) 0x21});

        LocationInformationGPRS locationInformationGPRS = this.mapProvider.getMAPParameterFactory().
                createLocationInformationGPRS(null,raIdentity,geographicalInformation_ps,sgsn,null,null,false,null,
                        true,30);

        SubscriberInfo subscriberInfo = this.mapProvider.getMAPParameterFactory()
                .createSubscriberInfo(locationInformation,subscriberState,null,locationInformationGPRS,null,imei,null,
                        null,null);

        MAPDialogMobility mapDialogMobility = provideSubscriberInfoRequest.getMAPDialog();

        mapDialogMobility.setUserObject(invokeId);
        mapDialogMobility.addProvideSubscriberInfoResponse(invokeId,subscriberInfo,null);

        mapDialogMobility.send();

        logger.info("Subscriber Information Sent.....");

    } catch (MAPException e){
        e.printStackTrace();
    }


}
 
Example #4
Source File: AnyTimeInterrogationResp.java    From SigPloit with MIT License 4 votes vote down vote up
@Override
public void onAnyTimeInterrogationRequest(AnyTimeInterrogationRequest anyTimeInterrogationRequest) {
    try{

        long invokeId = anyTimeInterrogationRequest.getInvokeId();

        //Creating Subscriber Information
        //cs domain info
        double Lat = 29.13;
        double Long = 31.56;
        double Uncertain = 10.123;

        //more accurate info from ps domain
        double Lat_ps = 28.113;
        double Long_ps = 32.568;
        double Uncertain_ps = 2.12;

        int mcc = 419;
        int mnc = 02;
        int LAC = 1234;
        int CI = 5678;

        GeographicalInformation geographicalInformation = this.mapProvider.getMAPParameterFactory()
                .createGeographicalInformation(Lat,Long,Uncertain);

        CellGlobalIdOrServiceAreaIdFixedLength cellGlobalIdOrServiceAreaIdFixedLength =
                this.mapProvider.getMAPParameterFactory().createCellGlobalIdOrServiceAreaIdFixedLength(mcc,mnc,LAC,CI);
        CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI = this.mapProvider
                .getMAPParameterFactory().createCellGlobalIdOrServiceAreaIdOrLAI(cellGlobalIdOrServiceAreaIdFixedLength);

        ISDNAddressString Vmsc = this.mapProvider.getMAPParameterFactory()
                .createISDNAddressString(AddressNature.international_number,NumberingPlan.ISDN,"2015512458123");

        LocationInformation locationInformation = this.mapProvider.getMAPParameterFactory()
                .createLocationInformation(30,geographicalInformation,Vmsc,null,cellGlobalIdOrServiceAreaIdOrLAI
                        ,null,null,null,null,true,false,null,null);

        IMEI imei = this.mapProvider.getMAPParameterFactory().createIMEI("35209900176148");

        SubscriberState subscriberState = this.mapProvider.getMAPParameterFactory()
                .createSubscriberState(SubscriberStateChoice.assumedIdle,null);

        ISDNAddressString sgsn = this.mapProvider.getMAPParameterFactory()
                .createISDNAddressString(AddressNature.international_number,NumberingPlan.ISDN,"20155555555");

        GeographicalInformation geographicalInformation_ps = this.mapProvider.getMAPParameterFactory()
                .createGeographicalInformation(Lat_ps,Long_ps,Uncertain_ps);


        LocationInformationGPRS locationInformationGPRS = this.mapProvider.getMAPParameterFactory().
                createLocationInformationGPRS(null,null,geographicalInformation_ps,sgsn,null,null,false,null,
                        true,30);

        SubscriberInfo subscriberInfo = this.mapProvider.getMAPParameterFactory()
                .createSubscriberInfo(locationInformation,subscriberState,null,locationInformationGPRS,null,imei,null,
                        null,null);

        MAPDialogMobility mapDialogMobility = anyTimeInterrogationRequest.getMAPDialog();

        mapDialogMobility.setUserObject(invokeId);
        mapDialogMobility.addAnyTimeInterrogationResponse(invokeId,subscriberInfo,null);

        mapDialogMobility.send();

        logger.info("Subscriber Information Sent.....");

    } catch (MAPException e){
        e.printStackTrace();
    }

}
 
Example #5
Source File: UpdateLocationResp.java    From SigPloit with MIT License 4 votes vote down vote up
@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 #6
Source File: Server.java    From gmlc with GNU Affero General Public License v3.0 4 votes vote down vote up
@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 #7
Source File: ClientServer.java    From gmlc with GNU Affero General Public License v3.0 4 votes vote down vote up
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);
    }

  }