El objetivo de este seminario, el 16 de marzo de 2011, es repasar las distintas tecnologías de localización existentes actualmente, así como dar a conocer las que Telefónica pone a disposición de sus partnes para el desarrollo de aplicaciones. La segunda parte del seminario expondrá un ejemplo práctico de cómo desarrollar una aplicación de localización mediante la plataforma GPP de Telefónica.
2. Índice
01 Introducción- Tecnologías de localización
- Conceptos LBS
- Acrónimos y abreviaturas
- Tecnologías de localización
- Organismos de estandarización
02 Cadena de valor LBS
03 Desarrollo general de servicios LBS
- Funcionalidad demandada
- Aspectos de seguridad
- Aspectos de privacidad
- Ejemplos de servicios
2
3. Índice
04 Plataforma GPP
- Descripción de entidades
- Módulos funcionales
- Descripción de entidades
- Módulos funcionales
GPP Protocol (API)
Security Manager
Privacy Manager
Media Channel
Positioning Broker
- Ejemplo flujo de petición
3
4. Índice
05 Operativa del Servicio Gestión de Empresas
- Estructura Gestión de Empresas
- Conceptos asociados estructura
- Comparativa de entidades
- Acceso y flujo de comunicación
- API Gestión de Empresas
- Errores habituales API Gestión de Empresas
06 Dudas y preguntas
4
5. 01 Introducción
Conceptos LBS
LBS (Location Based Services): Servicios de información
que integran una localización o ubicación de un dispositivo móvil con otra
información para proveer un valor agregado a un usuario.
MS (Mobile Station): Terminal de abonado, usuario de un
Operador. Hace referencia al dispositivo (teléfono móvil).
5
6. 01 Introducción
Conceptos LBS
Cell-Id: La cobertura individual de una BTS (omnidireccional o sectorial) es
lo que se asocia al concepto de Celda (CellId). Es un número que identifica de
forma unívoca a una célula dentro de un territorio nacional.
LAC (Location Area Code): Código identificador de área. Este
código se asocia a un conjunto de celdas adyacentes.
6
7. 01 Introducción
Conceptos LBS
HLR (Home Location Register): Base de datos que contiene información
relativa a los abonados de una red. Describe a su vez las opciones y servicios
contratados por el abonado y aquellas opciones a las que tiene acceso. Almacena
además el ID del VLR que registra al abonado en cada momento así como el estado de
su terminal (fuera de servicio, encendido, en comunicación)..
VLR (Visitor Location Register): Base de datos asociada a un
conmutador que almacena la identidad de los abonados itinerantes de la red. Su
funcionalidad es importante, ya que se utiliza para controlar la ubicación de un
abonado. Cada VLR gestiona una o más LAC.
7
8. 01 Introducción
Conceptos LBS
BTS (Base Transceiver Station): Una estación base es un emisor/
receptor de radio capaz de enlazar las MSs con la infraestructura fija de la red.
Una estación base garantiza la cobertura radioeléctrica en una célula de la red
(concepto CellId).
SS7 (MAP)
MS
HLR
BTS
VLR
MS
BTS
8
12. 01 Introducción
Tecnologías de localización
En la arquitectura de servicios LBS la entidad principal es el servidor de
localización (LS, Location Server) encargado de obtener la posición del MS
en base a las tecnologías de localización disponibles.
Las diversas tecnologías de localización presentan características en base a
diversos factores:
Grado de precisión
Tiempo de respuesta
Consumo de recursos de red
Equipamiento (HW) necesario
Datos internos/externos requeridos, etc.
Arquitectura:
Plano de Control (Control Plane )
Plano de Usuario (User Plane)
12
13. 01 Introducción
Tecnologías de localización.
CONCEPTOS
Control Plane (Network Based):
— El terminal (MS) es pasivo y no interviene en el proceso de su localización. El
servidor LS realiza el proceso de localización del MS a partir de los recursos
de red (HLR, VLR, …) disponibles.
User Plane (Network Assisted):
— El terminal móvil participa en el proceso de obtención de su posición ya sea
enviando datos al servidor para que éste efectúe el cálculo o recibiendo
datos de asistencia del servidor para que el terminal obtenga la posición
final.
13
14. 01 Introducción
Tecnologías de localización.
Arquitectura User Plane
• SUPL: Secure User Plane
• ULP: User Plane Location Protocol
14
15. 01 Introducción
Tecnologías de localización.
CGI (Cell Global Identity)
Tecnología más sencilla y más utilizada por los operadores
Utiliza la celda servidora a la que está conectado el terminal móvil para su
localización
La precisión de este método depende del radio de cobertura de la celda que
puede variar en 100-400 metros en áreas urbanas a 3-20km en áreas
rurales
15
16. 01 Introducción
Tecnologías de localización.
1. Cuando el dispositivo cambia de celda se informa al VLR
2. El VLR apunta al MS y al CellId donde está
registrado
3. Si es el primer apunte en el VLR, provoca mensaje
hacia HLR indicando el nuevo VLR que da
servicio
4 El HLR apunta el MS junto con el VLR
actual y envía mensaje al VLR anterior para
eliminación de su lista
5 El sistema LS accede al HLR y obtiene el VLRId actual.
Con este dato, accede a dicho VLR para obtener la celda
6 A partir del CellId, LS accede a la BBDD
de BTS de la Operadora donde se encuentra
la descripción geométrica del CellId asociado
16
17. 01 Introducción
Tecnologías de localización.
CGI-TA (Cell Global Identity-Timing Advance)
Tecnología CGI perfeccionada, mejorando la precisión
Tiene en cuenta el parámetro de avance temporal
TA, es la estimación de la distancia desde el MS a la BTS
Mejora en entornos rurales
17
19. 01 Introducción
Tecnologías de localización.
TOA (Time of Arrival)
Basada en medición del tiempo de llegada de una señal trasmitida por MS a
diferentes BTS (mínimo 3 BTS)
La distancia recorrida se calcula como producto del tiempo empleado en
llegar a BTS y velocidad de la luz.
Las medidas permiten trazar circunferencias con centro en cada una de las
BTS, dando su intersección el punto de localización del terminal.
La precisión depende de la sincronización en el tiempo de las BTS y la visión
directa entre el MS y la estación base.
19
20. 01 Introducción
Tecnologías de localización.
TDOA (Time Difference Of Arrival)
Basada en medición de la diferencia del tiempo de llegada de una señal
trasmitida por MS a distintos pares de BTS.
No necesario conocer los tiempos de llegada basta conocer la diferencia de
tiempos.
Al igual que en TOA, la sincronización entre estaciones base es muy
importante, pues la falta de sincronía se traduce en errores de precisión.
A diferencia de TOA, puede funcionar sin la visión directa entre el MS y la
estación base ya que la diferencia de tiempos cancela posibles errores por
reflexiones.
20
21. 01 Introducción
Tecnologías de localización.
TDOA (Time Difference Of Arrival)
En áreas urbanas, a veces es necesario efectuar las medidas respecto a
cuatro BTS por los efectos de reflexiones.
21
22. 01 Introducción
Tecnologías de localización.
E-OTD (Enhanced Observed Time Difference)
Tecnología tanto en el terminal móvil como en la red.
La solución de red similar a la utilizada en TDOA.
Sistema necesita instalación de unidades de medida de posición (LMU
Location Measurement Units).
Necesario instalar una LMU por cada una o dos BTS.
Los receptores LMU y MS habilitados con software E-OTD realizan medidas
de señales procedentes de tres o más BTS periódicamente.
22
23. 01 Introducción
Tecnologías de localización.
E-OTD (Enhanced Observed Time Difference)
Las diferencias temporales de llegada de la señal a los dos puntos (LMU y
terminal) se combinan para triangular la posición del terminal móvil.
Precisión de 50m en el mejor caso y 100 metros en el peor.
23
24. 01 Introducción
Tecnologías de localización.
GPS (Global Positioning System)
Es un sistema de radionavegación mundial que emplea al menos tres de los
satélites que rodean la tierra en órbitas conocidas para fijar la posición de
un MS.
Fundamento es la triangulación, cálculo de la distancia de un punto
terrestre a tres o más satélites con posición perfectamente conocida.
El proceso inicial de búsqueda de satélites es muy lento y además la señal se
ve atenuada por los edificios en ciudad.
Ofrece una precisión de 5 a 20 metros.
24
25. 01 Introducción
Tecnologías de localización.
A-GPS (Assisted Global Positioning System)
Tecnología enmarcada dentro de “Plano de Usuario”. El chipset embarcado
en MS es capaz de obtener datos de su posición en base a satélites visibles
en cada momento.
La "asistencia" que este sistema proporciona respecto al GPS tradicional
radica en el uso de receptores de referencia.
Estos receptores recogen información de navegación y datos para los
satélites GPS que están en la zona de cobertura del servidor de localización.
Gracias a estos datos de asistencia se evita el rastreo de todos los satélites
posibles.
25
26. 01 Introducción
Tecnologías de localización.
A-GPS (Assisted Global Positioning System)
Para obtener esta lista de satélites visibles, los sistemas LS que soportan
esta tecnología se basan en el dato CGI que da cobertura al MS.
Las precisiones obtenidas a través de A-GPS llegan a márgenes de 5/10
metros.
26
27. 01 Introducción
Tecnologías de localización
El servidor de localización emplea información de identificación de celda (Cell-ID) extraída por la red celular para
proporcionar al móvil los satélites GPS que ha de escuchar.
El sistema de posicionamiento GPS reúne información sobre la posición del terminal
La información procedente del sistema GPS se combina con diferentes medidas efectuadas por la red celular y se
envían al servidor de localización
Las coordenadas exactas se trasmiten al terminal, a otro operador de telefonía móvil o a otro servicio LBS
27
28. 01 Introducción
Tecnologías de localización.
WIFI
Las tecnologías para red de área local (LAN) inalámbrica están
experimentando un boom de implantación.
Implantación de estos sistemas en hoteles, cafés, aeropuertos y otros
edificios en los que se considera una oferta rentable de acceso a Internet.
Estas nuevas infraestructuras también soportan localización de dispositivos
móviles.
Las redes inalámbricas cubren áreas de hasta 75 metros en el interior de
edificios y de 300 metros en el exterior
28
29. 01 Introducción
Tecnologías de localización.
WIFI
La localización se lleva a cabo de diferentes maneras:
– Punto de acceso más cercano:
Más sencilla.
Método conlleva a errores. La antena más cercana puede ser la misma que un
usuario situado en la planta superior
La señal es vulnerable debido a las interferencias, afecta a la precisión.
– Wi-Fi mapping:
Basada en el almacenamiento de medida de potencia de señal en diferentes
puntos del recinto cubierto (Sensible a cambios de altura)
29
31. 01 Introducción
Organismos de estandarización
2.) Crear API
que soporta 1.) Requisitos
todos los requisitos. proporcionados
por cada organismo
JAIN
GSMA
Joint
API
UMTS
Group OSA (Open Service Access)
OMA PSTN/ISDN
OSA (Open Service Access)
OPENGIS
3.) Resultados
se transfieren
a cada organismo
31
32. 02 Cadena de valor
LOCATION
LOCATION CONTENT&GIS
NETWORK ENABLING APPS USER
SERVER GEOSERVER
SERVER
32
33. 02 Cadena de valor
• Location Server:
Sistema o infraestructura de localización necesaria cuyo objetivo se centra
en obtener la posición geográfica del dispositivo móvil.
Ofrece un interfaz (API) simple para solicitar la posición del MS y, en su caso,
con el grado de precisión requerido.
33
34. 02 Cadena de valor
• LES (Location Enabling Server):
Plataforma de intermediación entre las Aplicaciones LBS y los sistemas
externos del Operador incluyendo:
– Sistema/s LS
– GWs de Mensajería (SMS-C, MMS-C,…)
– Facturación (Prepago y Postpago)
– Provisión
– Estadísticas
34
35. 02 Cadena de valor
• LES (Location Enabling Server):
Objetivos:
Facilitar un conjunto de servicios API avanzados, homogéneos y estándar a todas
las Aplicaciones LBS.
Aislar al desarrollador de la complejidad de protocolos internos subyacentes con
los sistemas del Operador.
Facilitar al Operador toda la gestión, control y administración en el contexto de
servicios LBS
35
36. 02 Cadena de valor
• LES (Location Enabling Server):
Service Capability
Cada sistema interno del Operador debe Internal&External Servers (SCS)
proporcionar interfaces y lógica adecuada
para que cubra los que facilitaque demandan
Plataforma requisitos a los desarrolladores el
ASP Service Capability
Features (SCF)
los ASPs para sus aplicaciones LBS.internos implicados
acceso a todos los sistemas OSA Gateway
eliminando lógicas adicionales en cada
Aplicación LBS.
Cada ASP y Aplicación LBS debe integrarse
con los diversos sistemas y capacidades de la
LBS Common LBS
infraestructura del Operador
Channels Systems
Billing
SMS
Systems
Enhanced API
Provisioning
MMS
A
LES (LBS Middleware) System
A
P P
WAP O&M
I I
API API API API
Customer
Web
Care
Presence
LS GeoServer ....
Server
Voice Statistics
Specific LBS Systems
36
37. 03 Desarrollo general de servicios LBS
Funcionalidad demandada
— Provisión: Gestión general de usuarios incluyendo los procesos de
activación en cada aplicación LBS.
— Localización: Obtención de las coordenadas relativas a la posición de un
usuario móvil
— Funciones espaciales: Obtención de mapas, informe de rutas,
geocodificación, etc.
— Mensajería: Envío y recepción de mensajes tanto textuales como
multimedia.
— Facturación: Gestión del cobro de los servicios LBS
37
38. 03 Desarrollo general de servicios LBS
Tipología de servicios
— Quién solicita la posición del MS:
– El propio usuario (Auto localización)
– Otro usuario inscrito en el servicio LBS (Localización de terceros):
– Usuarios Conocidos
– Usuarios Desconocidos
– El servidor de aplicación
— Cuál es el flujo de la petición de localización:
– Petición directa desde el terminal del usuario
– Petición Indirecta a través de servidores de Aplicación (Internos o Externos al
Operador)
— Quién conoce la identidad real del usuario (MSISDN):
– Sólo es conocida por los sistemas del Operador
– Es conocida por el usuario que solicita mi posición
– Es conocida por el servidor de aplicación
38
39. 03 Desarrollo general de servicios LBS
Servicios LBS – Segmento Empresarial & Residencial
Fleet Find a Child Mobile POI Alerts & Emergency
Mgmt Friend Tracker Date Searching Alarms
Games
& Security ....
Location Security Privacy API Admin &
Mgmt Services Config
LES
Specific Common
LBS
LBS LBS
Channels
Systems Systems
Dependiendo de la lógica de cada servicio LBS se determinan una serie de condicionantes a
tener en cuenta en el desarrollo
39
40. 03 Desarrollo general de servicios LBS
Aspectos de seguridad
– Claves de acceso
– Filtrado de IP’s permitidas
– Permiso sobre servicios API y parámetros de entrada
– Restricciones y valores límite
– Mecanismos de Suscripción de Usuarios:
– Un paso: Iniciado por el Usuario o por la aplicacicón
– Dos pasos: Presuscripción por Aplicación y confirmación por el
usuario.
– Tiempo de vida del usuario en el servicio LBS
40
41. 03 Desarrollo general de servicios LBS
Aspectos de privacidad
– Anonimato: Obtención de un ID asociado al usuario
– Control de Permisos de localización:
– A nivel general del servicio LBS
– A nivel particular de usuarios suscritos en el servicio LBS
– Notificaciones al usuario (Pre/Post acción con/sin confirmación)
41
42. 03 Desarrollo general de servicios LBS
Ejemplos de servicios
• POI Searching:
Servicio de autolocalización
Obtención de puntos de interés próximos (restaurantes,cines,teatros) a la
ubicación actual del usuario.
Dependen de los contenidos disponibles en la zona geográfica.
Anónima/No anónima
Suscripción en un paso
Tiempo de vida limitado
Servicios API: Localización inmediata, búsqueda POIs próximos, obtención
de mapa/ruta y envío de SMS/MMS
42
43. 03 Desarrollo general de servicios LBS
Ejemplos de servicios
• Find & Friend:
Servicio de localización de terceros no anónima
Averigurar la localización de tu grupo de amigos.
Organizar una o varias agendas temáticas y solicitar permiso a tus amigos
para ser incluidos en dichas agendas.
Tus contactos pueden activar y desactivar su estatus y definir sus
parámetros de localización
Servicios API: Gestión de Usuarios, Localización Inmediata, Obtención
mapa/texto, mensajería, Seguimientos/Alarmas (opcional)
43
44. 03 Desarrollo general de servicios LBS
Ejemplos de servicios
• Find & Friend:
Suscripción en dos pasos:
El usuario propietario de la agenda se registra en la aplicación.
Este usuario es el encargado de invitar a los usuarios que desea localizar.
44
45. 03 Desarrollo general de servicios LBS
Ejemplos de servicios
• Find & Friend:
Gestión de settings de localización por agenda
El usuario suscrito en una agenda posee las funciones de control de settings y
estado en cada agenda donde ha sido registrado y donde ha dado su
consentimiento para ser localizado
45
46. 03 Desarrollo general de servicios LBS
Ejemplos de servicios
• Child Tracker:
Servicio de localización de terceros no anónima.
Aplicación para averiguar donde están sus hijos en cualquier momento.
Variante del servicio Find a Friend donde un teléfono maestro (padre)
dispone de un grupo llamado familia definido mediante contrato con la
operadora
Suscripción en un paso
Debe ser realizado por el padre/gestor
Debe comprobarse la relación Padre-Hijo
No se requiere gestión de settings para el usuario hijo.
Servicios API: Gestión de Usuarios, Localización Inmediata, Obtención
mapa/texto, mensajería, Seguimientos/Alarmas (opcional)
46
47. 03 Desarrollo general de servicios LBS
Ejemplos de servicios
• Fleet Mgmt :
Servicio de localización de terceros no anónima.
Aplicación diseñada para empresas que necesitan para realizar un
seguimiento de la ubicación de sus recursos móviles de forma rápida,
práctica y de bajo costo
Suscripción en dos pasos
Control de settings
Servicios API: Gestión de Usuarios, Localización Inmediata, Seguimientos,
Obtención mapa/texto, cálculo de rutas, mensajería, Alarmas (opcional)
47
48. 03 Desarrollo general de servicios LBS
Ejemplos de servicios
• Mobile Date:
Servicio de localización de terceros anónima.
Búsqueda de usuarios que coinciden con preferencias definidas
Suscripción directa del usuario
Servicios API: Búsqueda de usuarios a mi alrededor, Obtención mapa/texto,
mensajería.
48
49. 04 Plataforma GPP
Descripción de entidades
OPERATOR
CUSTOMER CLIENT
MSISDN APLICACIÓN
Operator: Entidad operadora. Siempre existe al menos una, denominada
operadora por defecto, es decir la operadora propietaria. En caso de roaming
se registran las operadoras con las que se tenga acuerdo.
Customer: Abonado de la operador, es decir un MS
Client: Aplicación que utiliza los servicios ofrecidos por GPP, a través de sus
diversos APIs.
49
50. 04 Plataforma GPP
Descripción de entidades
OPERATOR
CUSTOMER CLIENT
MSISDN APLICACIÓN
USER
User: Customer registrado en un client, es decir un abonado de la operadora
que se registra en un servicio de localización. Todo cliente tiene asociado un
usuario root, administrador de la aplicación. Este user no puede localizarse y
se utiliza para otro tipo de operaciones.
50
51. 04 Plataforma GPP
Descripción de entidades
OPERATOR
CUSTOMER CLIENT
MSISDN APLICACIÓN
USER GROUP
Group: Agrupación de usuarios cuyo propietario es un determinado usuario.
Toda aplicación tiene al menos un grupo, el denominado grupo por defecto, y
el propietario es el usuario root.
51
52. 04 Plataforma GPP
Descripción de entidades
OPERATOR
CUSTOMER CLIENT
MSISDN APLICACIÓN
USER GROUP
MEMBER
LOCALIZABLE
Member: Usuario registrado en un grupo. Para poder localizar un MS, éste
debe estar registrado como member de un grupo
52
54. 04 Plataforma GPP
GPP Protocol (API)
Tipos de Servicios API:
1. Provisión
2. Localización
3. Espaciales
4. Mensajería
5. Notificación
API Público
Group Manager: Tipo 1 (Usuarios, Grupos y Miembros)
MIT Family Tipos 2 y 3
GMLP (OMA MLP based): Tipos 2 y 3 (extensión Genasys).
Notify Mgr: Tipos 4 y 5
Protocolos de comunicación aceptados (HTTP(s) /XML , SOAP (Web Services) y
SMS)
54
55. 04 Plataforma GPP
GPP Protocol (API)
Group Manager: Gestión de Usuarios y Agrupaciones
Usuarios:
Método Descripción
CreateUser Creación de usuario en una aplicación
UpdateUser Actualización de datos de un usuario
getUser Obtención de datos de usuario
DeleteUser Borrado de usuario de la aplicación
55
56. 04 Plataforma GPP
GPP Protocol (API)
Group Manager: Gestión de Usuarios y Agrupaciones
Grupos:
Método Descripción
createGroupS Creación de Grupo de Servicio
getGroup Obtención de información de grupo
listGroup Listado de grupos donde está registrado
un usuario
listGroupMember Listado de miembros con sus grupos
updateGroup Actualización de grupo
deleteGroup Borrado de un Grupo/Subgrupo
56
57. 04 Plataforma GPP
GPP Protocol (API)
Group Manager: Gestión de Usuarios y Agrupaciones
Miembros:
Método Descripción
createMemberRec Creación Miembro: Usuario en Grupo
getMembers Obtención de miembros
updateMembers Actualización de miembros
deleteMemberRec Borrado de miembros recursivo
57
58. 04 Plataforma GPP
GPP Protocol (API)
MIT-FAMILY: Servicios de posicionamiento.
Método Descripción
m_FindiT localización individual o múltiple de un
determinado grupo
m_TrackIT Seguimiento periódico (START, STOP,
QUERY, DELETE..)
58
59. 04 Plataforma GPP
GPP Protocol (API)
Notify Mgr: Mensajería y notificaciones
Método Descripción
NotifyEvent Notificador de eventos
59
60. 04 Plataforma GPP
Security Manager
Autenticación : Control de accesos al sistema
La aplicación debe estar suscrita y activa
El usuario solicitante debe estar suscrito a la aplicación, con estado validado y no
caducado
Autorización: Permisos de acceso
Control de permisos sobre el servicio API invocado para la aplicación y usuario
Control de parámetros de entrada del servicio API permitidos para la Aplicación y Usuario
Niveles MS:
Abonado: El MS está inscrito como abonado del Operador
Usuario: El MS está inscrito en una o más Aplicaciones.
Miembro: El MS está inscrito en uno o más grupos de la aplicación.
60
61. 04 Plataforma GPP
Security Manager
Escenarios de suscripción:
Nivel abonado:
1. Se realiza automáticamente, la primera vez que se inscribe en una Aplicación.
Nivel usuario y miembro:
1. Servicio API (Group Manager) CreateUser y CreateMember. Validación posterior por
SMS
2. Servicio SMS (Notify Mgr). Sms provoca la suscripción en la Aplicación
61
62. 04 Plataforma GPP
Privacy Manager
Políticas de permisos: Grupos y Miembros
La aplicación y usuario solicitante de la petición deben tener permiso sobre el MS
implicado en la misma.
Los MS a localizar deben estar inscritos como Miembros de un Grupo
El acceso a los Miembros de un Grupo se permite:
1. El usuario solicitante en propietario del grupo accedido.
2. EL grupo es de carácter Público. El grupo Privado sólo puede ser accedido por su
propietario.
62
63. 04 Plataforma GPP
Privacy Manager
Chequeos de settings: Validación y Localización
Se establecen settings de validación y localización en todos los niveles
(Abonado,Usuario, Miembro)
Un MS a localizar debe estar validado en todos los niveles.
El nivel abonado es mandatorio sobre usuario
El nivel Usuario es mandatorio sobre Miembro
Si se encuentra validado, debe tener permitida su localización en todos los niveles.
Mismo chequeo jerárquico.
A nivel de miembro existe definido el horario de localización.
63
64. 04 Plataforma GPP
Media Channel
Catálogo de SMS por Aplicación
Número corto
Texto del comando SMS
Acción a realizar
Texto de respuesta al remitente
Acciones a realizar por el comando SMS
Darse de alta/ baja
Activar/Desactivar su localización global o en una aplicación
Cambiar horario de localización en una aplicación
64
65. 04 Plataforma GPP
Positioning Broker
Interfaz con el sistema LS:
La conexión a través de un plugin que implementa el protocolo específico
La comunicación puede ser síncrona o asíncrona
Se permite conectar varios LS de forma simultánea
Gestión de caché
Repositorio de localizaciones
El tiempo de vigencia se establece por configuración interna almacenada por grupo.
Distribución de peticiones:
Asignación de LS por Aplicación
Asignación de LS por MS
65
66. 04 Plataforma GPP
Ejemplo flujo petición de localización
OUT IN
Petición de localización
SECURITY MANAGER PRIVACY MANAGER
POSITIONING BROKER
66
67. 04 Plataforma GPP
Ejemplo flujo petición de localización
IN
Petición de localización
SECURITY MANAGER PRIVACY MANAGER
Identificación y autenticación del cliente y
usuario solicitantes, comprobando que
tiene permitida la operación solicitada
POSITIONING BROKER
67
68. 04 Plataforma GPP
Ejemplo flujo petición de localización
Petición de localización
SECURITY MANAGER PRIVACY MANAGER
Comprobación del estado de validez de los
usuarios y sus settings de localización
POSITIONING BROKER
68
69. 04 Plataforma GPP
Ejemplo flujo petición de localización
OUT
Petición de localización
SECURITY MANAGER PRIVACY MANAGER
Gestión de los sistemas de localización y
caché, obteniendo la posición del MSISDN
POSITIONING BROKER
69
70. 04 Plataforma GPP
LCS
Localización en escenario Roaming
LES
Reglas GSMA/3GPP de LES / LS MS-OWN MS-NOWN
LES / LS
RPLMN
encaminamiento según situaciones VPLMN HPLMN
de In y Out Roaming HPLMN VPLMN
Al igual que para otros servicios (Voz, datos), LES / LS LES / LS
se requieren acuerdos específicos entre RPLMN HPLMN
países y Operadores.
OMA establece un protocolo estándar para LCS LCS
las peticiones de localización en estos
escenarios (RLP, Roaming Location Protocol)
Actualmente, los sistemas de Telefónica detectan la situación de Out-
roaming de su abonado devolviendo, en la respuesta de localización, el
país y la red visitados donde se encuentra.
En el futuro, se dispondrá de la posición precisa en base a los acuerdos
que se establezcan con Operadores extranjeros pertenecientes o no al
grupo Telefónica.
70
71. 05 Operativa del Servicio Gestión de Empresas
Estructura Gestión de Empresas
71
72. 05 Operativa del Servicioestructura Empresas
Conceptos asociados
Gestión de
Empresa: Es el objeto que identifica las agrupaciones de usuarios de una
misma empresa.
Grupo: Es el objeto que identifica las agrupaciones internas de usuarios
dentro de una empresa.
Usuario administrador: Es el objeto que identifica un usuario
utilizado para la gestión de grupos. No se puede localizar. Relacionado con
login/password.
Usuario localizado: Es el objeto que identifica un usuario fina
poseedor de un móvil. Relacionado con un MSISDN
72
73. 05 Operativa del entidades
Comparativa
Servicio Gestión de Empresas
GPP Gestión de Empresas
73
74. 05 Operativa del Servicio Gestión de Empresas
Acceso y flujo de comunicación
VPN para acceso a externos.
Acceso local para aplicaciones del Centro de Demostraciones
movistar.
Provisión: Las peticiones se realizan
mediante de protocolo POST.
Localización: Las peticiones se realizan
mediante protocolo GET.
74
75. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Aplicación de localización – Datos de partida
Nombre de la aplicación: CURSOGPP
Iniciales de la aplicación: CGPP
User/pass de la aplicación:
CLIENT=curso
CLI_PASSWD= 5curso5
User/pass del usuario root de la aplicación:
USER= abcd
USER_PASSWD= dcba
75
76. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Empresas:
La aplicación deberá crear un grupo de primer nivel para cada una de sus empresas.
Este grupo será un grupo de servicio.
Además se permite crear subgrupos y agrupaciones dentro de la empresa
El propietario del subgrupo a crear debe ser el mismo que el propietario del grupo
padre.
No se podrá repetir el mismo nombre para grupos de primer nivel.
Dos subgrupos, ya sean hijos de un mismo grupo o de grupos diferentes, no pueden
tener el mismo nombre si el usuario propietario de ambos es el mismo.
76
77. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Secuencia de acciones: Servicios API:
Creación Administrador Empresa CreateUser
Creación Grupo Empresa CreateGroupS
[Creación Subgrupos] CreateGroup
Creación Usuarios CreateUser
Creación Miembros Localizables CreateMemberRec
Validación Suscripción Comando SMS
Petición Localización M_FINDIT
Petición Seguimiento M_TRACKIT
77
78. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Usuario administrador
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante (Root)
Usuario Administrador a crear
Usuario creado
78
79. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Grupo Empresa
Datos de autenticación de la
aplicación
Datos autenticación
Usuario solicitante, usuario que
gestionará el grupo (Admin)
Grupo padre
Nombre del grupo
Identificació
n
grupo creado
79
80. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos de la Empresa
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante, usuario que
gestiona el grupo
Identificador del grupo a consultar
80
81. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos de la Empresa
Objeto Group
Identificador del grupo padre
81
82. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos de la Empresa
Tiempo Validez Posición Caché
Identificador del ser un grupo de
servicio
82
83. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Subgrupo en Empresa
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante, usuario que
gestionará el grupo (Admin)
Grupo padre
Nombre del subgrupo
Identificación
grupo creado
83
84. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Usuario localizable
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante (Root)
Usuario a localizar
Usuario creado
84
85. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Usuario localizable
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante (Root)
Usuario a localizar
Usuario creado
85
86. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos Usuario localizable
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante
Usuario a consultar
86
87. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos Usuario localizable
Objeto User
Setting Localización:
Bloqueo a nivel Usuario
(lógica inversa)
87
88. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos Usuario localizable
Setting Suscripción:
Estado Validación
Setting Suscripción:
Fecha Expiración
88
89. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Miembro en Grupo Empresa
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante (Admin)
Grupo dónde se quiere inscribir
Usuario a inscribir
Horario de localización (Inicial)
Miembro creado correctamente
89
90. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Miembro en Grupo Empresa
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante (Admin)
Grupo dónde se quiere inscribir
Usuario a inscribir
Horario de localización
Miembro creado correctamente
90
91. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos de miembros de la Empresa
Datos de autenticación de la
aplicación
Datos de autenticación del
usuario solicitante, usuario que
gestiona el grupo
Identificador de Grupo a consultar
Usuarios a consultar
91
92. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos de miembros de la Empresa
Objeto Member
Setting: Estado localización
Setting: Estado validación
NOTA: En la práctica este setting se encontrará a valor N (No
validado=No Localizable)
Usuario
Horario de localización
92
93. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Obtención de datos de miembros de la Empresa
Objeto Member
Setting: localización
Setting: Estado validación
NOTA: En la práctica este setting se encontrará a valor
N (No validado=No Localizable)
Usuario
Horario de localización
93
94. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Miembro en Subgrupo de la Empresa
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante
Grupo dónde se quiere inscribir
Usuario a inscribir
Horario de localización
Miembro creado correctamente
94
95. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Creación Usuario en Subgrupo de la Empresa
Datos de autenticación de la
aplicación
Datos de autenticación del
Usuario solicitante
Grupo dónde se quiere inscribir
Usuario a inscribir
Horario de localización
Miembro creado correctamente
95
96. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Listar grupos de un usuario
Datos de autenticación de la
aplicación
Datos de autenticación del
usuario solicitante
Usuario a consultar
LEVEL:
ALL
VALIDATED
NOTVALIDATED
96
97. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Listar grupos de un usuario
Objeto Group
Identificador de grupo al
que pertenece
Información del grupo
97
98. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Listar grupos de un usuario
Grupo Padre de Tipo Servicio
Objeto Group
Identificador de grupo al
que pertenece
Información del grupo
98
99. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Listar grupos de un usuario
Información del grupo
Subgrupo No es Tipo Servicio
99
100. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
.... Finalizando suscripción
Una vez pre-registrado el MS en la aplicación de localización, debe
dar su consentimiento para poder ser localizado.
Envío de SMS: “ALTA <INICIALES APP><GRUPO EMPRESA>”
ALTA CGPP Curso
El número corto para envío de mensajes el 2334
Este comando modifica el registro de MIEMBRO actualizando el atributo
“Validated” a valor “Y”
100
101. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Listado de comandos SMS
LISTA : Envía la lista de aplicación servicio que está dado de alta.
ALTA <INICIALES APP><EMPRESA>: validación de alta
BAJA <INICIALES APP><EMPRESA> : elimina al usuario
ACTIVAR <INICIALES APP><EMPRESA>: activa al usuario para poder ser localizado
DESACTIVAR <INICIALES APP><EMPRESA> : desactivar al usuario para ser localizado
ESTADO <INICIALES APP><EMPRESA> Nos envía información del estado de validación, de
localización y de horario
HORA <INICIALES APP><EMPRESA> <HORA_INI> <HORA_FIN> : Modificación horario de
localización
AYUDA: Información lista de comandos sms.
101
102. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario se ha desactivado por sms
Envío de SMS: “DESACTIVAR CGPP Curso” al 2334
Mensaje Respuesta: “Localización desactivada en CGPP Curso. Si quiere ser
localizado envíe ACTIVAR CGPP Curso. Para más información envíe AYUDA
Este comando modifica el registro de MIEMBRO actualizando el
atributo “Locatable” a valor “N”
102
103. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario desactivado
"http://localhost:8080/GPP/WLServer?Method=M_FINDIT&CLIENT=curso&CLI_PA
SSWD=5curso5&USER=test1&USER_PASSWD=test1&TUSERID=34680100026&TUS
ERID_TYPE=MSISDN&GROUP=1543&OUTLOC=POINT&SRS=EPSG:4326&MESH=ESP
"
CLIENT, CLIENT_PASSWORD: Datos de autenticación de la aplicación
USER,USER_PASSWORD: Datos de usuario solicitante
TUSERID: Usuario solicitado
TUSERID_TYPE: Tipo de identificación
GROUP: Grupo inscrito el usuario solicitado
OUTLOC: Geometría de salida
SRS: Sistema de referencia: EPSG:4326,UTM30
MESH: Solicitud de mallas ESP(total)
103
104. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario desactivado
Setting: Localizable= N
Código de error y mensaje
104
105. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario se activa por sms
Envío de sms ACTIVAR CGPP Curso 2334
Recepción sms: “Localización activada en CGPP Curso. Si quiere ser localizado
envíe DESACTIVAR CGPP Curso. Para más información envíe AYUDA
Este comando modifica el registro de MIEMBRO actualizando el
atributo “Locatable” a valor “Y”
105
106. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario activado
Settings
Centroide
Sector corona
106
107. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario activado
Rectángulo
Malla CCAA
Malla PROVINCIA
107
108. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario activado
Malla
Municipio
Malla Barrios
108
109. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario activado
Malla Código
Postal
109
110. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario activado
Malla Calles
110
111. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Usuario activado
Malla
Carreteras
111
112. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Información figura geométrica
112
113. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Casos posibles figuras geométricas
113
114. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Sin especificar mallas y por defecto srs UTM30
"http://localhost:8080/GPP/WLServer?Method=M_FINDIT&CLIENT=curso&CLI_PAS
SWD=5curso5&USER=test1&USER_PASSWD=test1&TUSERID=34680100026&TUSE
RID_TYPE=MSISDN&GROUP=1544&OUTLOC=POINT"
Settin
g
Centro: utm30
114
115. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Sin especificar mallas y por defecto srs UTM30
Sector
Rectángulo
115
116. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Grupo completo.
"http://localhost:8080/GPP/WLServer?Method=M_FINDIT&CLIENT=curso&CLI_PAS
SWD=5curso5&USER=test1&USER_PASSWD=test1&GROUP=1543&OUTLOC=POINT
"
ITEM1: Primer
Usuario
Centro: utm30
116
117. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Grupo completo
ITEM2: Segundo
usuario
117
118. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Localización. Grupo completo
Código y mensaje de error
118
119. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Seguimientos. Creación
"http://localhost:8080/GPP/WLServer?CLIENT=curso&CLI_PASSWD=5curso5&USER_LOGIN=t
est1&USER_PASSWD=test1&FUNCTION=M_TRACKIT&ACTION=START&GROUP=1543&TUSER
ID=34680100026&TOTALTIME=480&TRACKTIME=300&IDENTYPE=MSISDN"
CLIENT, CLIENT_PASSWORD: Datos de autenticación de la aplicación
USER,USER_PASSWORD: Datos de usuario solicitante
ACTION: Acción sobre el seguimiento
TUSERID: usuario sobre el que se realiza la acción del seguimiento
GROUP: Grupo inscrito el usuario solicitado
TOTALTIME: Minutos totales que dura el seguimiento
TRACKTIME: Tiempo Reposicionamiento en Segundos entre localizaciones
119
120. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Seguimientos. Creación
Identificador de track creado
120
121. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Seguimientos. Consulta de todas las localizaciones de un track
activo
"http://localhost:8080/GPP/WLServer?CLIENT=curso&CLI_PASSWD=5curso5&USER
_LOGIN=test1&USER_PASSWD=test1&FUNCTION=M_TRACKIT&ACTION=QUERY&T
RACKID=1327&LOC=ALL"
Settin
g
Primera
localización
121
122. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Seguimientos. Consulta de todas las localizaciones de un track activo
Segunda
localización
122
123. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Seguimientos. Consulta de todas las localizaciones de un track activo
123
124. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Seguimientos. Parada de un track
"http://localhost:8080/GPP/WLServer?CLIENT=curso&CLI_PASSWD=5curso5&USER
_LOGIN=test1&USER_PASSWD=test1&FUNCTION=M_TRACKIT&ACTION=STOP&TR
ACKID=1327"
Identificador de track
parado
124
125. 05 Operativa del Servicio Gestión de Empresas
API Gestión de Empresas
Seguimientos. Eliminación de un track
"http://localhost:8080/GPP/WLServer?CLIENT=curso&CLI_PASSWD=5curso5&USER
_LOGIN=test1&USER_PASSWD=test1&FUNCTION=M_TRACKIT&ACTION=DELETE&T
RACKID=1327"
Identificador de track
eliminado
125
126. 05 Operativa del Servicio Gestión de Empresas
Errores habituales API Gestión de Empresas
Códigos de error
Errores de autenticación:
200: Invalid CLIENT/PASSWORD
201: Invalid USER/PASSWORD
202: Invalid MSISDN
205: Not existing user and not autoprovisioning
206: Not allowed authentication method.
207: Not allowed or not existing request parameters
220:Invalid MEMBERSID
126
127. 05 Operativa del Servicio Gestión de Empresas
Errores habituales API Gestión de Empresas
Request Syntax Errors:
300: Syntax error. Unspecified parameter
301: Syntax error. Invalid parameter.
302: Syntax error. Invalid xml request
303: Syntax error. Invalid time format. Use one of the following formats: HH, HH:mm,
HH:mm:ss.
399: Syntax error, other.
Location Request Data Errors:
401: SRS not found
499: Positioning data error, other
127
128. 05 Operativa del Servicio Gestión de Empresas
Errores habituales API Gestión de Empresas
M_Services Request Data Errors:
600:Group not found.
601:Group access denied.
602: Member does not belong to group.
603: Member already belongs to group.
610: Group already exists.
614: MSISDN already exists.
615: User does not exist.
628: Member is not available for positioning.
629: Invalid group name.
630: Unable to create group with special char in his name.
649: Member is not validated.
128
129. 05 Operativa del Servicio Gestión de Empresas
Errores habituales API Gestión de Empresas
MPC Positioning Errors
701: Unable to locate the mobile station. Mobile station detached or unavailable.
702: Unable to locate the mobile station. Mobile station not reachable. (Out of radio
coverage).
704: Unable to locate the mobile station. MPC connection time out..
705: Unable to locate the mobile station. Unresolved position.
799: Unable to locate the mobile station. MPC positioning error, other.
129
130. PRÁCTICA
Sobre la aplicación que hemos utilizado en la parte práctica
Debéis crear vuestra propia empresa y realizar una localización sobre un dispositivo
agvalero@genasys.com
130