registerSipWithoutFCM method
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;
}