Profielsynchronisatie
Er zijn twee soorten profielen. De een voor het lopende account en die van contacten. Omdat deze vcard informatie bevat, zoals de avatar en de display naam, moet deze zo snel mogelijk worden gesynchroniseerd. Maar, moet het alleen worden gestuurd wanneer nodig, om onnodige gegevensoverdrachten te voorkomen. Het formaat dat wordt gebruikt om de profielen te bewaren is een [vCard] (https://en.wikipedia.org/wiki/VCard) (https://datatracker.ietf.org/doc/html/rfc6350)
Waar zijn de profielen opgeslagen?
Zelf
Het is in ${idPath_}/profile.vcf
bijvoorbeeld: .local/share/jami/xxxxxx/profile.vcf
op GNU/Linux.
Contacten
Omdat deze logica nog steeds wordt beheerd per client, is het afhankelijk van de client.
Wanneer een profiel wordt verzonden
Oproepen
Aan het begin van een oproep stuurt de client meestal de vCard.
Stuur naar de apparaten van de contactpersoon
Bij het verbinden met een nieuw apparaat wordt een SIP of een synchronisatie kanaal uitgevoerd. Wanneer dit kanaal klaar is, controleren we of we het profiel moeten sturen. Om dit te doen, wordt de hash van het profiel vergeleken met die in de cache (${cacheDir}/${accId}/vcard/sha3
zoals ~/.cache/jami/xxxxx/vcard/sha3
on GNU/Linux), en wordt het bestand ${cacheDir}/${accId}/vcard/deviceId
gecontroleerd.
Multidivissen
Als het profiel wordt verzonden en het apparaat uit hetzelfde account komt, worden gesprekken gecontroleerd en worden profielen van alle leden verzonden. De kanaalnaam zal zijn “daemon/test/unitTest/syncHistory/syncHistory.cpp