Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 04/03/16, 21:05:31
Array

[xs_avatar]
XESC87 XESC87 no está en línea
Usuario poco activo
 
Fecha de registro: sep 2011
Mensajes: 30
Tu operador: Movistar

Detectar usuarios linphone en una red local

Hola! pues para el trabajo necesito crear una red de usurios de linphone (SIP) para poder hacer llamadas voip dentro de la empresa (misma red local). Las llamadas las realizo perfectamente con la app que estoy desarrollando pero siempre sabiendo antes la ip de la maquina. Pero esta ip va cambiando (DHCP) y el usuario tambien (no tenemos smartphones propios, cuando llegas coges el primero que encuentras). Lo suyo seria que al arrancar la app puedas poner el nombre que quieras (ejemplo: Carlos), y cuando quieras llamar, ver una lista de la gente que actualmente esta en la empresa y poder llamar escogiendo el nombre (sin tocar ni saber nada de IPS).

Solo tengo el problema de detectar maquinas activas con un nombre y no una ip. Como podria hacerlo?

Saludos
Responder Con Cita


  #2  
Viejo 04/03/16, 21:26:07
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Lo suyo es tener un servidor SIP, tipo Asterisk o similar, donde los usuarios se registren. Y llamas con la URI no con IPs, que la gracia de SIP es esa precisamente, no andar con IPs a cuestas.

En los smartphones los usuarios tendrán que escribir su URI, que siendo el mismo dominio puede ser simplemente "carlos"

P.D: Sobre cómo saber quién está, para eso está el servicio de presencia de SIP que imagino que linphone lo soportará.
P.D.2: A todo esto, ¿para qué necesitas hacer una app en vez de usar uno de los varios clientes SIP que existen?
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!

Última edición por mocelet Día 04/03/16 a las 21:45:35.
Responder Con Cita
  #3  
Viejo 05/03/16, 00:00:33
Array

[xs_avatar]
XESC87 XESC87 no está en línea
Usuario poco activo
 
Fecha de registro: sep 2011
Mensajes: 30
Tu operador: Movistar

Primero de todo muchas gracias! lo del servidor lo tengo jodido ya que no dispongo de server (pc encendido todo el rato). Lo de no utilizar una app ya desarrollada es mas por comodidad. Estoy desarrollando una app que gestiona info y es por concentrarla todo en uno, igualmente no me cuesta nada integrarlo en una.
Lo que quiero es exactamente lo que hace un juego cuando juegas en lan, que sin servidor puedes ver los pcs que estan ejecutando ese juego para crear partida (me imagino que el server se crea cuando creas la partida).

Saludos
Responder Con Cita
  #4  
Viejo 05/03/16, 08:23:51
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

OK, una solución P2P sin servidor, suena entretenido de hacer.

Los juegos multijugador que mencionas simplemente envían paquetes UDP a la dirección de broadcast que los reciben todos los equipos de la red local (y en efecto lo hacen cuando uno de los usuarios crea la partida para que puedan unirse otros)

Es lo mismo que hacen los servicios de descubrimiento. Si no quieres inventar el tuyo propio puedes usar el Network Service Discovery de Android http://developer.android.com/trainin...essly/nsd.html

Cuando alguien coja el smartphone registras el servicio (que puede tener nombre y tipo), y en los demás tendrás un listener para saber que hay un nuevo servicio en la red. Ídem cuando el usuario termina. Si juegas con el nombre (algo tipo un prefijo común y luego el nombre a mostrar, p.ej. linphone.Carlos), ya tienes una especie de agenda implícita, en tu app quitas el prefijo, guardas la IP que te la da NSD y ya lo tienes.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!

Última edición por mocelet Día 05/03/16 a las 09:07:51.
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 06/03/16, 22:38:32
Array

[xs_avatar]
XESC87 XESC87 no está en línea
Usuario poco activo
 
Fecha de registro: sep 2011
Mensajes: 30
Tu operador: Movistar

 Cita: Originalmente Escrito por mocelet Ver Mensaje
OK, una solución P2P sin servidor, suena entretenido de hacer.

Los juegos multijugador que mencionas simplemente envían paquetes UDP a la dirección de broadcast que los reciben todos los equipos de la red local (y en efecto lo hacen cuando uno de los usuarios crea la partida para que puedan unirse otros)

Es lo mismo que hacen los servicios de descubrimiento. Si no quieres inventar el tuyo propio puedes usar el Network Service Discovery de Android http://developer.android.com/trainin...essly/nsd.html

Cuando alguien coja el smartphone registras el servicio (que puede tener nombre y tipo), y en los demás tendrás un listener para saber que hay un nuevo servicio en la red. Ídem cuando el usuario termina. Si juegas con el nombre (algo tipo un prefijo común y luego el nombre a mostrar, p.ej. linphone.Carlos), ya tienes una especie de agenda implícita, en tu app quitas el prefijo, guardas la IP que te la da NSD y ya lo tienes.
ERES MUY GRANDE!!! justo necesitaba esto... ya lo he probado y funciona de maravillas!
Gracias!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 07:25:04 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /