feat(calls): add consent-based signaling to existing ChatHub
Wire shared PostIt call signaling, account-derived relay policy and temporary TURN credentials. Keep calls disabled pending native Android/Linux media integration. Document experimental Android crash and laboratory removal. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
56ca115f50
commit
5e48831d6d
20 changed files with 1368 additions and 16 deletions
29
src/Yavsc.Abstract/Chat/Calls/CallContracts.cs
Normal file
29
src/Yavsc.Abstract/Chat/Calls/CallContracts.cs
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#nullable enable
|
||||
|
||||
namespace Yavsc.Abstract.Chat.Calls;
|
||||
|
||||
public static class CallHubMethods
|
||||
{
|
||||
public const string Invite = "InviteCall";
|
||||
public const string Accept = "AcceptCall";
|
||||
public const string End = "EndCall";
|
||||
public const string Signal = "SendCallSignal";
|
||||
public const string Invitation = "CallInvitation";
|
||||
public const string Accepted = "CallAccepted";
|
||||
public const string Ended = "CallEnded";
|
||||
public const string SignalReceived = "CallSignal";
|
||||
}
|
||||
|
||||
public sealed record CallSession(
|
||||
Guid Id, string RoomName, string Caller, string Callee, bool RelayOnly,
|
||||
DateTimeOffset ExpiresAt);
|
||||
|
||||
public sealed record CallIceServer(string[] Urls, string? Username = null, string? Credential = null);
|
||||
|
||||
public sealed record CallAccepted(CallSession Session, CallIceServer[] IceServers);
|
||||
|
||||
public sealed record CallEnded(Guid CallId, string Reason);
|
||||
|
||||
public sealed record CallSignal(
|
||||
string Kind, string? Sdp = null, string? Candidate = null,
|
||||
string? SdpMid = null, int? SdpMLineIndex = null);
|
||||
Loading…
Reference in a new issue