Las preguntas frecuentes

Esta es una lista exhaustiva de preguntas frecuentes, incluidas algunas preguntas técnicas.

Principios básicos

¿Qué es Jami?

Véase la introducción:doc:``.

¿Qué significa Jami?

La elección del nombre Jami fue inspirada en la palabra swahili jamii que significa community como sustantivo y together como adverbio. Fue elegido porque refleja la visión del proyecto: un programa libre/libre disponible para todos que ayuda a unir a las comunidades, es apoyado por la comunidad y respeta la libertad y la privacidad de los usuarios.

¿Cómo puedo hacer un informe de insectos?

Consulte la guía de errores del documento:

¿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 distribuido:

Topología de redes centralizadas, descentralizadas y distribuidas

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

¿Qué significan los círculos de estado verde/naranja/rojo junto a los avatares?

En tu propia cuenta, un círculo rojo significa que no estás conectado al DHT o estás desconectado. Deberías tener un banner de error detallado que explique el problema. Es posible que necesites verificar tu conexión o reiniciar la aplicación.

Para contactos, ningún círculo significa que no se detecta ningún dispositivo en el DHT. Este contacto es inalcanzable. Si hay un círculo naranja presente, esto significa que al menos un dispositivo se anuncia en el DHT, por lo que este contacto PARECE ser alcanzable. Aún no tienes 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 podemos determinar con certeza el estado de este dispositivo. Por lo tanto, esto se puede traducir como «Parece ser alcanzable», pero la conexión puede fallar (firewall, bloqueo, NAT, etc).

La presencia generalmente tiene un TTL de 10 minutos sobre el DHT y varias horas si las notificaciones push están habilitadas.

Si hay un círculo verde presente, esto significa que estás conectado a un dispositivo de este par.

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

No todos los clientes implementan todas las características; compruebe la lista:doc:` aquí <todas las características por cliente>` para ver si su cliente está perdiendo la característica.

Puede hacer solicitudes de características en https://git.jami.net.

¿Jami apoya la lectura de recibos?

Puede habilitar o deshabilitar los recibos de lectura en Android. Otras plataformas pueden seguir trabajando en esta función. Por favor, consulte:doc:Todas las características por cliente <todas las características por cliente> para el estado actual.

¿Jami admite escribir notificaciones?

La mayoría de los clientes admiten el envío y recepción de notificaciones de mecanografía.

¿Puedo compartir mi pantalla?

Sí, en todas las plataformas excepto para iOS. Busque un botón dedicado «Compartir pantalla» mientras está en una llamada de video.

¿Puedo hacer llamadas de conferencia de grupo?

Sí. Puede agregar contactos Jami a las llamadas existentes (audio o video) haciendo clic en el botón «Agregar participantes».

¿Hay conversaciones grupales en Jami?

Sí, Jami ahora tiene:doc:../developer/swarm grupos de chats. Sin embargo, actualmente son experimentales y deben ser habilitados manualmente desde la configuración de la aplicación. Además, los chats de grupo se limitan actualmente a 8 participantes (para que los errores y problemas puedan ser más fácilmente encontrados y arreglados en escenarios más pequeños, y con suerte se levante este límite en el futuro).

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

Antes de ../developer/swarm, los dispositivos de una cuenta recibirían los mismos mensajes de los contactos si el dispositivo estuviera en línea en el momento en que se enviara el mensaje, pero los mensajes enviados no aparecerían en dispositivos distintos del que envía el mensaje.

Con la introducción de Swarm, el historial de conversaciones de nuevas conversaciones de Swarm (incluidas las conversaciones uno a uno) se sincronizan completamente entre todos los dispositivos vinculados de una cuenta. Si está utilizando una versión anterior de Jami, por favor actualice a la versión más reciente con soporte de Swarm. La última versión de Jami siempre está disponible desde la página de descarga del sitio web de Jami, en https://jami.net/download/.

