• Simon Morlat's avatar
    Modify ServerGroupChatRoom behavior about 1-1 chatroom, incrementing "groupchat" capability to 1.1 · 5016cc29
    Simon Morlat authored
    Previously, a 1-1 chatroom was deleted only if it were BYEd by every device. A device that BYEd previously was re-INVITED by the chatroom in case messages had to be delivered. In addition, a device that BYEd the chatroom was given back the same chatroom ID when trying to re-create a new chatroom to the same other participant.
    Doing all this required to store 1-1 chatroom in a specific table, so that they could be retrieved fastly.
    Unfortunately this design totally breaks a federated system, since each domain may be entitled to create a 1-1 chatroom to communicate with a participant from another domain. As a result, the unicity of the one to one chatroom is not achievable in a federation of SIP domains.
    Now, the ServerGroupChatRoom conforming to groupchat/1.1 treats 1-1 chatroom similarly as real group chat rooms, with only one exception: when a device leaves the chatroom, then the chatroom is terminated, ie ...
private_structs.h 24.7 KB