/* * TeleStax, Open Source Cloud Communications Copyright 2012. * and individual contributors * by the @authors tag. See the copyright.txt in the distribution for a * full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.mobicents.protocols.ss7.map.api.service.lsm; import org.mobicents.protocols.ss7.map.api.primitives.CellGlobalIdOrServiceAreaIdOrLAI; import org.mobicents.protocols.ss7.map.api.primitives.MAPExtensionContainer; /** * ProvideSubscriberLocation-Res ::= SEQUENCE { locationEstimate Ext-GeographicalInformation, ageOfLocationEstimate [0] * AgeOfLocationInformation OPTIONAL, extensionContainer [1] ExtensionContainer OPTIONAL, ... , add-LocationEstimate [2] * Add-GeographicalInformation OPTIONAL, deferredmt-lrResponseIndicator [3] NULL OPTIONAL, geranPositioningData [4] * PositioningDataInformation OPTIONAL, utranPositioningData [5] UtranPositioningDataInfo OPTIONAL, cellIdOrSai [6] * CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, sai-Present [7] NULL OPTIONAL, accuracyFulfilmentIndicator [8] * AccuracyFulfilmentIndicator OPTIONAL, velocityEstimate [9] VelocityEstimate OPTIONAL, mo-lrShortCircuitIndicator [10] NULL * OPTIONAL, geranGANSSpositioningData [11] GeranGANSSpositioningData OPTIONAL, utranGANSSpositioningData [12] * UtranGANSSpositioningData OPTIONAL, targetServingNodeForHandover [13] ServingNodeAddress OPTIONAL } * * -- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored. * * -- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the -- geographic shapes supported in * the ProvideSubscriberLocation-Arg -- The locationEstimate and the add-locationEstimate parameters shall not be sent if -- the * supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg -- and the shape encoded in locationEstimate * or add-LocationEstimate is not marked -- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation -- * shall be rejected with error FacilityNotSupported with additional indication -- shapeOfLocationEstimateNotSupported. -- * sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity. * * * @author amit bhayani * */ public interface ProvideSubscriberLocationResponse extends LsmMessage { /** * Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-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, only the following shapes in 3GPP TS 23.032 are allowed: -- (a) Ellipsoid point * with uncertainty circle -- (b) Ellipsoid point with uncertainty ellipse -- (c) Ellipsoid point with altitude and * uncertainty ellipsoid -- (d) Ellipsoid Arc -- (e) Ellipsoid Point -- Any other value in octet 1 shall be treated as * invalid -- Octets 2 to 8 for case (a) – Ellipsoid point with uncertainty circle -- Degrees of Latitude 3 octets -- * Degrees of Longitude 3 octets -- Uncertainty code 1 octet -- Octets 2 to 11 for case (b) – Ellipsoid point with * uncertainty ellipse: -- Degrees of Latitude 3 octets -- Degrees of Longitude 3 octets -- Uncertainty semi-major axis 1 * octet -- Uncertainty semi-minor axis 1 octet -- Angle of major axis 1 octet -- Confidence 1 octet -- Octets 2 to 14 for * case (c) – Ellipsoid point with altitude and uncertainty ellipsoid -- Degrees of Latitude 3 octets -- Degrees of * Longitude 3 octets -- Altitude 2 octets -- Uncertainty semi-major axis 1 octet -- Uncertainty semi-minor axis 1 octet -- * Angle of major axis 1 octet -- Uncertainty altitude 1 octet -- Confidence 1 octet -- Octets 2 to 13 for case (d) – * Ellipsoid Arc -- Degrees of Latitude 3 octets -- Degrees of Longitude 3 octets -- Inner radius 2 octets -- Uncertainty * radius 1 octet -- Offset angle 1 octet -- Included angle 1 octet -- Confidence 1 octet -- Octets 2 to 7 for case (e) – * Ellipsoid Point -- Degrees of Latitude 3 octets -- Degrees of Longitude 3 octets -- -- An Ext-GeographicalInformation * parameter comprising more than one octet and -- containing any other shape or an incorrect number of octets or coding * according -- to 3GPP TS 23.032 shall be treated as invalid data by a receiver. -- -- An Ext-GeographicalInformation * parameter comprising one octet shall be discarded -- by the receiver if an Add-GeographicalInformation parameter is * received -- in the same message. -- -- An Ext-GeographicalInformation parameter comprising one octet shall be treated as * -- invalid data by the receiver if an Add-GeographicalInformation parameter is not -- received in the same message. * * * maxExt-GeographicalInformation INTEGER ::= 20 -- the maximum length allows for further shapes in 3GPP TS 23.032 to be * included in later -- versions of 3GPP TS 29.002 * * @return */ ExtGeographicalInformation getLocationEstimate(); /** * 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(); /** * 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(); /** * 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(); MAPExtensionContainer getExtensionContainer(); boolean getDeferredMTLRResponseIndicator(); CellGlobalIdOrServiceAreaIdOrLAI getCellIdOrSai(); boolean getSaiPresent(); AccuracyFulfilmentIndicator getAccuracyFulfilmentIndicator(); VelocityEstimate getVelocityEstimate(); boolean getMoLrShortCircuitIndicator(); GeranGANSSpositioningData getGeranGANSSpositioningData(); UtranGANSSpositioningData getUtranGANSSpositioningData(); ServingNodeAddress getTargetServingNodeForHandover(); }