Para obtener más información sobre Swarm, puede leer nuestra publicación de blog Sincronizar el historial de conversaciones con Swarm y ver la página ../developer/swarm del manual de desarrolladores Jami.

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

Con las conversaciones:doc:../desarrollador/swarm, cada dispositivo almacena todas las copias de todos los mensajes de esa conversación. Si un dispositivo (ya sea el suyo o de otro participante) no está disponible/en línea cuando se envía un mensaje, cuando vuelva a estar en línea, intentará recoger cualquier nuevo mensaje de otros dispositivos/ pares en línea y sincronizar el historial del mensaje. Esto se puede hacer siempre que al menos otro dispositivo que tenga una copia de los nuevos mensajes también esté en línea.

Nota

Puedes leer más sobre cómo se sincronizan las conversaciones de Swarm en nuestra publicación de blog Synchronizing conversation history with Swarm.

Si los participantes en una conversación a menudo no están en línea al mismo tiempo (por ejemplo, debido a diferencias en el huso horario), uno de ellos podría optar por configurar Jami en un dispositivo a menudo en línea que recibiría los mensajes de cada participante y los transmitiría a lo-s otro(s) cuando vengan en línea. Por lo tanto, actuando de manera similar a un «servidor», Jami permanece distribuido por naturaleza.

¿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 está 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 ~/.cache/jami/.

  • macOS: la configuración completa está en ~/Biblioteca/Apoyo a las Aplicaciones/Jami/ si se instala a través de https://jami.net. La versión de la tienda de aplicaciones utiliza ~/Biblioteca/Contenedores/com.savoirfairelinux.ring.macos/Data/Biblioteca/Apoyo a las Aplicaciones/jami/.

  • Android: la configuración completa está en ``/data/cx.ring/` (puede requerir privilegios de raíz para ver o cambiar desde fuera de Jami).

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

Nota: los mensajes de audio y vídeo se registran en los datos locales en la carpeta: sent_data

Para archivos, si un archivo se guarda (clique derecho en el archivo, entonces Guardar) se añadirá al directorio que configuró en las configuraciones de la aplicación.

¿Cuánto ancho de banda necesito para llamadas?

Para las llamadas de audio, Jami utiliza alrededor de 100 Kbps. Para una llamada de video, necesita alrededor de 2 Mbit/s para una calidad media. Si su conexión es más lenta, la velocidad de bits se reducirá automáticamente.

Si está organizando una videoconferencia, necesitará aproximadamente 2 Mbps adicionales por participante. Por ejemplo, para una conferencia con 10 participantes, cada participante necesitará 2 Mbps arriba y abajo y el anfitrión necesitará 20 Mbps arriba y abajo.

Jami también utiliza un algoritmo para cambiar el consumo dependiendo 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.

¿Cómo puede Savoir-Faire Linux (SFL) permitirse lanzar Jami de forma libre? ¿Cómo gana dinero SFL con Jami?

Savoir-Faire Linux (SFL) es una empresa de consultoría con algunos proyectos de I+D. Jami es un proyecto GPLv3+ y esto no cambiará. Savoir-Faire Linux ya vende servicios para varios campos de especialización (hosting, desarrollo de sitios web y aplicaciones, software embebido, etc). Jami se financia de varias formas:

  • Donaciones <https://www.paypal.com/donate?hosted_button_id=MGUDJLQZ4TP5W>`_

  • Contratos de personalización

  • Servicios para otros proyectos

  • Visibilidad

  • R&D

  • https://jami.biz

  • Como un 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 de Jami es una clave de cifrado asimétrico <https://en.wikipedia.org/wiki/Public-key_cryptography>`_. Su cuenta se identifica por un ID de Jami, que es una huella digital <https://en.wikipedia.org/wiki/Public_key_fingerprint>`_de su clave pública.

¿Qué información necesito dar para crear una cuenta de Jami?

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

