Do not store SDP offer/answer for calls forever
Currently call SDP is stored in the message parameters. Once the call has ended or expired (missing call), SDP remains there. It should be removed eventually if it is not needed because it normally contains IP addresses of the users.
It is currently difficult to find unneeded SDPs because you cannot easily query parameters. One way to fix this is to create a new calls table for SDPs and msg_id references and store SDPs there, then cleanup it in housekeeping.
For adding the calls table, see also comment at https://github.com/chatmail/core/pull/7546#discussion_r2573252514
We should be able to reduce emit_end_call_if_unaccepted to waiting until the call expires and emitting the event without writing to the database. Maybe even get rid of this event completely and say UIs should handle this internally and get the timestamp until the call should ring instead of waiting to be notified.