registerSipWithoutFCM method

Future<PitelSettings> registerSipWithoutFCM(
  1. PnPushParams pnPushParams
)

Implementation

Future<PitelSettings> registerSipWithoutFCM(PnPushParams pnPushParams) async {
  final settings = PitelSettings();
  Map<String, String> _wsExtraHeaders = {
    'Origin': 'https://${_sipServer?.domain}:${_sipServer?.port}',
    'Host': '${_sipServer?.domain}:${_sipServer?.port}',
  };

  final turn = await turnConfig();

  settings.webSocketUrl = _sipServer?.wss ?? "";
  //settings.webSocketSettings.extraHeaders = _wsExtraHeaders;
  settings.webSocketSettings.allowBadCertificate = true;
  //settings.webSocketSettings.userAgent = 'Dart/2.8 (dart:io) for OpenSIPS.';
  settings.uri = 'sip:$_username@${_sipServer?.domain}:${_sipServer?.port}';
  settings.contactUri =
      'sip:$_username@${_sipServer?.domain}:${_sipServer?.port};pn-prid=${pnPushParams.pnPrid};pn-provider=${pnPushParams.pnProvider};pn-param=${pnPushParams.pnParam};fcm-token=${pnPushParams.fcmToken};transport=wss;name-caller=encode';
  settings.webSocketSettings.extraHeaders = _wsExtraHeaders;
  settings.authorizationUser = _username;
  settings.password = _password;
  final bytes = utf8.encode(_displayName);
  final base64Str = base64.encode(bytes);
  settings.displayName = "${base64Str}pitelsdkencode";
  settings.userAgent = _userAgent;
  settings.register_expires = 600;
  settings.dtmfMode = DtmfMode.RFC2833;
  if (turn != null) {
    Map turnDecode = jsonDecode(jsonEncode(turn.data));
    Map<String, String> turnLast =
        turnDecode.map((key, value) => MapEntry(key, value.toString()));
    settings.iceServers.add(turnLast);
  }
  //! sip_domain
  settings.sipDomain = '${_sipServer?.domain}:${_sipServer?.port}';

  pitelCall.register(settings);
  return settings;
}