logoutExtension method

Future<String> logoutExtension({
  1. required SipInfoData sipInfoData,
  2. required PushNotifParams pushNotifParams,
})

Implementation

Future<String> logoutExtension({
  required SipInfoData sipInfoData,
  required PushNotifParams pushNotifParams,
}) async {
  final SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.remove("HAS_DEVICE_TOKEN");
  // pitelCall.unregister();

  final deviceTokenRes = await PushVoipNotif.getDeviceToken();
  final fcmToken = await PushVoipNotif.getFCMToken();

  final pnPushParams = PnPushParams(
    pnProvider: Platform.isAndroid ? 'fcm' : 'apns',
    pnParam: Platform.isAndroid
        ? pushNotifParams.bundleId
        : '${pushNotifParams.teamId}.${pushNotifParams.bundleId}.voip',
    pnPrid: deviceTokenRes,
    fcmToken: fcmToken,
  );

  await deleteExtRegisterAor(
    sipInfoData: sipInfoData,
    pnPushParams: pnPushParams,
  );

  await removeDeviceToken(
    deviceToken: deviceTokenRes,
    domain: sipInfoData.registerServer,
    extension: sipInfoData.accountName.toString(),
  );
  return 'UNREGISTER';
}