Vaderf
March 24, 2025, 12:52am
1
Hi everyone,
Since Skype will end soon, I would like to give Jami another try. I created an account in 2018 when Jami was called Ring. When starting Jami, my previous Ring account was not migrated correctly and the account did not show up. I was able to retrieve the certificate, key and config files from a previous backup and restore the account. However, I was unable to create the archive.gz
file. This prevents me from backing up the account in Jami or sharing it with another device. In debug mode, I receive an error stating that the archive.gz
file does not exist. I wonder if this is actually a bug, Jami should be able to generate a missing archive.gz
file.
I have tried a few things:
I used the export.gz
file from Ring without success. My understanding is that this file is a similar file to archive.gz
but seems to be encrypted (source ). However, the aes-256-gcm
is no longer available in openssl
, preventing me to decrypt it.
I created and empty archive.gz
file using another account and removing all data related to that account but this was unsuccessful. Jami complained about missing keys.
My understanding is that the keys that are in the archive.gz
file are encrypted. However, I don’t know which cypher or algorithm is used for this. I tried looking through the code but did not find anything obvious.
I would appreciate any guidance on how to generate the archive.gz
file using a command or how to encrypt the keys so that I can manually add them to an archive.gz
file.
Thank you in advance!
Vaderf
March 24, 2025, 3:44am
3
Hi @ovari ,
Thank you for the suggestion.
I renamed my export.gz
as suggested but it did not work. I also tried possible password of that time without success. I suspect that the encrypted export.gz
is still the problem. For good measure, I also tried with the archive.gz
of the other new account, and it worked (but this does not solve my problem).
ovari
March 24, 2025, 3:56am
4
Can you start a new Jami account?
Vaderf
March 24, 2025, 4:14am
5
If you mean starting fresh and forgetting about the old account, I technically can, but I won’t be able to use my username. My old account is perfectly functional: I can call and text people. However, due to the absence of the archive.gz
file, I cannot link other devices or backup easily my current account.
In addition, I think this is a broader issue. If anyone ends up with a corrupted archive.gz
file but a valid account, they are stuck. The archive.gz
file is generated when creating an account, so there should be a way to regenerate it.
Vaderf
March 27, 2025, 3:59am
6
Hi everyone,
I finally solved my problem. My export.gz
file was encrypted with a password. I decrypted the file by installing an old version of Ring available through the Wayback machine . I then removed the password to produce a clear export.gz
which I was able to use with Jami.
Knowing the correct password, I tried importing the encrypted export.gz
file with the current version of Jami without success, suggesting that Jami uses a different encryption method than Ring. Again, this clearly justifies having an option to recreate (encrypted) archive.gz
file, especially if encryption method changes overtime which is not improbable given my example.
Anyway, thank you for the help with this.
Could you try importing your old archive with logs enabled and provide the result ? Thanks
Vaderf
March 28, 2025, 3:59am
8
Hi @aberaud ,
Here is the log when creating a new account by importing the export.gz
file (minus what I deemed sensitive):
[1743133595.659|55287] UPnPContext: Starting dedicated io_context thread
[1743133595.660|55287] UPnPContext: Starting dedicated io_context thread
[1743133595.660|55287] Creating UPnPContext instance [0x5c1ec6f39190]
[1743133595.662|55287] PUPnP: Creating instance [0x76e0f0000e80]…
[1743133595.663|55287|ringbuffer.cpp :47 ] Create new RingBuffer audiolayer_id
[1743133595.664|55287|video_device_monitor_impl.cpp:146 ] udev: adding device with id 046d_08af
[1743133595.664|55287|video_device_impl.cpp :265 ] Unable to query frame interval for size
[1743133595.664|55287|video_device_impl.cpp :265 ] Unable to query frame interval for size
[1743133595.664|55287|video_device.h :128 ] Default video settings: 640x480, 25 FPS
[1743133595.667|55287|video_device_monitor_impl.cpp:150 ] udev: No ID_SERIAL detected, fallback on path (your camera may be a fake camera)
[1743133595.667|55287|video_device_monitor.cpp:217 ] Failed to add device /dev/video0: Unable to enumerate formats
[1743133595.669|55287|manager.cpp :719 ] Uninitialized
[1743133595.670|55287|manager.cpp :719 ] Uninitialized
[1743133595.674|55287|manager.cpp :793 ] Using PJSIP version: 2.15.1 for x86_64-pc-linux-gnu
[1743133595.674|55287|manager.cpp :794 ] Using GnuTLS version: 3.8.9
[1743133595.674|55287|manager.cpp :795 ] Using OpenDHT version: 3.3.0
[1743133595.674|55287|manager.cpp :796 ] Using FFmpeg version: 6.0.1
[1743133595.674|55287|manager.cpp :799 ] Using libgit2 version: 1.8.0
[1743133595.675|55287|sipvoiplink.cpp :642 ] Using SIP nameserver: 127.0.0.53
[1743133595.676|55287|sipvoiplink.cpp :736 ] SIPVoIPLink@0x5c1ec6e63040
[1743133595.677|55287|manager.cpp :815 ] Configuration file path: $HOME/.config/jami/dring.yml
[1743133595.678|55287|manager.cpp :2864] Preferences node unserialize YAML exception: invalid node; first invalid key: “preferences”
[1743133595.678|55287|manager.cpp :470 ] Error while parsing $HOME/.config/jami/dring.yml
[1743133595.678|55287|manager.cpp :842 ] Restoring last working configuration
[1743133595.679|55287|manager.cpp :2864] Preferences node unserialize YAML exception: invalid node; first invalid key: “preferences”
[1743133595.679|55287|manager.cpp :470 ] Error while parsing $HOME/.config/jami/dring.yml
[1743133595.679|55287|ringbuffer.cpp :47 ] Create new RingBuffer urgentRingBuffer_id
[1743133595.679|55287|audiolayer.cpp :56 ] [audiolayer] AGC: 1, noiseReduce: auto, VAD: 1, echoCancel: auto, audioProcessor: webrtc
[1743133595.679|55287|pulselayer.cpp :63 ] [audiolayer] Created PulseAudio layer
[1743133595.679|55287|audiolayer.cpp :165 ] [audiolayer] setHasNativeNS: 0
[1743133595.679|55287|pulselayer.cpp :140 ] Waiting…
[1743133595.679|55287|pulselayer.cpp :140 ] Waiting…
[1743133595.680|55287|pulselayer.cpp :140 ] Waiting…
[1743133595.680|55287|pulselayer.cpp :144 ] Connection to PulseAudio server established
[1743133595.680|55287|pulselayer.cpp :174 ] Updating PulseAudio sink list
[1743133595.680|55287|pulselayer.cpp :191 ] Updating PulseAudio source list
[1743133595.680|55287|pulselayer.cpp :208 ] Updating PulseAudio server info
[1743133595.680|55287|pulselayer.cpp :679 ] PulseAudio server info:
Server name: pulseaudio
Server version: 15.99.1
Default sink: alsa_output.pci-0000_08_00.3.analog-stereo
Default source: alsa_input.pci-0000_08_00.3.analog-stereo
Default sample specification: s16le 2ch 44100Hz
Default channel map: front-left,front-right
[1743133595.680|55287|audiolayer.cpp :69 ] Hardware audio format available: {s16, 2 channels, 44100Hz} 0
[1743133595.680|55287|manager.cpp :2669] Audio format changed: {s16, 1 channels, 16000Hz} → {s16, 2 channels, 44100Hz}
[1743133783.843|55287|manager.cpp :2792] Adding account 9a8a7a304b050136 with type RING
[1743133783.844|55287|system_codec_container.cpp:218 ] Unable to find a usable accelerated H265/HEVC codec, disabling.
[1743133783.845|55287|system_codec_container.cpp:248 ] Encoder(s) found: H264 VP8 MP4V-ES H263-1998 opus G722 G726-32 speex speex speex PCMA PCMU
[1743133783.845|55287|system_codec_container.cpp:249 ] Decoder(s) found: H264 VP8 MP4V-ES H263-1998 opus G722 G726-32 speex speex speex PCMA PCMU
[1743133783.846|55287] CertificateStore: loading certificates from $HOME/.local/share/jami/9a8a7a304b050136/certificates
[1743133783.846|55287] CertificateStore: loaded 0 local certificates.
[1743133783.846|55287|jamiaccount.cpp :1143] [Account 9a8a7a304b050136] Loading account
[1743133783.847|55287] Successfully registered controller 0x76e080008090
[1743133783.847|55287] [Account 9a8a7a304b050136] Refresh cache for TURN server resolution
[1743133783.847|55287] Starting UPnP context
[1743133783.847|55287] PUPnP: Start search for IGD. Attempt 1
[1743133783.849|55287|namedirectory.cpp :513 ] Loaded 3 name-address mappings from cache
[1743133783.849|55287|jamiaccount.cpp :1298] [Account 9a8a7a304b050136] useIdentity failed!
[1743133783.849|55287|jamiaccount.cpp :2475] [Account 9a8a7a304b050136] Disconnected
[1743133783.849|55287|jamiaccount.cpp :1354] [Account 9a8a7a304b050136] initAuthentication 0x76e080008670 0x76e08000d920
[1743133783.850|55287|archive_account_manager.cpp:54 ] [Account 9a8a7a304b050136] [Auth] starting authentication with scheme ‘file’
[1743133783.850|55287] PUPnP: Initialized on X.X.X.X:0
[1743133783.850|55287] PUPnP: Successfully registered client
[1743133783.850|55287] PUPnP: Send IGD search request
[1743133783.850|55287|archive_account_manager.cpp:256 ] [Account 9a8a7a304b050136] [Auth] Loading archive from: $HOME/Downloads/vaderf.jac
[1743133783.850|55287|jamiaccount.cpp :902 ] Saved account config to $HOME/.local/share/jami/9a8a7a304b050136/config.yml
[1743133783.850|55287|jamiaccount.cpp :902 ] Saved account config to $HOME/.local/share/jami/9a8a7a304b050136/config.yml
[1743133783.850|55287] IGD Discovery started
[1743133783.850|55287|jamiaccount.cpp :1676] [Account 9a8a7a304b050136] Starting account…
[1743133783.850|55287|fileutils.cpp :348 ] Reading archive from $HOME/Downloads/vaderf.jac with scheme ‘password’
[1743133783.850|55287] IGD Discovery started
[1743133783.850|55287|manager.cpp :1775] Saving configuration to XDG directory $HOME/.config/jami/dring.yml
[1743133783.850|55287] NAT-PMP: Attempting to initialize IGD
[1743133783.851|55287] NAT-PMP: Initialized on gateway X.X.X.X
[1743133783.853|55287] NAT-PMP: Read response on IGD X.X.X.X failed - NOGATEWAYSUPPORT
[1743133783.853|55287] NAT-PMP: Start search for IGDs. Attempt 1
[1743133783.870|55287|account_manager.cpp :555 ] [Account 9a8a7a304b050136] getContacts(): account not loaded
[1743133783.871|55287|account_manager.cpp :666 ] [Account 9a8a7a304b050136] getTrustRequests(): account not loaded
[1743133783.989|55287] [Account 9a8a7a304b050136] Cache refreshed for TURN resolution
[1743133784.187|55287] Connection to 51.222.138.120 ready
[1743133784.187|55287] [Account 9a8a7a304b050136] Cache refreshed for TURN resolution
[1743133784.351|55287] IGD Discovery ended
[1743133784.787|55287|fileutils.cpp :403 ] Error decrypting archive: Can’t decrypt data
[1743133784.787|55287|archive_account_manager.cpp:265 ] [Account 9a8a7a304b050136] [Auth] Unable to read archive file: std::exception
[1743133784.787|55287|jamiaccount.cpp :1422] [Account 9a8a7a304b050136] Auth error: 1 std::exception
[1743133784.787|55287|jamiaccount.cpp :2475] [Account 9a8a7a304b050136] Disconnected
[1743133784.790|55287|account_factory.cpp :78 ] Removing account 9a8a7a304b050136
[1743133784.790|55287|account_factory.cpp :82 ] Remaining 0 RING account(s)
[1743133784.800|55287|manager.cpp :1775] Saving configuration to XDG directory $HOME/.config/jami/dring.yml
[1743133784.800|55287] Successfully unregistered controller 0x76e080008090
[1743133784.800|55287] Stopping UPnP context
[1743133784.800|55287] PUPnP: Successfully unregistered client
[1743133833.209|55287] Waiting for shutdown…
[1743133833.209|55287] Shutdown UPnPContext instance [0x5c1ec6f39190]
[1743133833.209|55287] Stopping UPnP context
[1743133833.209|55287] PUPnP: Terminate instance 0x76e0f0000e80
[1743133833.210|55287] PUPnP: Instance 0x76e0f0000e80 terminated
[1743133833.210|55287] NAT-PMP: Terminate instance 0x76e0f0000b80
[1743133833.210|55287] NAT-PMP: Shutdown completed
[1743133833.210|55287] PUPnP: Instance [0x76e0f0000e80] destroyed
[1743133833.211|55287] Shutdown completed
[1743133833.211|55287] UPnPContext: Stopping io_context thread 0x5c1ec6f39190
[1743133833.211|55287] UPnPContext: Stopping io_context thread - finished 0x5c1ec6f39190
[1743133833.211|55287] Stopping io runner for UPnPContext instance 0x5c1ec6f39190
[1743133833.211|55287] Stopped io runner for UPnPContext instance 0x5c1ec6f39190
[1743133833.211|55287|manager.cpp :891 ] End 0 remaining call(s)
[1743133833.211|55287|manager.cpp :1775] Saving configuration to XDG directory $HOME/.config/jami/dring.yml
[1743133833.213|55287|ringbuffer.cpp :52 ] Destroy RingBuffer urgentRingBuffer_id
[1743133833.213|55287|manager.cpp :912 ] Stopping schedulers and worker threads
[1743133833.213|55287|sipvoiplink.cpp :744 ] Shutting down SIPVoIPLink@0x5c1ec6e63040…
[1743133833.906|55287|siptransport.cpp :198 ] Destroying SipTransportBroker@0x5c1ec6b78aa0…
[1743133833.906|55287|sipvoiplink.cpp :762 ] SIPVoIPLink@0x5c1ec6e63040 shutdown successfully completed
Happy to provide more information if needed.