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 distribuido:
Some of the consequences may seem surprising. For instance, since accounts are stored on the user’s device, passwords are optional. However, the most significant practical differences are that the user has more freedom and privacy.
¿Qué significan los círculos de estado verde/naranja/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 al 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:
no aparece ningún círculo significa que no se detecta ningún dispositivo en el DHT. El contacto es inalcanzable.
🟠 (un círculo naranja) que se muestra significa que al menos un dispositivo se anuncia en el 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. Por lo tanto, esto se puede traducir como «Parece ser accesible», pero la conexión puede fallar (firewall, interbloqueo, NAT, etc.). La presencia generalmente tiene un TTL de:
10 minutos sobre el DHT, y
varias horas si notificaciones push están habilitados.
🟢 (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?
No todos los clientes implementan todas las funciones. Comprobar Todas las funciones por cliente lista para ver si al cliente le falta la función. Las solicitudes de funciones se pueden hacer en https://git.jami.net.
¿Jami admite acuse de recibos de lectura? ¿Puedo activarlos o desactivarlos?
Sí. Los acuse de recibos de lectura se pueden habilitar o deshabilitar en la configuración de Jami para escritorio, Android, Android TV e iOS.
¿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 hacer llamadas de conferencia de grupo?
Sí. Los contactos Jami se pueden agregar a las llamadas (de audio o vídeo) haciendo clic en el botón «Agregar participante».
¿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 conversaciones 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 el-los mensaje(s) de cada participante y los transmitiría a los demás cada vez que se conectaran. 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 se encuentra en “~/.config/jami/dring.yml”, y los archivos específicos de la cuenta están en”~/.local/shared/jamie/
. Finalmente, hay un directorio de caché en'~/.cache/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.
How much bandwidth is required for calls?
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.
If a device is hosting a video conference, approximately an additional 2 Mbps per participant is required. So, for example, for a conference with 10 participants, each participant requires 2 Mbps up and down, and the host requires 20 Mbps up and down.
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 Inc. (SFL) permitirse el lujo de regalar Jami gratis? ¿Cómo gana dinero SFI con Jami?
Savoir-Faire Linux Inc. (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 (alojamiento, desarrollo de sitios web y aplicaciones, software integrado, etc.).
Jami se financia de varias maneras:
Servicios para otros proyectos
Visibilidad
Gastos recurrentes de Jami:
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 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.
What information is required to be provided to create a Jami account?
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:
Una foto de perfil (opcional).
Un nombre para mostrar( opcional), que es el nombre que los clientes mostrarán para su contacto. Puede contener caracteres especiales.
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).
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.
A password may not be wanted or required if the device is encrypted. Recent versions of Jami do not ask for an account encryption password by default when creating new accounts.
Nota
Cambiando 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 predeterminado de Jami 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:
Vincula otro dispositivo a la cuenta para que la cuenta esté en dos dispositivos. Esta opción está disponible en la página de Configuración de la cuenta.
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 una 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 todos los registros públicos de la cuenta en el DHT eventualmente desaparecerán 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!
¿Qué pasa cuando conecto un nuevo dispositivo?
Cuando un dispositivo está conectado a una cuenta, el archivo de la cuenta de Jami se coloca en la red Jami durante unos minutos. La cuenta de Jami está protegida con una contraseña que Jami proporciona.
El nuevo dispositivo recibe el certificado de cuenta completo con las claves RSA maestras y genera una nueva clave de dispositivo para firmar/cifrar mensajes.
Avanzado
¿Qué protocolo utiliza Jami para el cifrado de extremo a extremo?
Usamos TLS 1.3 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 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.
Audio/video streams and some text messages pass through the VoIP protocol. Text messages can be sent either via VoIP or DHT (the distributed network), depending on whether a VoIP communication channel is already open or not.
¿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, data). Sin embargo, por el momento, las notificaciones pasan por los servidores de Google, a través del servicio Firebase. 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 es el punto de entrada a la red distribuida. Para entrar en una red, Jami debe conocer otro nodo. Este es el papel del bootstrap. Puede ser cualquier nodo de la red, pero los nodos de arranque generalmente siempre están activos y disponibles. El predeterminado en Jami 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 sin 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, el DHT ya proporciona la dirección IP pública del dispositivo.
¿Qué es DHT proxy?
El proxy DHT es un servidor que se registra en el 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 el 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:
Intercambie candidatos (direcciones IP) a través del DHT
Negociar el mejor canal [P2P] (https://en.wikipedia.org/wiki/Peer-to-peer) entre los pares
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:
With push notifications (DHT proxy must be enabled). This mode supports notifications for Android (via Google/Firebase, and soon UnifiedPush or Apple/APN). This decreases battery usage by removing the sync required with the DHT and without any socket always alive.
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.
Exportar cada cuenta. (Para GNU/Linux: “Abrir configuración” → “Cuenta” → “Administrar cuenta
→ 'Cuenta de respaldo'
.Copiar y guardar la base de datos (en `~/.local/share/jami “ por ejemplo).
En el nuevo dispositivo, para importar la configuración y los contactos con conversaciones vacías:
si Jami se abre por primera vez, importar la copia de seguridad del archivo.
Ya tengo una cuenta
→ `Importar desde una copia de seguridad de archivo”.si Jami ya tiene una cuenta, importar cada copia de seguridad del archivo.
Agregar otra cuenta '→
Ya tengo una cuenta “ → “Importar desde una copia de seguridad de archivo”.
Cerrar Jami y reemplazar la base de datos con la base de datos previamente guardada.
¿Qué tan seguro estás?
TLS/SRTP se utiliza para proteger la conexión y las 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.
La 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"
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
When do public IP addresses get exposed?
Podemos considerar tres escenarios principales de conectividad: (1) una configuración clásica, (2) detrás de una VPN y (3) vía Tor.
As Jami is a P2P application, the reader would probably know that (2) or (3) is mandatory to avoid IP address leaking.
Moreover, even if it’s my answer, you can choose to not trust my answer and check the code, or use Wireshark or other tools. Generally, Jami developers use the first scenario (sometimes the second one). It is impossible to test all the possible networks configurations, so if you discover a bug, please open an issue.
Para los tres escenarios, hay tres acciones principales:
enviar un mensaje (esto utilizará el 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
The Jami application is running a DHT (https://opendht.net) node on your device. So every operations on the DHT will use your IP address. This is why Jami has the option to use a DHTProxy (e.g., http://dhtproxy.jami.net/); this will avoid using your node and instead will use another node on the network (which will see your IP address). Note that your message is not sent directly to the other device. In fact your message is sent on some nodes of the DHT and your contact will retrieve the message on this node. So, your contact don’t see your IP address at this step, but the node who get the message will (or they will see the IP address of the proxy).
Enviar un archivo
Como se describe en los documentos, enviará un mensaje con toda la dirección 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 arriba, la dirección IP está presente en el ICE.
(2) Detrás de una VPN
Envía un mensaje
The IP address of your VPN will be used by the DHT node.
If you want a proof, you can compile dhtnode and run the la
command to get your public detected address.
This is what I got:
./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
So, if you don’t use a proxy, your VPN addresses will be used for using the DHT. If you use a DHTProxy, the DHTProxy will see your VPN addresses.
Enviar un archivo
Al igual que arriba, el ICE contiene:
direccionado desde tu LAN
dirección pública de su VPN
TURN la dirección si está habilitado TURN
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 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
If UDP is blocked, a DHTProxy can be used to use TCP instead. However, media will not work because it only supports UDP.
So for UFW (Uncomplicated Firewall), it is recommended to open the Terminal and enter the command:
sudo ufw default allow outgoing
Currently, it is not possible to define the range of configured ports to be used by Jami. The inbound traffic can be controlled without issue; Jami should work and can use a TURN server if required.
Si ejecuta su propio proxy o servidor de nombres:
DHTProxy, name server: 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?
¡Sí! Gracias a la arquitectura de Jami, los usuarios de Jami en una red local/privada pueden comunicarse entre sí utilizando Jami, sin requerir ninguna conectividad externa, como Internet.
Para hacerlo, desde la configuración de Cuenta
de Jami, abra “Configuración avanzada de la cuenta” Allí, habilite la configuración 'Habilitar descubrimiento de pares local'
Además, es posible que desee establecer 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 usará esta cuenta Jami para comunicarse solo con otros dispositivos en la misma red local/privada,puede deshabilitar 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 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:webrtc
: theWebRTC Audio Processing library <https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/>
_speex
: theSpeex DSP library <https://gitlab.xiph.org/xiph/speexdsp>
_null
: deshabilita el procesamiento de audio (aunque el cancelador de eco de su sistema aún puede usarse, consultar a continuación)
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 elegidoaudioProcessor
: utilice solo el cancelador de eco del procesador de audio elegidosystem
: utilice únicamente el cancelador de eco de su sistema operativonull
: 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 audiovoiceActivityDetection
,true
/false
para configurar la detección de actividad de voz en el procesador audio