/* * JBoss, Home of Professional Open Source * Copyright 2011, Red Hat, Inc. 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.lsm; import org.mobicents.protocols.ss7.map.api.primitives.CellGlobalIdOrServiceAreaIdOrLAI; import org.mobicents.protocols.ss7.map.api.primitives.GSNAddress; import org.mobicents.protocols.ss7.map.api.primitives.IMEI; import org.mobicents.protocols.ss7.map.api.primitives.IMSI; import org.mobicents.protocols.ss7.map.api.primitives.ISDNAddressString; /** * MAP V3: * * subscriberLocationReport OPERATION ::= { --Timer m ARGUMENT SubscriberLocationReport-Arg RESULT SubscriberLocationReport-Res * ERRORS { systemFailure | dataMissing | resourceLimitation | unexpectedDataValue | unknownSubscriber | * unauthorizedRequestingNetwork | unknownOrUnreachableLCSClient} CODE local:86 } * * SubscriberLocationReport-Arg ::= SEQUENCE { lcs-Event LCS-Event, lcs-ClientID LCS-ClientID, lcsLocationInfo LCSLocationInfo, * msisdn [0] ISDN-AddressString OPTIONAL, imsi [1] IMSI OPTIONAL, imei [2] IMEI OPTIONAL, na-ESRD [3] ISDN-AddressString * OPTIONAL, na-ESRK [4] ISDN-AddressString OPTIONAL, locationEstimate [5] Ext-GeographicalInformation OPTIONAL, * ageOfLocationEstimate [6] AgeOfLocationInformation OPTIONAL, slr-ArgExtensionContainer [7] SLR-ArgExtensionContainer * OPTIONAL, ... , add-LocationEstimate [8] Add-GeographicalInformation OPTIONAL, deferredmt-lrData [9] Deferredmt-lrData * OPTIONAL, lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL, geranPositioningData [11] PositioningDataInformation * OPTIONAL, utranPositioningData [12] UtranPositioningDataInfo OPTIONAL, cellIdOrSai [13] CellGlobalIdOrServiceAreaIdOrLAI * OPTIONAL, h-gmlc-Address [14] GSN-Address OPTIONAL, lcsServiceTypeID [15] LCSServiceTypeID OPTIONAL, sai-Present [17] NULL * OPTIONAL, pseudonymIndicator [18] NULL OPTIONAL, accuracyFulfilmentIndicator [19] AccuracyFulfilmentIndicator OPTIONAL, * velocityEstimate [20] VelocityEstimate OPTIONAL, sequenceNumber [21] SequenceNumber OPTIONAL, periodicLDRInfo [22] * PeriodicLDRInfo OPTIONAL, mo-lrShortCircuitIndicator [23] NULL OPTIONAL, geranGANSSpositioningData [24] * GeranGANSSpositioningData OPTIONAL, utranGANSSpositioningData [25] UtranGANSSpositioningData OPTIONAL, * targetServingNodeForHandover [26] ServingNodeAddress OPTIONAL } * * -- one of msisdn or imsi is mandatory -- a location estimate that is valid for the locationEstimate parameter should -- be * transferred in this parameter in preference to the add-LocationEstimate. -- the deferredmt-lrData parameter shall be included * if and only if the lcs-Event -- indicates a deferredmt-lrResponse. -- if the lcs-Event indicates a deferredmt-lrResponse then * the locationEstimate -- and the add-locationEstimate parameters shall not be sent if the -- supportedGADShapes parameter had * been received in ProvideSubscriberLocation-Arg -- and the shape encoded in locationEstimate or add-LocationEstimate was not * marked -- as supported in supportedGADShapes. In such a case terminationCause -- in deferredmt-lrData shall be present with * value -- shapeOfLocationEstimateNotSupported. -- If a lcs event indicates deferred mt-lr response, the lcs-Reference number * shall be -- included. -- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity. * * SequenceNumber ::= INTEGER (1..8639999) * * * @author amit bhayani * @author sergey vetyutnev * */ public interface SubscriberLocationReportRequest extends LsmMessage { LCSEvent getLCSEvent(); LCSClientID getLCSClientID(); LCSLocationInfo getLCSLocationInfo(); ISDNAddressString getMSISDN(); IMSI getIMSI(); IMEI getIMEI(); ISDNAddressString getNaESRD(); ISDNAddressString getNaESRK(); ExtGeographicalInformation getLocationEstimate(); /** * AgeOfLocationInformation ::= INTEGER (0..32767) -- the value represents the elapsed time in minutes since the last -- * network contact of the mobile station (i.e. the actuality of the -- location information). -- value "0" indicates that * the MS is currently in contact with the -- network -- value "32767" indicates that the location information is at least * -- 32767 minutes old * * @return */ Integer getAgeOfLocationEstimate(); SLRArgExtensionContainer getSLRArgExtensionContainer(); /** * Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation)) -- Refers to geographical * Information defined in 3GPP TS 23.032. -- This is composed of 1 or more octets with an internal structure according to -- * 3GPP TS 23.032 -- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed: -- Octets 2 to n (where n * is the total number of octets necessary to encode the shape -- according to 3GPP TS 23.032) are used to encode the shape * itself in accordance with the -- encoding defined in 3GPP TS 23.032 -- -- An Add-GeographicalInformation parameter, * whether valid or invalid, received -- together with a valid Ext-GeographicalInformation parameter in the same message -- * shall be discarded. -- -- An Add-GeographicalInformation parameter containing any shape not defined in -- 3GPP TS 23.032 * or an incorrect number of octets or coding according to -- 3GPP TS 23.032 shall be treated as invalid data by a receiver * if not received -- together with a valid Ext-GeographicalInformation parameter in the same message. * * * maxAdd-GeographicalInformation INTEGER ::= 91 -- the maximum length allows support for all the shapes currently defined * in 3GPP TS 23.032 * * @return */ AddGeographicalInformation getAdditionalLocationEstimate(); DeferredmtlrData getDeferredmtlrData(); /** * LCS-ReferenceNumber::= OCTET STRING (SIZE(1)) * * @return */ Integer getLCSReferenceNumber(); /** * PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation)) -- Refers to the Positioning Data * defined in 3GPP TS 49.031. -- This is composed of 2 or more octets with an internal structure according to -- 3GPP TS * 49.031. * * maxPositioningDataInformation INTEGER ::= 10 * * @return */ PositioningDataInformation getGeranPositioningData(); /** * UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo)) -- Refers to the Position Data defined * in 3GPP TS 25.413. -- This is composed of the positioningDataDiscriminator and the positioningDataSet -- included in * positionData as defined in 3GPP TS 25.413. * * maxUtranPositioningDataInfo INTEGER ::= 11 * * @return */ UtranPositioningDataInfo getUtranPositioningData(); CellGlobalIdOrServiceAreaIdOrLAI getCellGlobalIdOrServiceAreaIdOrLAI(); /** * GSN-Address ::= OCTET STRING (SIZE (5..17)) -- Octets are coded according to TS 3GPP TS 23.003 [17] * * @return */ GSNAddress getHGMLCAddress(); /** * LCSServiceTypeID ::= INTEGER (0..127) -- the integer values 0-63 are reserved for Standard LCS service types -- the * integer values 64-127 are reserved for Non Standard LCS service types * * @return */ Integer getLCSServiceTypeID(); boolean getSaiPresent(); boolean getPseudonymIndicator(); AccuracyFulfilmentIndicator getAccuracyFulfilmentIndicator(); VelocityEstimate getVelocityEstimate(); Integer getSequenceNumber(); PeriodicLDRInfo getPeriodicLDRInfo(); boolean getMoLrShortCircuitIndicator(); GeranGANSSpositioningData getGeranGANSSpositioningData(); UtranGANSSpositioningData getUtranGANSSpositioningData(); ServingNodeAddress getTargetServingNodeForHandover(); }