public void addProvideSubscriberLocationResponse(long invokeId, ExtGeographicalInformation locationEstimate,
            PositioningDataInformation geranPositioningData, UtranPositioningDataInfo utranPositioningData,
            Integer ageOfLocationEstimate, AddGeographicalInformation additionalLocationEstimate,
            MAPExtensionContainer extensionContainer, boolean deferredMTLRResponseIndicator,
            CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI, boolean saiPresent,
            AccuracyFulfilmentIndicator accuracyFulfilmentIndicator, VelocityEstimate velocityEstimate,
            boolean moLrShortCircuitIndicator, GeranGANSSpositioningData geranGANSSpositioningData,
            UtranGANSSpositioningData utranGANSSpositioningData, ServingNodeAddress targetServingNodeForHandover)
            throws MAPException {

        if (locationEstimate == null) {
            throw new MAPException("addProvideSubscriberLocationResponse: Mandatroy parameters locationEstimate cannot be null");
        }

        if ((this.appCntx.getApplicationContextName() != MAPApplicationContextName.locationSvcEnquiryContext)
                || this.appCntx.getApplicationContextVersion() != MAPApplicationContextVersion.version3)
            throw new MAPException(
                    "Bad application context name for addProvideSubscriberLocationResponse: must be locationSvcEnquiryContext_V3");

        ReturnResultLast resultLast = this.mapProviderImpl.getTCAPProvider().getComponentPrimitiveFactory()
                .createTCResultLastRequest();
        resultLast.setInvokeId(invokeId);

        // Operation Code
        OperationCode oc = this.mapProviderImpl.getTCAPProvider().getComponentPrimitiveFactory().createOperationCode();
        oc.setLocalOperationCode((long) MAPOperationCode.provideSubscriberLocation);
        resultLast.setOperationCode(oc);

        ProvideSubscriberLocationResponseImpl resInd = new ProvideSubscriberLocationResponseImpl(locationEstimate,
                geranPositioningData, utranPositioningData, ageOfLocationEstimate, additionalLocationEstimate,
                extensionContainer, deferredMTLRResponseIndicator, cellGlobalIdOrServiceAreaIdOrLAI, saiPresent,
                accuracyFulfilmentIndicator, velocityEstimate, moLrShortCircuitIndicator, geranGANSSpositioningData,
                utranGANSSpositioningData, targetServingNodeForHandover);

        AsnOutputStream asnOs = new AsnOutputStream();
        resInd.encodeData(asnOs);

        Parameter p = this.mapProviderImpl.getTCAPProvider().getComponentPrimitiveFactory().createParameter();
        p.setTagClass(resInd.getTagClass());
        p.setPrimitive(resInd.getIsPrimitive());
        p.setTag(resInd.getTag());
        p.setData(asnOs.toByteArray());

        resultLast.setParameter(p);

        this.sendReturnResultLastComponent(resultLast);
    }
public void addProvideSubscriberLocationResponse ( long invokeId , ExtGeographicalInformation locationEstimate , PositioningDataInformation geranPositioningData , UtranPositioningDataInfo utranPositioningData , Integer ageOfLocationEstimate , AddGeographicalInformation additionalLocationEstimate , MAPExtensionContainer extensionContainer , boolean deferredMTLRResponseIndicator , CellGlobalIdOrServiceAreaIdOrLAI cellGlobalIdOrServiceAreaIdOrLAI , boolean saiPresent , AccuracyFulfilmentIndicator accuracyFulfilmentIndicator , VelocityEstimate velocityEstimate , boolean moLrShortCircuitIndicator , GeranGANSSpositioningData geranGANSSpositioningData , UtranGANSSpositioningData utranGANSSpositioningData , ServingNodeAddress targetServingNodeForHandover ) throws MAPException { if ( locationEstimate == null ) { throw new MAPException ( "addProvideSubscriberLocationResponse: Mandatroy parameters locationEstimate cannot be null" ) ; } if ( ( this . appCntx . getApplicationContextName ( ) != MAPApplicationContextName . locationSvcEnquiryContext ) || this . appCntx . getApplicationContextVersion ( ) != MAPApplicationContextVersion . version3 ) throw new MAPException ( "Bad application context name for addProvideSubscriberLocationResponse: must be locationSvcEnquiryContext_V3" ) ; ReturnResultLast resultLast = this . mapProviderImpl . getTCAPProvider ( ) . getComponentPrimitiveFactory ( ) . createTCResultLastRequest ( ) ; resultLast . setInvokeId ( invokeId ) ; OperationCode oc = this . mapProviderImpl . getTCAPProvider ( ) . getComponentPrimitiveFactory ( ) . createOperationCode ( ) ; oc . setLocalOperationCode ( ( long ) MAPOperationCode . provideSubscriberLocation ) ; resultLast . setOperationCode ( oc ) ; ProvideSubscriberLocationResponseImpl resInd = new ProvideSubscriberLocationResponseImpl ( locationEstimate , geranPositioningData , utranPositioningData , ageOfLocationEstimate , additionalLocationEstimate , extensionContainer , deferredMTLRResponseIndicator , cellGlobalIdOrServiceAreaIdOrLAI , saiPresent , accuracyFulfilmentIndicator , velocityEstimate , moLrShortCircuitIndicator , geranGANSSpositioningData , utranGANSSpositioningData , targetServingNodeForHandover ) ; AsnOutputStream asnOs = new AsnOutputStream ( ) ; resInd . encodeData ( asnOs ) ; Parameter p = this . mapProviderImpl . getTCAPProvider ( ) . getComponentPrimitiveFactory ( ) . createParameter ( ) ; p . setTagClass ( resInd . getTagClass ( ) ) ; p . setPrimitive ( resInd . getIsPrimitive ( ) ) ; p . setTag ( resInd . getTag ( ) ) ; p . setData ( asnOs . toByteArray ( ) ) ; resultLast . setParameter ( p ) ; this . sendReturnResultLastComponent ( resultLast ) ; }
/*
(non-Javadoc)

@see org.restcomm.protocols.ss7.map.api.service.lsm.MAPDialogLsm# addProvideSubscriberLocationResponse(long, byte[],
byte[], byte[], java.lang.Integer, byte[], org.restcomm.protocols.ss7.map.api.primitives.MAPExtensionContainer,
java.lang.Boolean, org.restcomm.protocols.ss7.map.api.service.lsm. CellGlobalIdOrServiceAreaIdOrLAI, java.lang.Boolean,
org.mobicents.protocols .ss7.map.api.service.lsm.AccuracyFulfilmentIndicator)