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?
The choice of the name Jami was inspired by the Swahili word jamii, which means community
as a noun and together
as an adverb.
It was chosen as it reflects the vision for the project:
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 does not work like most communication platforms because it is distributed.
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.
What do the 🟢 green, 🟠 orange, and 🔴 red status circles next to profile pictures mean?
On a user’s account, 🔴 (a red circle) displayed means that the device is not connected to the DHT network or is offline. A detailed error should be displayed explaining the issue. Checking the network/Internet connection or restarting the application may resolve the issue.
Para contactos:
No circle displayed means that no device is detected on the DHT network. The contact is unreachable.
🟠 (an orange circle) displayed means that at least one device is announced on the DHT network, so the contact SEEMS to be reachable. The device does not have a direct connection to this peer yet. But they should be able to receive connection requests. Because the device is not directly connected to anything, the device status is unable to be determined for sure. So this can be translated to «Seems to be reachable,» but the connection may fail (due to a firewall, deadlock, or NAT). The presence generally has a TTL time of:
10 minutes over the DHT network, and
several hours if push notifications are enabled.
🟢 (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?
Features vary by client. For the feature comparison by client, visit the All features by client page. To submit feature requests, visit the https://git.jami.net/groups/savoirfairelinux/-/issues page.
¿Jami admite acuse de recibos de lectura? ¿Puedo activarlos o desactivarlos?
Yes. Read receipts can be enabled or disabled in the settings on Jami for Desktop, Android, Android TV, and 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.
With the implementation of Swarm Technology, conversation histories of new conversations (including one-on-one conversations) are fully synchronized between all of an account’s linked devices. Please upgrade all old versions of Jami to the latest version that includes Swarm Technology. The latest version of Jami is always available from the Download page of the Jami website, at 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
Para configurar Jami en dispositivos que suelen estar en línea, visite la página Jamison servers.
¿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: global configuration is under
~/.config/jami/dring.yml
, and account-specific files are under~/.local/share/jami/
. Finally, there is a cache directory at~/.cache/jami/
.macOS: the full configuration is under
~/Library/Application Support/Jami/
if installed via https://jami.net. The App Store version uses~/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 also uses an algorithm to change the consumption depending on the quality of the link. So, the bitrate can have a minimum of 200 Kbit/s and a maximum of 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) is a consulting company with some R&D projects. Jami is a GPLv3+ project, and this will not change. SFL already sells services for several fields of expertise (such as hosting, developing websites and applications, and embedded software).
Jami se financia de varias maneras:
Servicios para otros proyectos
Visibilidad
Jami’s recurring expenses:
As a distributed system, Jami incurs very low costs by design.
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?
A Jami account is an asymmetric encryption key. The Jami account is identified by a Jami ID, which is a fingerprint of the public key.
¿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:
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?
The Jami ID is displayed on the main page of the Jami application.
The Jami ID is a 40-character string of letters and numbers; for example, f2c815f5554bcc22689ce84d45aefdda1bce9146
.
¿Por qué no necesito usar una contraseña?
On a centralized system, a password is required to authenticate with a public server where accounts are stored. Any third party who knows a person’s password could steal the person’s identity.
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
Changing a password will only change the password on the current device, and it’s not synced (because there is no server, and other devices can be offline anyway).
¿Por qué no necesito registrar un nombre de usuario?
The most permanent, secure identifier is the Jami ID.
However, these are difficult to use for some people; there is also the option of registering a username.
Username registration requires a name server, such as the default Jami name server at 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.
A display name allows you to choose another name that identifies a Jami account to contacts. Display names can be edited or changed at any time, and only trusted peers can see them.
¿Cómo puedo respaldar mi cuenta?
Hay dos formas de hacer una copia de seguridad de una cuenta:
Link another device to the account so the account will be on two devices. This option is available on the Account settings page.
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?
The Jami account is only stored on devices that have the Jami account.
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.
The contacts will still have the messages that were sent to them, but all public record of the account on the DHT network will eventually disappear due to absence and lack of activity.
Advertencia
The default ns.jami.net
name server does not delete any registered usernames—other name servers might (not recommended), at their administrator’s discretion.
So, if an account has a registered username on the default name server and the account is deleted or lost (without a backup), nobody (including the user) will be able to register a new account with that username again; thus, nobody can reach the user at that username anymore.
To avoid losing an account, please back it up!
¿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?
TLS (Transport Layer Security) protocol version 1.3 is used with a perfect forward secrecy requirement for the negotiated ciphers for calls and file transfers. Messages are encrypted with an RSA key.
What data passes through my device when I participate in the Jami network?
All this data is encrypted. There are:
ICE descriptors of other Jami users (the ICE protocol helps establish communication between two devices)
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 a VoIP channel or the DHT network, depending on whether a VoIP communication channel is already open or not.
¿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?
Push notifications allow Jami to operate in a way more adapted to the context of mobility (for example, energy consumption and data usage). Notifications go through the Firebase service on Google servers, the UnifiedPush system, or the Apple Push Notification service (APNs). Only one identifier is transferred, and it is unusable for anyone who does not have access to the account.
¿Qué es un servidor de arranque?
A bootstrap server provides an entry point to a distributed network.
To connect to a network, Jami must know one other node.
This is the role of the bootstrap server.
It can be any node in the network, but bootstrap nodes are generally always up and available.
The default Jami bootstrap server is bootstrap.jami.net
.
¿Qué es un servidor TURN? ¿Qué es STUN?
A TURN server is a relay and is generally used when two peers are unable to contact each other due to some firewall restriction, have NAT without any open port, and have no IPv6 address.
A STUN server is only used for SIP accounts and is generally used to obtain the public IP address of the device. For Jami accounts, the DHT network already provides the public IP address of the device.
What is a DHT proxy?
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:
Intercambie candidatos (direcciones IP) a través de la red DHT.
Negotiate the best P2P channel between the peers.
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:
With push notifications (DHT proxy must be enabled). This mode supports notifications for Android (via Google/Firebase, UnifiedPush, or Apple/APN). This decreases battery usage by removing the sync required with the DHT network 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.
Exporta 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, 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”.
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.
A typical control session will use the following cipher suite:
(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"
Supported crypto suites for the media session are:
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?
Three main connectivity scenarios are considered: (1) a classic configuration, (2) behind a VPN, and (3) via 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, use Wireshark, or use other tools. Generally, Jami developers use the first scenario (sometimes the second one). It is impossible for the Jami developers to test all possible network configurations. If you discover a bug, please open an issue.
Para los tres escenarios, hay tres acciones principales:
sending a message (this will use the DHT network);
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 operation on the DHT network will use your IP address. This is why Jami has the option to use a DHTProxy (for example, 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 network, and your contact will retrieve the message on this node. So, your contact does not see your IP address at this step, but the node that gets the message will (or they will see the IP address of the 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
So, if you don’t use a proxy, your VPN addresses will be used for using the DHT network. If you use a DHTProxy, the DHTProxy will see your VPN addresses.
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 basically does not support the UDP protocol. This means that you can not use your DHT node locally; you MUST use a DHTProxy. That proxy will see the Exit node.
Enviar un archivo
I prefer a proof to any description. So, I did a file transfer with Jami and Tor. This is what I see in the logs for the remote:
[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
The first lines in the logs are 192.168.x.x addresses, so we don’t care. The 51.254.39.157 address is the TURN address in France (my device is in Canada). The 185.220.101.24 address is the Tor exit node:
inetnum: 185.220.101.0 - 185.220.101.127
netname: MK-TOR-EXIT
Haga una llamada.
Calls will not work. A SIP control connection can be created as it is a TCP connection. However, the media will not work because it only supports the UDP protocol.
¿Qué puertos utiliza Jami?
Jami works as a server and gets new ports for each connection (randomly bound). These are the ranges that can be used for each component:
Dht: UDP [4000, 8888]
audio: UDP [16384-32766]
Video: UDP [49152-65534]
Control SIP: UDP/TCP ligado al azar
Nota
If the UDP protocol is blocked, a DHTProxy can be used to use the TCP protocol instead. However, the media will not work because it only supports the UDP protocol.
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
Can I use Jami in a LAN network without Internet access?
¡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 abra
Configuració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:webrtc
: the WebRTC Audio Processing libraryspeex
: la librería Speex DSP (procesamiento de señales digitales)null
: deshabilita el procesamiento de audio (aunque el cancelador de eco de su sistema aún puede usarse; consulte 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