Esta es la información que puede proporcionar si elige (todo es opcional):

  1. Un avatar.

  2. Un nombre de visualización, 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 ID Jami. Este nombre de usuario->Jami ID de mapeo se almacena en un servidor (ns.jami.net por defecto, pero puede alojar su propio).

  4. Una contraseña. Esta contraseña se utiliza para proteger el archivo de la cuenta en su dispositivo.

Más información sobre las cuentas de Jami se encuentra en la sección:ref:Técnica de desarrollo <desarrollador/técnica de desarrollo:Jami Account>.

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

Su identificación Jami debe aparecer de forma prominente en la aplicación que esté utilizando. Se parece a una larga cadena de letras y números; por ejemplo: f2c815f5554bcc22689ce84d45aefdda1bce9146`.

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

No se necesita tener una contraseña en su cuenta. En un sistema centralizado se usa su contraseña para autenticarse con un servidor público donde se almacena su cuenta. Alguien que conoce su contraseña podría robarle su identidad.

Con Jami, su cuenta se almacena en una carpeta :ref:` <user/faq:Donde se encuentran los archivos de configuración?>` en su dispositivo. La contraseña solo se utiliza para cifrar su cuenta con el fin de protegerlo de alguien que tiene acceso físico a su dispositivo.

Si su dispositivo está cifrado, es posible que no quiera o necesite usar una contraseña, y de hecho, las versiones recientes de Jami no piden una contraseña de cifrado de cuenta por defecto 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 un servidor y otros dispositivos pueden estar sin conexión de todos modos).

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

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

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

Si alojas tu 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?

Con el servidor de nombres predeterminado (ns.jami.net) no se puede cambiar su nombre de usuario.

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

Puede usar su nombre de usuario como identificador. El nombre de usuario apunta a su ID de usuario:ref:Jami <user/faq:Donde está mi ID de Jami?>, que es su identificador permanente y seguro.

Un nombre de visualización le permite elegir otro nombre que lo identifique a sus contactos.

¿Cómo puedo respaldar mi cuenta?

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

  1. Enlace otro dispositivo a tu cuenta para que tu cuenta esté en dos dispositivos. Puede encontrar esta opción en la página de configuración de la cuenta.

  2. Haga una copia de seguridad de account archive. Este archivo se puede encontrar en los archivos de la cuenta folder. En algunos clientes, puede exportar este archivo desde la configuración de la cuenta.

¿Puedo recuperar mi nombre de usuario sin mis llaves?

Si usaste el servidor de nombre predeterminado en ns.jami.net, no puedes. No hay manera de demostrar que es tu nombre de usuario sin tu clave.

Si utiliza un servidor de nombres diferente, puede haber una manera de mover un nombre de usuario a un nuevo ID Jami a discreción del administrador de ese servidor de nombres.

Para obtener más información sobre los servidores de nombres, véase:doc:../desarrollador/nombre-servidor-protocol.

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

No. No puede haber un proceso de recuperación de cuenta tradicional; usted es la única persona con acceso a sus datos. Si está preocupado por olvidar su contraseña, por favor utilice un administrador de contraseñas.

¿Qué pasa cuando borro mi cuenta?

Tu cuenta se almacena solo en tus dispositivos. Si borras tu cuenta de cada dispositivo, la cuenta se ha ido y no puedes recuperarla (a menos que ya la hayas hecho una copia de seguridad antes). Nadie más puede usar tu cuenta después de eso.

Sus contactos todavía tendrán los mensajes que les envió, pero todo registro público de su cuenta en el DHT eventualmente desaparecerá debido a la ausencia y falta de actividad.

Advertencia

El servidor de nombres predeterminado ns.jami.net` ** no elimina ningún nombre de usuario registrado - otros servidores de nombres podrían (no recomendado), a discreción de su administrador. Así que, si usted tiene una cuenta con un nombre de usuario registrado en el servidor de nombres predeterminados y usted elimina o pierde su cuenta, y no hizo una copia de seguridad de su cuenta antes, nadie (incluyendo usted) podrá registrar una nueva cuenta con ese nombre de usuario de nuevo, por lo que nadie puede llegar a usted en ese nombre de usuario más.

