invite method

void invite(
  1. String callerName,
  2. String callerNumber,
  3. String destinationNumber,
  4. String clientState,
  5. String callId,
  6. String telnyxSessionId,
  7. Map<String, String> customHeaders, {
  8. List<Map<String, dynamic>>? preferredCodecs,
})

Initiates a call.

callerName The name of the caller. callerNumber The number of the caller. destinationNumber The number to call. clientState The client state. callId The unique ID of the call. telnyxSessionId The Telnyx session ID. customHeaders Custom headers to include in the invite. preferredCodecs Optional list of preferred audio codecs.

Implementation

void invite(
  String callerName,
  String callerNumber,
  String destinationNumber,
  String clientState,
  String callId,
  String telnyxSessionId,
  Map<String, String> customHeaders, {
  List<Map<String, dynamic>>? preferredCodecs,
}) async {
  final sessionId = _selfId;

  final Session session = await _createSession(
    null,
    peerId: Uuid().v4(),
    sessionId: sessionId,
    callId: callId,
    media: 'audio',
  );

  _sessions[sessionId] = session;

  await _createOffer(
    session,
    'audio',
    callerName,
    callerNumber,
    destinationNumber,
    clientState,
    callId,
    telnyxSessionId,
    customHeaders,
    preferredCodecs,
  );
  onCallStateChange?.call(session, CallState.newCall);
}