Map<String, dynamic> toJson() => { 'channel': channel, 'kind': kind.wire, 'participants': participants.map((k, v) => MapEntry(k, v.toJson())), 'turn': turn?.toJson(), };