Para evitar perder tu cuenta por favor back it up!

Avanzado

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

Utilizamos TLS 1.3 con un requisito de secreto de reenvío perfecto para los cifrados negociados para llamadas y transferencias de archivos. Los mensajes están cifrados con una clave RSA.

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

Todos estos datos están cifrados.

  • Descriptores ICE de otros usuarios de Jami (ICE es un protocolo que ayuda a establecer la comunicación entre dos ordenadores)

  • ciertos mensajes de texto

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

Los flujos de audio/vídeo y algunos mensajes de texto pasan por el protocolo VOIP. Los mensajes de texto se pueden enviar ya sea a través de VOIP o DHT (la red distribuida) dependiendo de si un canal de comunicación VOIP ya está abierto o no.

¿Por qué puedo comunicarme conmigo mismo?

Muchos usuarios utilizan Jami para transferir datos de una máquina a otra.

¿Debería activar las notificaciones push?

Las notificaciones push permiten a Jami operar de una manera más adaptada al contexto de la movilidad (consumo de energía, datos,…). Sin embargo, por el momento, las notificaciones pasan a través de los servidores de Google, a través del servicio Firebase. Solo se transfiere un identificador y no la puede utilizar nadie que no tenga acceso a su cuenta.

¿Qué es un servidor de arranque?

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

¿Qué es un servidor de la vuelta?

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

Un servidor STUN solo se usa para cuentas SIP y generalmente se usa para obtener tu IP pública. Para las cuentas Jami, el DHT ya proporciona esta información.

¿Qué es DHT proxy?

El DHT proxy es un servidor que se registra en el DHT para usted y le transmite su información. Por lo tanto, es el servidor que estará activo en el DHT y participará en la red, y ya no el dispositivo objetivo.

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

  1. Los candidatos de intercambio (IP) a través del DHT

  2. Negociar el mejor canal p2p entre los pares

  3. Transfiere datos en esta toma.

El DHT sólo se utiliza para el primer paso.

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

Básicamente hay 3 modos de cómo usar la aplicación Android:

  • Con notificaciones push (DHT proxy debe estar habilitado).

notificaciones para Android (a través de Google/Firebase, y pronto Unified Push o Apple/APN). Esto reduce el uso de la batería, al eliminar la sincronización necesaria con el DHT y sin ningún socket 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 cierre la aplicación. + Sin proxy DHT. En este caso, «Ejecutar en segundo plano» DEBE estar habilitado para evitar que el sistema operativo cierre la aplicación. La aplicación se sincronizará con los demás nodos DHT.

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

Por favor, para más detalles leer https://dontkillmyapp.com. Si no resuelve su problema, puede abrir un informe de error (idealmente con un escenario para ayudarnos a reproducir y/o registros).

¿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. Si eres desarrollador, puedes construir tu propio servidor de nombres con la tecnología de almacenamiento de datos subyacente de tu elección (por ejemplo, podrías usar una base de datos SQL en lugar de usar una cadena de bloques).

Con el servidor de nombres predeterminado, puede buscar nombres de usuario en https://ns.jami.net/name/test, donde test es un nombre de usuario para el que estamos buscando una correspondencia:doc:Infohash <../developer/jami-identifiers>. Una vez registrado, este servidor de nombres ** no proporciona ninguna manera de eliminar el mapeo.

Lea más sobre el protocolo Jami:doc:../desarrollador/nombre-servidor-protocol.

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

En el archivo dring.yml (ver:ref:user/faq: ¿Dónde se encuentran los archivos de configuración?), puede cambiar el ringingTimeout (en segundos).

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

Nota

Esto es sólo para clientes basados en LRC (desktop).

