onIncomingSip method

void onIncomingSip(
  1. int callId,
  2. int accId,
  3. bool withVideo,
  4. String hdrFrom,
  5. String hdrTo,
)

Handle incoming call event raised by library when received INVITE request

Implementation

void onIncomingSip(
  int callId,
  int accId,
  bool withVideo,
  String hdrFrom,
  String hdrTo,
) {
  _logs?.print(
    'onIncoming callId:$callId accId:$accId from:$hdrFrom to:$hdrTo withVideo:$withVideo',
  );

  if (_findCall(callId) != null) return; //Call already exists, skip

  String accUri = _accountsModel.getUri(accId);
  bool hasSecureMedia = _accountsModel.hasSecureMedia(accId);

  CallModel newCall = CallModel(
    callId,
    accUri,
    parseExt(hdrFrom),
    true,
    hasSecureMedia,
    withVideo,
    _logs,
  );
  newCall.displName = parseDisplayName(hdrFrom);
  _callItems.add(newCall);

  if (_switchedCallId == kEmptyCallId) {
    _switchedCallId = callId;
  }

  notifyListeners();

  _cdrs?.add(newCall);

  _postResolveContactName(newCall);
  onNewIncomingCall?.call();
}