Ich bin ein wenig verwirrt mit der Konfiguration von SIP-Account. Also ich denke hier, jemand klärt Probleme, basierend auf SIP stack documentation.Android SIP-Konfiguration funktioniert nicht
Alles funktioniert gut, aber jetzt möchte ich einige Konfiguration zu funktionierenden Account hinzufügen. Beachten Sie, dass alle anderen Methoden dieses Protokolls einwandfrei funktionieren. Was ich verwenden möchte, sind seine Konfigurationsmethoden: retryIntervalSec(), delayBeforeRefreshSec() und timeOutSec().
Problem, dass diese Methode nicht funktioniert, unten ein Beispiel für die Einstellung dieser Konfig. Basierend auf doc über DelayBeforeRefreshSec hat einen Wert von 5 Sekunden. So Registrierung Aktualisierung nach 5 Sekunden, und wenn ich diesen Basiswert von Standard-Konfiguration, ist es gleich der Standardeinstellung. Aber! erfrischend feuert nicht nach 5 Sekunden!
Sind Sie bereit für Magie?
Wie Sie sehen können, Methoden Namen wie "delayBeforeRefreshSec", was bedeutet, für die Eingabe Sekunden (z. B. delayBeforeRefreshSec (5)) zu verwenden. Aber wenn wir diesen Methodenwert auf lang setzen (z. B. delayBeforeRefreshSec (100000)), wird das Auffrischen alle 5 Sekunden ausgelöst! Beachten Sie, dass jeder Wert über 500 mit periodischen 5 Sekunden beginnt!
Ich weiß, dass es vielleicht einige Überprüfung und Einstellung Basiswert in der Quelle, wenn es mehr einen höheren Wert ist. Aber was ist das alles? Warum funktionieren diese Methoden? Beachten Sie, dass andere Methoden wie timeOutSec nicht mit einem Wert arbeiten.
Und schließlich meine Hauptfrage, ist es, wie dies alles konfigurierbar machen?
mAccountConfig = new AccountConfig();
mAccountConfig.setIdUri(myAccountName);
mAccountConfig.getRegConfig().setRetryIntervalSec(SIP_RECONNECT_DELAY);
mAccountConfig.getRegConfig().setDelayBeforeRefreshSec(SIP_KEEP_ALIVE_DELAY);
mAccountConfig.getNatConfig().setUdpKaIntervalSec(SIP_KEEP_ALIVE_DELAY);
//....
mAccount = new Account;
mAccount.create(mAccountConfig);