Primero tendrá que exportar todas sus cuentas (Para GNU/Linux: Settings => `Account => `` Exportar cuentas`). Luego deberá copiar la base de datos (en `~/.local / share / jami / ` por ejemplo).

Luego, en el nuevo dispositivo, cuando abra Jami por primera vez, tendrá que volver a importar sus cuentas a través del archivo guardado anteriormente. Esto volverá a importar sus configuraciones y contactos (con conversaciones vacías). Luego cierra el cliente y reemplaza la base de datos con la que se guardó anteriormente. ¡Eso es todo!

¿Qué tan seguro estás?

Utilizamos TLS/SRTP para asegurar la conexión y las comunicaciones a través de la red.

Implementamos SRTP sobre SIP utilizando las recomendaciones descritas en los siguientes dos RFC:

Normalmente se negocian dos 2 tipos de tomas, uno para el control y otro para los medios.

La sesión de control típica utilizará la siguiente suite de cifrado:

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

DTLS (fallback) soportado:

"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"

La criptomoneda soportada para la sesión de medios es:

  • ``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 se expondrán los IP públicos?

Podemos considerar tres escenarios principales de conectividad: (1) una configuración clásica, (2) detrás de una VPN, (3) a través de Tor. Como Jami es una aplicación p2p, el lector probablemente sabría que (2) o (3) es un poco obligatorio para evitar la filtración de IP.

Además, incluso si es mi respuesta, puedes optar por no confiar en mi respuesta y comprobar el código, o usar wireshark u otras herramientas. Generalmente, yo (y hasta donde sé la mayoría de los otros desarrolladores de Jami) uso el primer escenario (a veces el segundo), y ciertamente no podemos probar todas las posibles configuraciones de redes que nos gustaría, así que si descubres un error, por favor:doc:open un problema <bug-report-guide>.

