Challenge
In summary, many new Jami users are facing this same challenge. This is actually one of the most frequent challenge. In summary, when using some networks, Jami successfully send & receive messages. But when using some other networks, Jami failed to receive messages. All the above using both the same devices & same Jami configuration.
Below are the steps to reproduce this challenge, the likely cause of this challenge, and two suggested resolutions.
Steps to reproduce
-
Install Jami Desktop version Maloya 202106****** on two devices
-
Using your network, let’s call it Network 1, sending & receiving messages back & forth is successful between those two devices.
-
Using the same two devices, use a different network. Let’s call it Network 2. For example, use:
- Friends’ network
- Office network
- Free wireless network in a store
Do not make any change to the configuration of Jami on your two devices. But double check that you use a different network.
-
When using some other networks, sending & receiving messages failed between those two devices. The 1st device says that the message was sent. But the 2nd device never receives the message. This is the challenge.
-
Go back to using your Network 1. Sending & receiving messages back & forth is successful between those same two devices. Same configuration with Jami. No change. So it seems that the challenge is related to some network.
Cause
The likely cause of this challenge is that some networks are configured properly to allow Peer-To-Peer communication (P2P) connection. But other networks are not. For Jami to work properly, the network need to be configured appropriately to allow P2P connections.
Resolution
To resolve this challenge, choose one of the following two options. In summary, the option 1 below is quick and easy, but with weaker privacy. You simply need to activate the free Jami OpenDHT. The option 2 below is very long and hard, but with strong privacy. As you need to install and configure your own OpenDHT server.
Option 1: Free OpenDHT
Steps:
-
Reminder:
-
This option 1 is quick and easy. Because you simply need to flip a switch within your Jami configuration. Easy The challenge with this option 1 is that it’s weaker privacy, than the other option 2 below. Optionally, you could start with this present option 1. Then, in the future, switch to option 2. Or, depending on the context, switch between options 1 and 2. Below are the steps for activating option 1.
-
Jami has a free built-in optional feature called OpenDHT. Which is a free proxy server offered by Jamie. Which receive your IM than pass them on to your recipient. In turn, after your recipient receive your IM, he/she could choose to either send her reply directly to you or through any OpenDHT server to her/his liking. By default, the OpenDHT feature is deactivated in your Jami client.
-
-
Using your Jami client for desktop. Select your appropriate Jami Ring account. Click on this setting button.
This screenshot shows this button.
-
Click on this “Account” horizontal tab button
-
Click on this “Advanced settings” group to expend it
-
Under “OpenDHT configuration” group. Activate this “Proxy”. This activates your device connection with the free Jami OpenDHT server.
-
Still within this “OpenDHT configuration” group. Double check that your configuration are correct. If somehow your “OpenDHT configuration” are either missing or changed in good faith. Here are the correct default configuration values if you choose to use the free Jami OpenDHT server. The values in text format are:
- “Proxy”:
dhtproxy.jami.net:[80-95]
- “Auto connect on local network”: ACTIVATED
- “Bootstrap”:
bootstrap.jami.net
- “Proxy”:
-
No need to restart your Jami. Within the next 1 to 2 minutes, you should receive any send message (IM).
-
If you do not receive any IM, try one of the following two sub-options:
- Sub-option 1: Try to send a new IM message
or - Sub-option 2: Using the other device, using Jami, also activate the connection to the free Jami OpenDHT server.
- Sub-option 1: Try to send a new IM message
-
Note: OpenDHT might resolve connection challenge. Because your IM message is send from your local network to the OpenDHT server. Then in turn from the OpenDHT server to your recipient. Similar to what Skype does. This is weaker privacy. But less risky to result in connection challenge. Speaking for myself. I trust the Jami OpenDHT server as it’s both owned and operated by Jami themselves. The benefit with Jami is that you’re free to choose between using P2P or a proxy OpenDHT server. Compare to Skype where they force you to use their proxy closed source server
-
-
If you installed Jami on multiple devices. For example, your mobile, your tablet, and your desktop. And if any one of those devices is not receiving Jami messages. Then you need to redo all the above steps for each device. This is a one time configuration.
-
Note:
- One benefit with Jami is that you can customize this configuration per device.
-
-
If you have multiple Jami Ring account. For example, one account for work, one account per client, plus a personal account. Then you need to redo all the above steps for each Jami Ring account. This is a one time configuration.
-
Note:
- Another benefit with Jami is that you can customize each Jami Ring account to your liking.
- Jami automatically synchronize your account(s) configuration across all your devices. Easy
-
-
Done. You have successfully activated Jami OpenDHT. Enjoy
Option 2: Self-Hosted OpenDHT
Steps:
-
This second option is very long and hard. Because System Administrator skills are required. If you do have System Administrator skills, then the benefit of this 2nd option is that your Jami communications would be with very strong privacy.
-
Use this documentation to install & configure you own self-hosted OpenDHT server at https://github.com/savoirfairelinux/opendht/wiki
-
Related comment at https://forum.jami.net/t/anonymat-sur-jami/516/28
F.A.Q.
Why did I create this discussion, then answered myself?
So that in the future, it’s quick and easy to share this information. As this challenge is by far the most frequently faced challenge by newcomers to Jami.
Why did I not contribute those resolutions to this Jami documentation at https://docs.jami.net ?
This sounds like a great idea. I’ll be happy to try that when I’m available