init static method
Future<SIPService>
init({
- int localPort = 5060,
- OnIncommingCall incomingCallStrategy = OnIncommingCall.ignore,
- String stunSrv = 'stun.l.google.com:19302',
Implementation
static Future<SIPService> init({
int localPort = 5060,
OnIncommingCall incomingCallStrategy = OnIncommingCall.ignore,
String stunSrv = 'stun.l.google.com:19302',
}) async {
try {
if (initialized == false) {
// we have tried but we couldn't initialize before
// so avoid initializing again
return Future.error('SIPService not initialized (err: $initializeErr)');
}
if (initialized == true && _instance != null) {
// already initialized
return _instance!;
}
final initResult = await frs.init(
localPort: localPort,
incomingCallStrategy: incomingCallStrategy,
stunSrv: stunSrv,
);
if (initResult != 0) {
// throw error
throw 'Failed to initialize PJSUA with error code: $initResult';
}
final service = SIPService();
initialized = true;
_instance = service;
return service;
} catch (e) {
// set initialized to false on error so we would not try again, that will crash the app
initialized = false;
initializeErr = e.toString();
return Future.error(initializeErr.toString());
}
}