accept method
void
accept()
Accepts an incoming call.
callerName The name of the caller.
callerNumber The number of the caller.
destinationNumber The destination number (usually the current user's number).
clientState The client state.
callId The unique ID of the call.
invite The incoming invite parameters.
customHeaders Custom headers to include in the answer.
isAttach Whether this is an attach call.
Implementation
void accept(
String callerName,
String callerNumber,
String destinationNumber,
String clientState,
String callId,
IncomingInviteParams invite,
Map<String, String> customHeaders,
bool isAttach,
) async {
final sessionId = _selfId;
final Session session = await _createSession(
null,
peerId: Uuid().v4(),
sessionId: sessionId,
callId: callId,
media: 'audio',
);
_sessions[sessionId] = session;
await session.peerConnection?.setRemoteDescription(
RTCSessionDescription(invite.sdp, 'offer'),
);
await _createAnswer(
session,
'audio',
callerName,
callerNumber,
destinationNumber,
clientState,
callId,
customHeaders,
isAttach,
);
// Start stats collection now that descriptions are set
await startStats(
callId,
session.pid,
onCallQualityChange: onCallQualityChange,
);
onCallStateChange?.call(session, CallState.active);
}