SIP Retransmission

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Grundlegendes

  • Im Falle von verlorenen oder verzögerten Paketen hat SIP eingebaute Mechanismen für Retransmission.
  • Diese Mechanismen sind in RFC 3261, die SIP-Spezifikation, definiert.

Prinzip

Client            Server
  |                  |
  |-----INVITE------>|
  |                  |
  |<----100 Trying---|
  |                  |
  |                  |  (Paket geht verloren, keine Antwort)
  |                  |
  |-----INVITE------>|  (Retransmission)
  |                  |
  |<----200 OK-------|
  |                  |
  |-------ACK------->|

Es wird solange wiederholt, bis ein Erfolg eintritt

Client           Server
  |                 |
  |----INVITE------>|     (Versuch 1)
  |                 |
  |----INVITE------>|     (Versuch 2 nach 500 ms)
  |                 |
  |----INVITE------>|     (Versuch 3 nach 1 s)
  |                 |
  |----INVITE------>|     (Versuch 4 nach 2 s)
  |                 |
  |----INVITE------>|     (Versuch 5 nach 4 s)
  |                 |
  |----INVITE------>|     (Versuch 6 nach 8 s)
  |                 |
  |----INVITE------>|     (Versuch 7 nach 16 s)
  |                 |
  |<---200 OK-------|     (Antwort vom Server erreicht den Client)
  |                 |
  |------ACK------->|

Oder bis das 32 fache von T1(hier 500ms) erreicht wird

Client           Server
  |                 |
  |----INVITE------>|     (Versuch 1, T1 = 500 ms)
  |                 |
  |----INVITE------>|     (Versuch 2, T1*2 = 1 s)
  |                 |
  |----INVITE------>|     (Versuch 3, T1*2*2 = 2 s)
  |                 |
  |----INVITE------>|     (Versuch 4, T1*2*2*2 = 4 s)
  |                 |
  |----INVITE------>|     (Versuch 5, T1*2*2*2*2 = 8 s)
  |                 |
  |----INVITE------>|     (Versuch 6, T1*2*2*2*2*2 = 16 s)
  |                 |
  |----INVITE------>|     (Versuch 7, T1*2*2*2*2*2*2 = 32 s)
  |                 |
  |  (Client gibt auf, da keine Antwort vom Server erhalten wurde)  |