De todos modos, en estos 3 escenarios, hay 3 acciones principales:

  • enviar un mensaje (esto utilizará el DHT);

  • Enviar un archivo (conexión TCP ICE tal como se describe aquí: ../developer/file-transfer; y

  • la colocación de una llamada (conexión ICE TCP + UDP tal como se describe aquí: ../desarrollador/llamadas).

Configuración clásica

  • Envía un mensaje

La aplicación Jami está ejecutando un nodo DHT (https://opendht.net) en su dispositivo. Así que todas las operaciones en el DHT utilizarán sus ips. Es por eso que Jami tiene la opción de usar un dhtproxy (por ejemplo, dhtproxy.jami.net), esto evitará usar su nodo, pero utilizará otro nodo en la red (que verá su ip). Tenga en cuenta que su mensaje no se envía directamente al otro dispositivo. De hecho, su mensaje se envía en algunos nodos del DHT y su contacto recuperará el mensaje en este nodo. Así que, su contacto no ve su IP en este paso, pero el nodo que recibe el mensaje lo hará (o verá el IP del proxy).

  • Enviar un archivo

Como se describe en los documentos, enviará un mensaje con toda la IP que sabe que su compañero puede contactar en un paquete cifrado.

  • Llamadas

Como anteriormente, la IP está presente en el ICE.

Detrás de una VPN

  • Envía un mensaje

El IP de su VPN será utilizado por el nodo DHT. Si desea una prueba, puede compilar el dhtnode y ejecutar el comando la para obtener 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:
IPs OF MY VPN

Así que, si no utiliza un proxy, sus direcciones VPN se utilizarán para usar el DHT. Si utiliza un dhtproxy, el dhtproxy verá sus direcciones VPN

  • Enviar un archivo

Al igual que anteriormente, el ICE contendrá: + direcciones de su LAN + dirección pública de su VPN + dirección TURN si TURN está habilitado

  • Haga una llamada.

Como anteriormente, su dirección pública se sustituye por su dirección VPN. Puede verlo en los registros de daemon.

Tor

  • Envía un mensaje

Tor básicamente no admite 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 que cualquier descripción. Así que, hice una transferencia de archivos con Jami + TOR. Esto es lo que veo en los registros para el 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

Los primeros son unos 192.168.x.x así que no nos importa. 51.254.39.157 es la dirección TURN en Francia (mi dispositivo está en Canadá). 185.220.101.24 es el nodo de salida Tor:

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

Esto no funcionará (en realidad, se puede crear la conexión de control SIP porque es una conexión TCP), pero los medios se negocian en UDP, por lo que esto fallará.

¿Qué puertos utiliza Jami?

Jami trabaja como servidor y obtiene nuevos puertos para cada conexión (arrestados al azar). Estos son los rangos que se pueden usar para cada componente:

  • Dht: UDP [4000, 8888]

  • audio: UDP [16384-32766]

  • Video: UDP [49152-65534]

  • Control SIP: UDP/TCP ligado al azar

Nota: si UDP está bloqueado, se puede usar un dhtproxy para usar TCP en su lugar.

Por lo tanto, para ufw, recomendamos ejecutar ``sudo ufw permiten por defecto salir ``.

Por ahora, no puede especificar un rango específico para configurar los puertos utilizados por Jami. El tráfico entrante se puede controlar sin problemas, Jami debe 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 local (LAN) sin acceso a Internet?

Gracias a la arquitectura de Jami, los usuarios de Jami en una red local/privada pueden comunicarse entre sí utilizando Jami, sin necesidad de conectividad externa como Internet.

Para hacerlo, desde la configuración de Account de Jamie, abra Advanced account settings`.. Allí, habilite la configuración Enable local peer discovery. Además, es posible que desee configurar manualmente la dirección del nodo «bootstrap» (predeterminado » bootstrap.jami.net) a la dirección IP de otro dispositivo en su red que también ejecute Jami y/o un nodo OpenDHT.

Nota

Si usas esta cuenta de Jami para comunicarte solo con otros dispositivos de la misma red local/privada, puedes desactivar TURN si lo deseas. Si lo haces y luego decides usar esta cuenta también para comunicarte con otros dispositivos de Jami fuera de tu red, no olvides habilitar TURN de nuevo, ya que ayuda a Jami a resolver problemas con algunos firewalls demasiado restrictivos.

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

Los códec pueden configurarse a través de un archivo. En los archivos de configuración, puede crear un archivo llamado encoder.json así:

{
    "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 está:ref:` ubicado en el mismo directorio <user/faq:Where are the configuration files located?>` como dring.yml.

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

¿Cómo puedo configurar el procesador de audio?

Un procesador de audio permite a Jami limpiar y procesar el audio de su micrófono. Puede eliminar el eco, reducir el ruido y igualar el volumen de su micrófono. Además, puede detectar cuando está hablando y enviar esta información a los participantes en su llamada. Las configuraciones del procesador de audio se pueden configurar en su archivo dring.yml. Ver:ref:` esta sección para encontrar dónde se encuentra este archivo <config-file-location>`.

Las claves de preferencia pertinentes son:

  • audioProcesor, que configura qué procesador de audio utilizar.

    • la biblioteca webrtc: the WebRTC Audio Processing

    • speex: la biblioteca de DSP Speex

    • null: desactiva el procesamiento de audio (aunque el cancelador de eco de tu sistema aún puede usarse, véase a continuación)

  • echoCancel, que configura cómo debe realizarse la cancelación de eco.

    • auto: trate de usar el cancelador de eco de su sistema operativo (si existe), de lo contrario vuelva al cancelador de eco del procesador de audio elegido

    • audioProcesor: sólo utilice el cancelador de eco del procesador de audio elegido

    • system: sólo use el cancelador de eco de su sistema operativo

    • null: no haga ninguna cancelación de eco

  • noiseReduce, true/false

  • automaticGainControl, true/false

  • voiceActivityDetección, true/false