Las preguntas frecuentes

Esta es una lista de preguntas frecuentes( FAQ), incluyendo algunas preguntas técnicas.

También se agregan preguntas del [Foro] (https://forum.jami.net/).

Principios básicos

¿Qué es Jami?

Ver la Introducción.

¿Qué significa Jami?

La elección del nombre Jami se inspiró en la palabra swahili jamii, que significa comunidad como sustantivo y `juntos” como adverbio. Fue elegido porque refleja la visión del proyecto:

  • un programa free/libre disponible para todos que ayuda a unir a las comunidades,

  • es apoyado por la comunidad, y

  • respeta la libertad y privacidad de los usuarios.

¿Cómo puedo hacer un informe de insectos?

Ver la Guía de informes de errores.

¿Qué hace que Jami sea diferente de otras plataformas de comunicación?

Jami no funciona como la mayoría de las plataformas de comunicación porque es distribuida.

«Image: Topologías de red centralizadas, descentralizadas y distribuidas»

Algunas de las consecuencias pueden parecer sorprendentes. Por ejemplo, dado que las cuentas se almacenan en el dispositivo del usuario, las contraseñas son opcionales. Sin embargo, las diferencias prácticas más significativas son que el usuario tiene más libertad y privacidad.

¿Qué significan los círculos de estado 🟢 verde, 🟠 naranja, y 🔴 rojo junto a las imágenes de perfil?

En la cuenta de un usuario, 🔴 (un círculo rojo) que se muestra significa que el dispositivo no está conectado a la red DHT o está fuera de línea. Se debe mostrar un error detallado explicando el problema. Verificar la conexión de red/Internet o reiniciar la aplicación puede resolver el problema.

Para contactos:

  • Si no se muestra ningún círculo, significa que no se detecta ningún dispositivo en la red DHT. El contacto es inalcanzable.

  • 🟠 (un círculo naranja) significa que al menos aparece un dispositivo en la red DHT, por lo que el contacto PARECE estar accesible. El dispositivo aún no tiene una conexión directa con este par. Pero deberían poder recibir solicitudes de conexión. Debido a que el dispositivo no está conectado directamente a nada, no se puede determinar con certeza el estado del dispositivo. Entonces, esto se puede traducir como «Parece ser accesible», pero la conexión puede fallar (debido a un firewall, un punto muerto o NAT). La presencia generalmente tiene una hora de TTL:

    • 10 minutos a través de la red DHT, y

    • varias horas si están habilitados notificaciones push.

  • 🟢 (un círculo verde) visualizado significa que el dispositivo está conectado a un dispositivo de este par.

¿Por qué falta una característica en mi cliente?

Las características varían según el cliente. Para la comparación de funciones por cliente, visite Todas las funciones por cliente página. Para enviar solicitudes de funciones, visitar la página <https://git.jami.net/groups/savoirfairelinux/-/issues >.

¿Jami admite acuse de recibos de lectura? ¿Puedo activarlos o desactivarlos?

Sí. Los recibos de lectura se pueden habilitar o deshabilitar en la configuración de Jami para escritorio, Android, Android TV e iOS.

Ver también

For more information on message delivery status and read receipts and requests, visit the https://jami.net/improved-reliability-presence-and-message-status/ page.

¿Admite Jami indicadores de escritura? ¿Puedo activarlos o desactivarlos?

Sí. Los indicadores de escritura se pueden habilitar o deshabilitar en la configuración de Jami para escritorio, Android e iOS.

¿Puedo compartir mi pantalla?

Sí. El uso compartido de pantalla está disponible en Jami para escritorio y para Android. Para activar el uso compartido de la pantalla, clic en el botón «Compartir pantalla» durante una llamada de audio o vídeo.

¿Puedo hacer llamadas de conferencia de grupo?

Yes. Group meetings and conference calls can be made with Jami.

Truco

In the following instructions, Start video call can be replaced with Start audio call as desired.

For ad hoc or temporary group meetings:

  1. In an ongoing Jami (audio or video) call, click the Add participant button.

  2. The participant clicks the Answer call button.

Alternatively, for ad hoc or temporary group meetings:

  1. Click the Start video call button.

  2. Select another contact.

  3. Click the Start video call button.

  4. Drag-and-drop one ongoing call onto the other ongoing call.

For frequent or permanent group meetings:

  1. Only required once: Under the Experimental heading, turn on (Experimental) Enable call support for groups in Jami Settings, General, System.

  2. Click the Create new group button.

  3. Click the Invite members button and select contacts to be sent invitations to the group.

  4. Click the Start video call button.

  5. The group members click the Join call button in the chat.

For group meetings using rendezvous points:

  1. Under the Rendezvous point heading, turn on Convert your account into a rendezvous point in Jami Settings, Account, Call settings.

  2. Select the rendezvous point account.

  3. Click the Start video call button.

Ver también

To read more about group calls, visit the blog post The Jami conferencing system.

¿Admite Jami llamadas en grupo?

Si.

¿Por qué mis mensajes no aparecen en todos los dispositivos conectados?

Antes de la implementación de la tecnología Swarm, los dispositivos de una cuenta solo recibían los mismos mensajes de los contactos si el dispositivo estaba en línea en el momento del envío del mensaje. Sin embargo, los mensajes enviados no aparecerían en dispositivos distintos al que enviaba el mensaje.

Con la implementación de la tecnología Swarm, los historiales de nuevas conversaciones (incluidas las conversaciones individuales) están completamente sincronizados entre todos los dispositivos vinculados de una cuenta. Actualice todas las versiones anteriores de Jami a la última versión que incluya tecnología Swarm. La última versión de Jami siempre está disponible en la página de descarga del sitio web de Jami, en https://jami.net/download/.

Para obtener más información sobre la tecnología Swarm, visitar la publicación del blog Sincronización del historial de conversaciones con Swarm y visitar el [Manual del desarrollador] (/developer/index).

¿Puedo enviar mensajes a los contactos fuera de línea?

Con las conversaciones de Swarm Technology, cada dispositivo almacena una copia de todos los mensajes de esa conversación. Si el dispositivo de un usuario u otro participante no es accesible cuando se envía un mensaje, cuando se vuelva accesible, intentará recuperar cualquier mensaje nuevo de otros dispositivos accesibles y sincronizar el historial de mensajes. Esto se puede hacer siempre que también se pueda acceder al menos a otro dispositivo que tenga una copia de los nuevos mensajes.

Ver también

Para leer más sobre cómo se sincronizan las conversaciones que usan la tecnología Swarm, visitar la publicación del blog Sincronización del historial de conversaciones con Swarm.

Si los participantes en una conversación a menudo no están en línea al mismo tiempo (por ejemplo, debido a diferentes zonas horarias), uno de ellos podría optar por configurar Jami en un dispositivo que a menudo está en línea. El dispositivo, que a menudo está en línea, recibiría los mensajes de cada participante y los transmitiría a los demás cada vez que se conectaran. Por lo tanto, Jami actúa como un «servidor» sin dejar de estar completamente distribuido por naturaleza.

Ver también

To set up Jami on often-online devices, visit the Jami for servers page.

¿Dónde se encuentran los archivos de configuración?

Jami guarda su configuración (cuenta, certificados, historial) en diferentes lugares dependiendo de la plataforma.

  • GNU/Linux: la configuración global se encuentra en”~/.config/jami/ dring.yml”, y los archivos específicos de la cuenta están en”~/.local/share/jami/. Finalmente, hay un directorio de caché en '~/.caché/jami/.

  • macOS: la configuración completa se encuentra en “~/Library/Application Support/Jami/ si se instala a través de <https://jami.net>. La versión de la tienda de aplicaciones usa ' ~/Library/Containers/com.savoirfairelinux.ring.macos/Data/Library/Application Support/jami/.

  • Android: la configuración completa se encuentra en /data/data/cx.ring/ (puede requerir privilegios de root para ver o cambiar desde fuera de Jami).

  • Windows: la configuración completa se encuentra en %AppData%/Local/jami/dring.yml, y los archivos específicos de la cuenta se encuentran en %AppData%/Local/jami/. Finalmente, hay un directorio caché en%USERPROFILE%/.cache/jami/.

Nota

Los mensajes de audio y vídeo se graban en los datos locales en la carpeta: “sent_data`

Para los archivos, si se guarda un archivo (haga clic con el botón derecho en el archivo y luego en Guardar), se agregará al directorio configurado en la configuración de la aplicación.

¿Qué ancho de banda se requiere para las llamadas?

Para llamadas de audio, Jami usa alrededor de 100 Kbps. Para una videollamada, se requieren aproximadamente 2 Mbit/s para una calidad media. Si la conexión es más lenta, la velocidad de bits se reducirá automáticamente.

Si un dispositivo está organizando una videoconferencia, se requieren aproximadamente 2 Mbps adicionales por participante. Entonces, por ejemplo, para una conferencia con 10 participantes, cada participante requiere 2 Mbps de subida y bajada, y el anfitrión requiere 20 Mbps de subida y bajada.

Jami también utiliza un algoritmo para cambiar el consumo en función de la calidad del enlace. Entonces, la tasa de bits puede tener un mínimo de 200 Kbit/sy un máximo de 6 Mbit/s.

During a call I have an echo; that is, I can hear my own voice after I have spoken. Why is this?

Possible causes and solutions.

  1. There is a feedback loop between a participant’s speaker and their microphone. Ask the participant causing the echo to use headphones.

  2. A participant on the call has their speaker pointed at, or behind, their microphone. Ensure that the microphone of each participant does not pick up the sound from their speaker.

  3. A participant on the call has their microphone sensitivity set too high. Continually talk while each participant sets their microphone sensitivity to 10% and increases it until an echo is heard. When an echo is heard, ask each participant to reduce their microphone sensitivity by a few percent. A microphone sensitivity of 20% should be more than enough.

¿Cómo puede Savoir-Faire Linux Inc. (SFL) permitirse el lujo de regalar Jami gratis? ¿Cómo gana dinero SFI con Jami?

[Savoir-Faire Linux Inc.] (https://savoirfairelinux.com/) (SFL) es una empresa de consultoría con algunos proyectos de I + D. Jami es un proyecto GPLv3+, y esto no cambiará. SFL ya vende servicios para varios campos de especialización(como alojamiento, desarrollo de sitios web y aplicaciones, y software integrado).

Jami se financia de varias maneras:

Gastos recurrentes de Jami:

  • Como sistema distribuido, Jami incurre en costos muy bajos por diseño.

  • La recopilación voluntaria de estadísticas anónimas podría agregarse en el futuro para comprender mejor el uso de Jami; sin embargo, no se recopilarán datos personales.

Gestión de cuentas

¿Qué es una cuenta de Jami?

Una cuenta Jami es una clave de cifrado asimétrica. La cuenta Jami se identifica mediante un Jami ID, que es una huella digital de la clave pública.

¿Qué información se requiere proporcionar para crear una cuenta Jami?

Cuando se crea una nueva cuenta Jami, no se requiere información privada como una dirección de correo electrónico, dirección o número de teléfono.

Se puede proporcionar la siguiente información:

  1. Una foto de perfil (opcional).

  2. Un nombre para mostrar( opcional), que es el nombre que los clientes mostrarán para su contacto. Puede contener caracteres especiales.

  3. Un nombre de usuario (opcional), que es un identificador único que está directamente asociado con su Jami ID. Este nombre de usuario→Asignación de ID de Jami se almacena en un servidor (`ns.jami.net “ de forma predeterminada, pero puede alojar el suyo propio).

  4. Una contraseña (opcional). Esta contraseña se usa para proteger el archivo de la cuenta en el dispositivo.

Ver también

Hay más información disponible sobre las cuentas Jami en la sección Administración de cuentas del manual del desarrollador.

¿Dónde está mi identificación Jami?

El ID de Jami se muestra en la página principal de la aplicación Jami. El Jami ID es una cadena de 40 caracteres de letras y números; por ejemplo,f2c815f5554bcc22689ce84d45aefdda1bce9146.

¿Por qué no necesito usar una contraseña?

En un sistema centralizado, se requiere una contraseña para autenticarse en un servidor público donde se almacenan las cuentas. Cualquier tercero que conozca la contraseña de una persona podría robar la identidad de la persona.

Con Jami, la cuenta se almacena en una carpeta en el dispositivo. No hay un servidor público donde se almacenen las cuentas Jami. Por lo tanto, no se requiere una contraseña de cuenta con Jami. *La contraseña solo se usa para cifrar una cuenta Jami con el fin de proteger la cuenta Jami de alguien que tenga acceso físico al dispositivo.

Es posible que no se desee o no se requiera una contraseña si el dispositivo está encriptado. Las versiones recientes de Jami no solicitan una contraseña de cifrado de cuenta de forma predeterminada al crear nuevas cuentas.

Nota

Cambiar una contraseña solo cambiará la contraseña en el dispositivo actual y no se sincronizará (porque no hay servidor y otros dispositivos pueden estar desconectados de todos modos).

¿Por qué no necesito registrar un nombre de usuario?

El identificador más permanente y seguro es el Jami ID. Sin embargo, estos son difíciles de usar para algunas personas; también existe la opción de registrar un nombre de usuario. El registro del nombre de usuario requiere un servidor de nombres, como el servidor de nombres Jami predeterminado en ns.jami.net'

Si no registra un nombre de usuario, puede elegir registrarlo más adelante en cualquier momento.

Si aloja su propio servidor de nombres en example.com', los nombres de usuario registrados allí se pueden buscar buscando username@example.com”`

¿Puedo cambiar mi nombre de usuario?

Los nombres de usuario no se pueden cambiar en el servidor de nombres predeterminado (ns.jami.net).

¿Cuál es la diferencia entre un nombre de usuario y un nombre de pantalla?

El nombre de usuario se puede utilizar como identificador. El nombre de usuario apunta al Jami ID, que es el identificador permanente y seguro. Los nombres de usuario son únicos en el servidor de nombres.

Un nombre para mostrar le permite elegir otro nombre que identifique una cuenta Jami para los contactos. Los nombres para mostrar se pueden editar o cambiar en cualquier momento, y solo los pares de confianza pueden verlos.

¿Cómo puedo respaldar mi cuenta?

Hay dos formas de hacer una copia de seguridad de una cuenta:

  1. Vincula otro dispositivo a la cuenta para que la cuenta esté en dos dispositivos. Esta opción está disponible en la página Configuración de la cuenta.

  2. Hacer una copia de seguridad del archivo de la cuenta. Más información sobre las cuentas Jami está disponible en la sección Administración de cuentas del manual del desarrollador. Algunos clientes permiten exportar el archivo de la cuenta Jami desde la configuración de la cuenta.

¿Puedo recuperar mi nombre de usuario sin mis llaves?

Si el servidor de nombres predeterminado es `ns.jami.net “ almacena un nombre de usuario, el nombre de usuario no se puede recuperar sin la clave. No hay forma de probar un nombre de usuario sin la clave.

Si se usó un servidor de nombres diferente para almacenar un nombre de usuario, puede haber una manera de mover el nombre de usuario a un nuevo Jami ID a discreción del administrador del servidor de nombres.

Ver también

Puede encontrar más información sobre los servidores de nombres en la sección [Protocolo del servidor de nombres] (/developer/jami-concepts/name-server-protocol.md) del manual del desarrollador.

¿Puedo recuperar mi cuenta si me olvido de mi contraseña?

No. No existe un proceso tradicional de recuperación de cuentas; el usuario es la única persona con acceso a los datos del usuario.

Tip

Utilice un administrador de contraseñas si le preocupa olvidar la contraseña de la cuenta Jami.

¿Qué pasa cuando borro mi cuenta?

La cuenta Jami solo se almacena en dispositivos que tienen la cuenta Jami.

La cuenta Jami desaparece y no se puede restaurar si:

  • no hay copia de seguridad de la cuenta Jami, y

  • la cuenta Jami se ha eliminado de todos los dispositivos.

Además, nadie más puede usar la cuenta Jami.

Los contactos seguirán teniendo los mensajes que se les enviaron, pero todo el registro público de la cuenta en la red DHT eventualmente desaparecerá debido a la ausencia y falta de actividad.

Advertencia

El valor predeterminado `ns.jami.net “ servidor de nombres no elimina ningún nombre de usuario registrado; otros servidores de nombres podrían (no se recomienda), a discreción de su administrador. Entonces, si una cuenta tiene un nombre de usuario registrado en el servidor de nombres predeterminado y la cuenta se elimina o se pierde (sin una copia de seguridad), nadie (incluido el usuario) podrá registrar una nueva cuenta con ese nombre de usuario nuevamente; por lo tanto, ya nadie puede comunicarse con el usuario con ese nombre de usuario.

¡Para evitar perder una cuenta, por favor haga una copia de seguridad!

Avanzado

¿Qué protocolo utiliza Jami para el cifrado de extremo a extremo?

[TLS(Seguridad de la capa de transporte)] (https://wikipedia.org/wiki/Transport_Layer_Security) protocolo versión 1.3 se utiliza con un requisito de secreto directo perfecto para los cifrados negociados para llamadas y transferencias de archivos. Los mensajes se cifran con una clave RSA.

¿Qué datos pasan a través de mi dispositivo cuando participo en la red Jami?

Todos estos datos están encriptados. Hay:

  • Descriptores ICE de otros usuarios Jami (el protocolo ICE ayuda a establecer comunicación entre dos dispositivos)

  • ciertos mensajes de texto

  • cuentas que estén actualmente vinculadas a un nuevo dispositivo, como se explica anteriormente.

Las transmisiones de audio/vídeo y algunos mensajes de texto pasan a través del protocolo VoIP. Los mensajes de texto se pueden enviar a través de un canal VoIP o de la red DHT, dependiendo de si un canal de comunicación VoIP ya está abierto o no.

¿Por qué puedo comunicarme conmigo mismo?

Muchos usuarios usan Jami para transferir datos de un dispositivo a otro. Una ventaja de transferir datos usando Jami es que no se requiere un servidor de terceros.

Tip

Esta es una de las muchas características únicas de Jami.

Agréguese como contacto para habilitar:

  • Transferencias de archivos punto a punto (sin un servidor de terceros) entre sus dispositivos.

  • Llamar a su cuenta en otros dispositivos si olvida dónde está el dispositivo.

  • Tener una cuenta compartida en una familia u organización para responder llamadas de contactos compartidos.

  • Llamarte a ti mismo para hablar con miembros de la familia u organización que se encuentran en diferentes ubicaciones.

  • Escribir notas y listas para ti mismo que están disponibles en todos tus dispositivos.

  • Otros casos de uso que no se enumeran aquí.

¿Debería activar las notificaciones push?

Las notificaciones push permiten a Jami operar de una manera más adaptada al contexto de la movilidad(por ejemplo, consumo de energía y uso de datos). Las notificaciones pasan por el servicio Firebase en los servidores de Google, el UnifiedPush sistema, o el servicio de notificaciones Push de Apple (APNs). Solo se transfiere un identificador y no se puede utilizar para nadie que no tenga acceso a la cuenta.

¿Qué es un servidor de arranque?

Un servidor de arranque proporciona un punto de entrada a una red distribuida. Para conectarse a una red, Jami debe conocer otro nodo. Esta es la función del servidor de arranque. Puede ser cualquier nodo de la red, pero los nodos de arranque generalmente siempre están activos y disponibles. El servidor de arranque Jami predeterminado es bootstrap.jami.net'

¿Qué es un servidor TURN? ¿Qué es STUN?

Un servidor TURN es un relé y generalmente se usa cuando dos pares no pueden comunicarse entre sí debido a alguna restricción de firewall, tienen NAT sin ningún puerto abierto y no tienen una dirección IPv6.

Un servidor STUN solo se usa para cuentas SIP y generalmente se usa para obtener la dirección IP pública del dispositivo. Para las cuentas Jami, la red DHT ya proporciona la dirección IP pública del dispositivo.

¿Qué es un proxy DHT?

El proxy DHT es un servidor que se registra en la red DHT en nombre del dispositivo y transmite información hacia y desde el dispositivo. Por lo tanto, es el servidor el que estará activo en la red DHT y participará en la red, y ya no el dispositivo de destino. Varios dispositivos pueden registrarse en el mismo proxy DHT.

Generalmente, para transferir datos entre dos pares, hay 3 pasos:

  1. Intercambie candidatos (direcciones IP) a través de la red DHT.

  2. Negociar lo mejor [P2P] (https://wikipedia.org/wiki/Peer-to-peer) canalizar entre los pares.

  3. Transfiere datos en esta toma.

El proxy DHT solo se usa para el primer paso.

¿Qué pasa si deshabilito el proxy DHT en Android y qué pasa con las notificaciones push?

Hay 3 formas de usar la aplicación de Android:

  • Con notificaciones push (el proxy DHT debe estar habilitado). Este modo admite notificaciones para Android (a través de Google/Firebase, UnifiedPush, o Apple/APN). Esto disminuye el uso de la batería al eliminar la sincronización requerida con la red DHT y sin que ningún socket esté siempre activo.

  • Sin notificaciones push pero con proxy DHT habilitado. Esto evita que la aplicación se sincronice con otros nodos, pero «Ejecutar en segundo plano» DEBE estar habilitado para evitar que el sistema operativo elimine la aplicación.

  • Sin proxy DHT. En este caso, «Ejecutar en segundo plano» DEBE estar habilitado para evitar que el sistema operativo mate la aplicación. La aplicación se sincronizará con los otros nodos DHT.

Todavía tengo problemas con la aplicación Android incluso si la optimización de la batería está desactivada

Por favor leer <https://dontkillmyapp.com > para más detalles. Si no resuelve los problemas, abrir un informe de error (de acuerdo con un escenario para ayudar a reproducir y/o registrar).

¿Cómo funciona el servicio de registro de nombres de usuario?

Con el servidor de nombres predeterminado (ns.jami.net), los nombres de usuario están registrados en una cadena de bloques Ethereum. Es posible desarrollar un servidor de nombres con cualquier tecnología de almacenamiento de datos subyacente. Por ejemplo, se podría usar una base de datos SQL en lugar de una cadena de bloques para la tecnología de almacenamiento de datos.

Con el servidor de nombres predeterminado, buscar los nombres de usuario con https://ns.jami.net/name/test, donde “prueba” es un nombre de usuario para el que estamos buscando un [Infohash] coincidente(/developer/jami-concepts/jami-identifiers.md).

Una vez registrado, el servidor de nombres no proporciona ninguna forma de eliminar la asignación.

Puede encontrar más información sobre los servidores de nombres en la sección [Protocolo del servidor de nombres] (/developer/jami-concepts/name-server-protocol.md) del manual del desarrollador.

¿Cómo puedo cambiar el tiempo para una llamada?

En el archivo dring.yml (ver where_are_the_configuration_files_located”), se puede cambiar el valor ringingTimeout`, medido en segundos.

Cómo hacer copias de seguridad y reimportar conversaciones y cuentas

Nota

Esto solo es aplicable a los clientes de escritorio. Los clientes de escritorio se ejecutan en sistemas operativos GNU/Linux, macOS y Windows.

  1. Exporta cada cuenta. (Para GNU/Linux: “Abrir configuración” → “Cuenta” → “Administrar cuenta 'Cuenta de respaldo').

  2. Copiar y guardar la base de datos (en `~/.local/share/jami “ por ejemplo).

  3. En el nuevo dispositivo, para importar la configuración y los contactos con conversaciones vacías:

    • Si Jami se abre por primera vez, importe la copia de seguridad del archivo. Ya tengo una cuenta → `Importar desde una copia de seguridad de archivo”.

    • Si Jami ya tiene una cuenta, importe cada copia de seguridad del archivo. Agregar otra cuenta '→ Ya tengo una cuenta “ → “Importar desde una copia de seguridad de archivo”.

  4. Cerrar Jami y reemplazar la base de datos con la base de datos previamente guardada.

¿Qué tan seguro estás?

Se usa TLS/SRTP para proteger las conexiones y comunicaciones a través de la red.

SRTP sobre SIP se implementa utilizando las recomendaciones descritas en las siguientes dos RFC:

Normalmente se negocian 2 tipos de enchufes. Uno para el zócalo de control, el otro para los zócalos de medios.

Una sesión de control típica utilizará el siguiente conjunto de cifrado:

(TLS1.3)-(ECDHE-SECP384R1)-(RSA-PSS-RSAE-SHA384)-(AES-256-GCM)
(TLS_ECDHE_RSA_AES_256_GCM_SHA384)

Compatible con TLS (reserva) :

"SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-VERS-TLS-ALL:+VERS-DTLS-ALL:-RSA:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION"

TLS:

"SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-RSA:-GROUP-FFDHE4096:-GROUP-FFDHE6144:-GROUP-FFDHE8192:+GROUP-X25519:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION"

Las suites criptográficas compatibles para la sesión de medios son:

  • AES_CM_128_HMAC_SHA1_80 / SRTP_AES128_CM_HMAC_SHA1_80

  • AES_CM_128_HMAC_SHA1_32 / SRTP_AES128_CM_HMAC_SHA1_32

¿Cuándo quedan expuestas las direcciones IP públicas?

Se consideran tres escenarios principales de conectividad: (1) una configuración clásica, (2) detrás de una VPN y (3) a través de [Tor] (https://www.torproject.org/).

Como Jami es una aplicación [P2P] (https://wikipedia.org/wiki/Peer-to-peer), el lector probablemente sabrá que (2) o (3) es obligatorio para evitar la filtración de direcciones IP.

Además, incluso si es mi respuesta, puede optar por no confiar en mi respuesta y verificar el código, use [Wireshark] (https://www.wireshark.org/), o utilizar otras herramientas. Generalmente, los desarrolladores de Jami usan el primer escenario (a veces el segundo). Es imposible para los desarrolladores de Jami probar todas las configuraciones de red posibles. Si descubre un error, por favor [abra un problema] (bug-report-guide.md).

Para los tres escenarios, hay tres acciones principales:

  • enviando un mensaje (esto usará la red DHT);

  • enviar un archivo (TCP ES la conexión como se describe en la sección Transferencia de archivos del manual del desarrollador; y

  • realizar una llamada (conexión ICE TCP + UDP como se describe en la sección Llamadas del manual del desarrollador.

(1) Una configuración clásica

Envía un mensaje

La aplicación Jami está ejecutando un nodo DHT (https://opendht.net) en su dispositivo. Entonces, cada operación en la red DHT usará su dirección IP. Es por eso que Jami tiene la opción de usar un proxy DHT (por ejemplo, http://dhtproxy.jami.net/); esto evitará usar su nodo y, en su lugar, usará otro nodo en la red(que verá su dirección IP). Tener en cuenta que su mensaje no se envía directamente al otro dispositivo. De hecho, su mensaje se envía en algunos nodos de la red DHT, y su contacto recuperará el mensaje en este nodo. Entonces, su contacto no ve su dirección IP en este paso, pero el nodo que recibe el mensaje sí lo hará (o verá la dirección IP del proxy).

Enviar un archivo

Como se describe en la documentación, enviará un mensaje con todas las direcciones IP que sepa que su par puede contactar en un paquete cifrado. Entonces, si su compañero le envía un archivo o usted envía un archivo, sus direcciones aparecerán en el mensaje ICE.

Llamadas

Igual que antes, la dirección IP está presente en el mensaje ICE.

(2) Detrás de una VPN

Envía un mensaje

La dirección IP de su VPN será utilizada por el nodo DHT. Si se requiere una prueba, compile dhtnode y ejecute el comando “la” para recuperar su dirección pública detectada. Esto es lo que tengo:

./tools/dhtnode -b bootstrap.jami.net
Bootstrap: bootstrap.jami.net:4222
OpenDHT node be58fdc9f782269bfc0bbfc21a60bca5f02cb881 running on port 54299
(type 'h' or 'help' for a list of possible commands)

>> la
Reported public addresses:
IP ADDRESSES OF MY VPN

Entonces, si no usa un proxy, sus direcciones VPN se usarán para usar la red DHT. Si usa un proxy DHT, el Proxy DHT verá sus direcciones VPN.

Enviar un archivo

Igual que el anterior, el mensaje ICE contiene:

  • direcciones de su red de área local (LAN)

  • dirección pública de su red privada virtual (VPN)

  • Dirección del servidor TURN si el servidor TURN está habilitado

Haga una llamada.

Al igual que en el caso anterior, su dirección pública se reemplaza por su dirección VPN. Puedes verlo en los registros de daemon. Ver Registros.

(3) Tor

Envía un mensaje

Tor básicamente no admite el protocolo UDP. Esto significa que no puede usar su nodo DHT localmente; debe usar un DHTProxy. Ese proxy verá el nodo de salida.

Enviar un archivo

Prefiero una prueba a cualquier descripción. Entonces, hice una transferencia de archivos con Jami y Tor. Esto es lo que veo en los registros del control remoto:

[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a8c801 1 TCP 2130706431 192.168.200.1 33293 typ host tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a8c801 1 TCP 2130706431 192.168.200.1 9 typ host tcptype active
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a80103 1 TCP 2130706431 192.168.1.3 33293 typ host tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a80103 1 TCP 2130706431 192.168.1.3 9 typ host tcptype active
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: R33fe279d 1 TCP 16777215 51.254.39.157 27427 typ relay tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Sc0a8c801 1 TCP 1694498815 185.220.101.24 33293 typ srflx tcptype passive

Las primeras líneas en los registros son 192.168.x. x direcciones, así que no nos importa. La dirección 51.254.39.157 es la dirección de GIRO en Francia (mi dispositivo está en Canadá). La dirección 185.220.101.24 es el nodo de salida de Tor:

inetnum:        185.220.101.0 - 185.220.101.127
netname:        MK-TOR-EXIT
Haga una llamada.

Las llamadas no funcionarán. Se puede crear una conexión de control SIP ya que es una conexión TCP. Sin embargo, los medios no funcionarán porque solo admiten el protocolo UDP.

¿Qué puertos utiliza Jami?

Jami funciona como servidor y obtiene nuevos puertos para cada conexión (enlazados aleatoriamente). Estos son los rangos que se pueden utilizar para cada componente:

  • Dht: UDP [4000, 8888]

  • audio: UDP [16384-32766]

  • Video: UDP [49152-65534]

  • Control SIP: UDP/TCP ligado al azar

Nota

Si el protocolo UDP está bloqueado, se puede usar un proxy DHT para usar el protocolo TCP en su lugar. Sin embargo, los medios no funcionarán porque solo admiten el protocolo UDP.

Entonces, para UFW (Firewall sin complicaciones), se recomienda abrir la Terminal e ingresar el comando:

sudo ufw default allow outgoing

Actualmente, no es posible definir el rango de puertos configurados que utilizará Jami. El tráfico entrante se puede controlar sin problemas; Jami debería funcionar y puede usar un servidor TURN si es necesario.

Si ejecuta su propio proxy o servidor de nombres:

  • DHTProxy, servidor de nombres: TCP [80-100], 443

Si ejecuta su propio servidor TURN:

  • TURN/STUN: TCP+UDP 3478, 5349

¿Puedo usar Jami en una red LAN sin acceso a Internet?

¡Sí! Gracias a la arquitectura James, los usuarios de Jami en una red local/privada pueden comunicarse entre sí utilizando Jami sin requerir ninguna conectividad externa, como Internet.

Para hacerlo, con la cuenta Jami seleccionada, abra la configuración, seleccione la pestañaCuenta ' y abraConfiguración avanzada. Allí, habilite la configuración ' Descubrimiento local de pares. Además, es posible que desee establecer la dirección del nodo “bootstrap” (predeterminado: bootstrap.jami.net') manualmente a la dirección IP de otro dispositivo en su red que también ejecute Jami y/o un nodo OpenDHT

Nota

Si usará esta cuenta Jami para comunicarse solo con otros dispositivos en la misma red local/privada, puede deshabilitar el servidor TURN si lo desea. Si lo hace, y luego decide usar esta cuenta también para comunicarse con otros dispositivos Jami fuera de su red, no olvide habilitar el servidor TURN nuevamente, ya que ayuda a Jami a solucionar problemas con algunos firewalls demasiado restrictivos.

¿Cómo puedo configurar los códec… aún más?

Los códecs se pueden configurar a través de un archivo. En los archivos de configuración, puede crear un archivo llamado “ encoder.json “ como este:

{
    "libx264": {
        "profile": 100,
        "level": 42,
        "crf": 20,
        "preset": "ultrafast"
    },
    "h264_vaapi": {
        "low_power": 1
    },
    "libopus": {
        "application": "voip"
    }
}

o bien:

{
    "libopus": {
        "bit_rate": 128000
    }
}

Este archivo located en el mismo directorio como dring.yml.

Para verificar qué opciones son compatibles, use el comando “ ffmpeg-h encoder=[coder_name]”, donde “encoder_name” puede ser cualquiera de libx264, libvpx, mpeg4, h263', 'libopus', 'libspeex', g722”,` pcm_alaw “ o “ pcm_mulaw “( los nombres FFmpeg para todos los codificadores compatibles con Jami).

¿Cómo puedo configurar el procesador de audio?

Un procesador de audio le permite a Jami limpiar y procesar el audio de su micrófono. Puede eliminar el eco, reducir el ruido e igualar el volumen de su micrófono. Además, puede detectar cuándo está hablando y enviar esta información a los participantes en su llamada. La configuración del procesador de audio se puede configurar en su “ dring.archivo yml. Ver {ref}en esta sección para encontrar dónde se encuentra este archivo<where_are_the_configuration_files_located>`.

Las claves de preferencia pertinentes son:

  • audioProcessor, que configura qué procesador de audio usar. Las opciones válidas son:

  • echoCancel, lo que configura cómo se debe realizar la cancelación de eco. Las opciones válidas son:

    • auto: intente utilizar el cancelador de eco de su sistema operativo (si existe); de lo contrario, recurra al cancelador de eco del procesador de audio elegido

    • audioProcessor: utilice solo el cancelador de eco del procesador de audio elegido

    • system: utilice únicamente el cancelador de eco de su sistema operativo

    • null: no hagas ninguna cancelación de eco

  • noiseReduce, true/false para configurar la reducción de ruido en el procesador de audio

  • “automaticGainControl,true`/ “false” para fijar el control automático de aumento en el procesador audio

  • voiceActivityDetection, true/false para configurar la detección de actividad de voz en el procesador audio