5.2. Cykl życia linii telefonicznej z punktu widzenia pojedynczego abonenta

Niniejszy rozdział opisuje cykl życia pojedynczego abonenta, to znaczy takiego, który nie jest zrzeszony w żadnej grupie.

Notacja: USER? + KOMUNIKAT_MSG! oznacza, że akcja jest zapoczątkowana przez użytkownika, oraz że w jej wyniku przechodząc do danego stanu wysyłamy do drugiej strony rozmowy komunikat KOMUNIKAT_MSG.

Notacja: STH1 | STH2 oznacza, że przejście pomiędzy stanami może zostać wywołane albo na skutek STH1 albo na skutek STH2.

Rysunek 5.2. Diagram ilustrujący stany pojedynczego abonenta

Diagram ilustrujący stany pojedynczego abonenta

Po odebraniu komunikatu ODEBRANIE_MSG użytkownik otwiera kanał transportowy z użytkownikiem podanym w komunikacie (patrz Sekcja 4.1.2, „Opis komunikatu ODEBRANIE_MSG”). Kanałem transportowym wymieniane są komunikaty GLOS_MSG niosące ze sobą głos. Oprócz nawiązania połączenia (kanału) transportowego może też wystąpić potrzeba nawiązania nowego połączenia (kanału) logicznego, o ile odbiorca podany w ODEBRANIE_MSG jest inny niż ten, do którego wysyłaliśmy WYWOLANIE_MSG (rzecz taka może mieć miejsce, jeśli dzwonimy do grupy).

Kwestią zależną od implementacji jest działanie w przypadku otrzymania komunikatów GLOS_MSG nie po kolei (zawierają one numer kolejny, więc stosunkowo łatwo to wychwycić). W tym miejscu warto jedynie wspomnieć o dwóch najprostszych możliwościach: buforowanie komunikatów lub przesyłanie danych nadmiarowych i ignorowanie komunikatów przychodzących poza kolejnością.

Podobnie ma się rzecz przy odbieraniu komunikatu ODWIESZENIE_MSG (Sekcja 4.1.6, „Opis komunikatu ODWIESZENIE_MSG”). Odbiorca tego komunikatu nawiązuje połączenie ze swoim (być może nowym rozmówcą) - zarówno połączenie logiczne (o ile zmienił się rozmówca), jak i zerwane połączenie transportowe (kanał transportowy).