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');

  int index = _callItems.indexWhere((c) => c.myCallId==callId);
  if(index != -1) 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();
}