- SPA registriert sich mit "expires=900"
- Proxy antwortet mit "ok, expires=3780"
- SPA sagt "ok", registriert sich jedoch nach 900 Sekunden neu
Ich dachte immer, dass der Provider-Proxy grundsätzlich Vorrang hat, doch Sipura sieht das anders:
Im RFC steht
unter Punkt 10.2.2.1 u.a.:
unter Punkt 10.2.4 u.a.:
unter Punkt 10.3 u.a.:
Könnte es sein dass Sipura Recht hat? Meine Interpretation:
Der Satz "As described in Section 10.3, the registrar selects the actual time interval based on its local policy" ist eigentlich eindeutig. Doch der Fall "Registrar meldet einen größeren Intervall als den angefragten zurück" wird in 10.3 ja gar nicht erwähnt. Somit greift 10.2.4 und der SPA macht letzten Endes genau das, was da drinnensteht: "The UA then issues a REGISTER request for each of its bindings before the expiration interval has elapsed." 900 Sekunden ist vor dem Ablauf der Intervalls von 3780 Sekunden. Ob er nun das Intervall abgleicht oder nicht - er erneuert die Registrierung vor Ablauf des Intervalls. Eine Meldung "423 - Interval Too Brief" mit einem "Min-Expires"-Anhang schickt der Proxy ja nicht.
Und andersherum - wenn man dem SPA einen Intervall von z.B. 8000 vorsetzt geht er brav auf das Maximum vom Provider zurück.
Wer hat nun Recht? :gruebel:
- Proxy antwortet mit "ok, expires=3780"
- SPA sagt "ok", registriert sich jedoch nach 900 Sekunden neu
Ich dachte immer, dass der Provider-Proxy grundsätzlich Vorrang hat, doch Sipura sieht das anders:
Sipura-Support schrieb:If you configure 900 but Proxy replies 3600 or 3780, the SPA
will take the smaller value; this is the recommended practice
per RF3261. Try to have the proxy reply something less than 900,
then the SPA will follow.
Im RFC steht
unter Punkt 10.2.2.1 u.a.:
When a client sends a REGISTER request, it MAY suggest an expiration interval that indicates how long the client would like
the registration to be valid. (As described in Section 10.3, the registrar selects the actual time interval based on its local policy.)
unter Punkt 10.2.4 u.a.:
The 200 (OK) response from the registrar contains a list of Contact fields enumerating all current bindings. The UA compares each
contact address to see if it created the contact address, using comparison rules in Section 19.1.4. If so, it updates the expiration
time interval according to the expires parameter or, if absent, the Expires field value. The UA then issues a REGISTER request for each
of its bindings before the expiration interval has elapsed. It MAY combine several updates into one REGISTER request.
unter Punkt 10.3 u.a.:
The registrar MAY choose an expiration less than the requested expiration interval. If and only if the requested expiration
interval is greater than zero AND smaller than one hour AND less than a registrar-configured minimum, the registrar MAY
reject the registration with a response of 423 (Interval Too Brief). This response MUST contain a Min-Expires header field
that states the minimum expiration interval the registrar is willing to honor.
Könnte es sein dass Sipura Recht hat? Meine Interpretation:
Der Satz "As described in Section 10.3, the registrar selects the actual time interval based on its local policy" ist eigentlich eindeutig. Doch der Fall "Registrar meldet einen größeren Intervall als den angefragten zurück" wird in 10.3 ja gar nicht erwähnt. Somit greift 10.2.4 und der SPA macht letzten Endes genau das, was da drinnensteht: "The UA then issues a REGISTER request for each of its bindings before the expiration interval has elapsed." 900 Sekunden ist vor dem Ablauf der Intervalls von 3780 Sekunden. Ob er nun das Intervall abgleicht oder nicht - er erneuert die Registrierung vor Ablauf des Intervalls. Eine Meldung "423 - Interval Too Brief" mit einem "Min-Expires"-Anhang schickt der Proxy ja nicht.
Und andersherum - wenn man dem SPA einen Intervall von z.B. 8000 vorsetzt geht er brav auf das Maximum vom Provider zurück.
Wer hat nun Recht? :gruebel: