Rozdział 4. Opis wymienianych komunikatów

Spis treści

4.1. Grupa komunikatów LOGIKA_GRP
4.1.1. Opis komunikatu WYWOLANIE_MSG
4.1.2. Opis komunikatu ODEBRANIE_MSG
4.1.3. Opis komunikatu ZAJETE_MSG
4.1.4. Opis komunikatu ROZLACZENIE_MSG
4.1.5. Opis komunikatu ZAWIESZENIE_MSG
4.1.6. Opis komunikatu ODWIESZENIE_MSG
4.1.7. Opis komunikatu ZETON_MSG
4.2. Grupa komunikatów TRANSPORT_GRP
4.2.1. Opis komunikatu GLOS_MSG
4.2.2. Opis komunikatu STAT_MSG

4.1. Grupa komunikatów LOGIKA_GRP

Wprowadzenie

Grupa LOGIKA_GRP stanowi zbiór wszystkich typów komunikatów wymienianych kanałem logicznym protokołu dVo.

4.1.1. Opis komunikatu WYWOLANIE_MSG

Komunikat ten oznacza chęć nawiązania rozmowy przez abonenta, który wysłał komunikat.

Tabela 4.1. Pola komunikatu WYWOLANIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:8 bajtów
Identyfikator komunikatuWartość: 101uint3214 bajty
Identyfikator sesji

Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty

4.1.2. Opis komunikatu ODEBRANIE_MSG

Komunikat ten oznacza odebranie połączenia telefonicznego.

Tabela 4.2. Pola komunikatu ODEBRANIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:20 bajtów
Identyfikator komunikatuWartość: 102uint3214 bajty
Identyfikator sesji

Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty
Adres IP odbierającego

Jest to adres IP, pod którym znajduje się faktyczny odbiorca rozmowy.

W przypadku, gdy użytkownik Ania dzwoni do użytkownika Bolek (a Bolek nie jest członkiem żadnej grupy), to Adres IP odbierającego to po prostu adres Bolka.

W przypadku, gdy użytkownik Ania dzwoni do użytkownika Bolek (a Bolek jest członkiem grupy), to Adres IP odbierającego będzie zawierał adres osoby faktycznie odbierającej połączenie.

uint3214 bajty
Port logiczny odbierającego Numer portu, na którym odbiorca nasłuchuje informacji kanału logicznego (patrz także opis pola Adres IP odbierającego powyżej. uint3214 bajty
Port transportowy odbierającego Numer portu, na którym odbiorca nasłuchuje informacji kanału transportowego (patrz także opis pola Adres IP odbierającego powyżej. uint3214 bajty

4.1.3. Opis komunikatu ZAJETE_MSG

Komunikat ten oznacza, iż osoba do której nastąpiła próba połączenia nie ma wolnej ani jednej linii telefonicznej.

Tabela 4.3. Pola komunikatu ZAJETE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:8 bajtów
Identyfikator komunikatuWartość: 103uint3214 bajty
Identyfikator sesji

Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty

4.1.4. Opis komunikatu ROZLACZENIE_MSG

Komunikat ten oznacza rozłączenie (lub odrzucenie) połączenia (lub wywołania). Może zostać wysłany zarówno przez osobę wywołującą połączenie, jak i wywoływaną.

Tabela 4.4. Pola komunikatu ROZLACZENIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:8 bajtów
Identyfikator komunikatuWartość: 104uint3214 bajty
Identyfikator sesji

Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty

4.1.5. Opis komunikatu ZAWIESZENIE_MSG

Komunikat ten oznacza zawieszenie połączenia telefonicznego.

Tabela 4.5. Pola komunikatu ZAWIESZENIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:8 bajtów
Identyfikator komunikatuWartość: 105uint3214 bajty
Identyfikator sesji

Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty

4.1.6. Opis komunikatu ODWIESZENIE_MSG

Komunikat ten oznacza odwieszenie połączenia telefonicznego.

Tabela 4.6. Pola komunikatu ODWIESZENIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:20 bajtów
Identyfikator komunikatuWartość: 106uint3214 bajty
Identyfikator sesji

Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty
Adres IP odwieszającego

Jest to adres IP, pod którym znajduje się faktyczny odwieszający rozmowę.

W przypadku, gdy użytkownik Ania dzwoni do użytkownika Bolek (a Bolek nie jest członkiem żadnej grupy, lub to nie on odwiesił połączenie), to Adres IP odwieszającego to po prostu adres Bolka.

W przypadku, gdy użytkownik Ania dzwoni do użytkownika Bolek (a Bolek jest członkiem grupy i to nie on odwiesił połączenie), to Adres IP odwieszającego będzie zawierał adres osoby faktycznie odwieszającej połączenie.

uint3214 bajty
Port logiczny odbierającego Numer portu, na którym odbiorca nasłuchuje informacji kanału logicznego (patrz także opis pola Adres IP odbierającego powyżej. uint3214 bajty
Port transportowy odbierającego Numer portu, na którym odbiorca nasłuchuje informacji kanału transportowego (patrz także opis pola Adres IP odbierającego powyżej. uint3214 bajty

4.1.7. Opis komunikatu ZETON_MSG

Komunikat ZETON_MSG jest elementem mechanizmu zapewniającego synchronizację stanu linii telefonicznych wewnątrz każdej grupy.

Komunikat ten jest przekazywany cyklicznie przez członków grupy.

Tabela 4.7. Pola komunikatu ZETON_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:8 + x * 28 bajtów
Identyfikator komunikatuWartość: 130uint3214 bajty
Liczba mini-komunikatów

Określa liczbę mini-komunikatów umieszczonych w polu Mini-komunikaty. Oznaczmy tą wartość przez x.

uint3214 bajty
Mini-komunikaty

Lista mini-komunikatów (więcej informacji w Sekcja 4.1.7.1, „Mini-komunikaty”). Każdy mini-komunikat ma długość 28 bajtów.

octetx * 28x * 28 bajtów

4.1.7.1. Mini-komunikaty

Każdy mini-komunikat wyrównany jest zerami do 28 bajtów.

Każdy mini-komunikat zawiera pole TTL (ang. Time To Live). Kiedy mini-komunikat jest wkładany do listy komunikatów w ZETON_MSG, wartość pola TTL ustawiana jest na n - 1, gdzie n oznacza liczność grupy.

Każdy kolejny odbiorca ZETON_MSG po przetworzeniu mini-komunikatu zmniejsza wartość pola TTL o 1, a następnie, o ile wartość TTL wynosi 0 usuwa mini-komunikat z listy mini-komunikatów.

Zdefiniujmy pomocniczą strukturę STRUKTURA_ABONENT:

	STRUKTURA_ABONENT {
		uint32		IP,
		uint32		PORT_LOGICZNY,
		uint32		PORT_TRANSPORTOWY
	}

Rozmiar struktury STRUKTURA_ABONENT (IP + PORT_LOGICZNY + PORT_TRANSPORTOWY) wynosi 12 bajtów.

Wprowadźmy dodatkowo notację STRUKTURA_ABONENT(x, y, z) na oznaczenie struktury STRUKTURA_ABONENT z polami zainicjowanymi według schematu:

		IP = x,
		PORT_LOGICZNY = y,
		PORT_TRANSPORTOWY = z

4.1.7.1.1. Opis mini-komunikatu MINI_WYWOLANIE_MSG

Mini-komunikat ten oznacza, że wystąpiło wywołanie do jednego z członków grupy.

Tabela 4.8. Pola komunikatu MINI_WYWOLANIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:28 bajtów
Identyfikator mini-komunikatuWartość: 701uint3214 bajty
TTL

Zgodnie z opisem Sekcja 4.1.7.1, „Mini-komunikaty”.

uint3214 bajty
Numer linii telefonicznej

Linia telefoniczna, na której sygnalizowane jest wywołanie.

uint3214 bajty
Identyfikator sesji

Jest to Identyfikator sesji pochodzący z komunikatu WYWOLANIE_MSG rozpoczynającego próbę połączenia do grupy. Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty
Wywołujący

Dane abonenta dzwoniącego do grupy.

Wartość: STRUKTURA_ABONENT(IP_DZWONIĄCEGO, PORT_LOGICZNY_DZWONIĄCEGO, 0).

STRUKTURA_ABONENT112 bajtów

4.1.7.1.2. Opis mini-komunikatu MINI_ODEBRANIE_MSG

Mini-komunikat ten oznacza chęć odebrania wywołania do grupy przez jednego z członków grupy.

Tabela 4.9. Pola mini-komunikatu MINI_ODEBRANIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:28 bajtów
Identyfikator mini-komunikatuWartość: 702uint3214 bajty
TTL

Zgodnie z opisem Sekcja 4.1.7.1, „Mini-komunikaty”.

uint3214 bajty
Numer linii telefonicznej

Linia telefoniczna, na której sygnalizowane jest wywołanie.

uint3214 bajty
Odbierający

Dane abonenta, który zdecydował się odebrać połączenie do grupy.

Wartość: STRUKTURA_ABONENT(IP_ODBIERAJĄCEGO, PORT_LOGICZNY_ODBIERAJĄCEGO, PORT_GŁOSOWY_ODBIERAJĄCEGO).

STRUKTURA_ABONENT112 bajtów
wyrównanie zerami

Wartość: 0

uint844 bajty

4.1.7.1.3. Opis mini-komunikatu MINI_ROZLACZENIE_MSG

Mini-komunikat ten oznacza zwolnienie danej linii telefonicznej w grupie.

Tabela 4.10. Pola mini-komunikatu MINI_ROZLACZENIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:28 bajtów
Identyfikator komunikatuWartość: 704uint3214 bajty
TTL

Zgodnie z opisem Sekcja 4.1.7.1, „Mini-komunikaty”.

uint3214 bajty
Numer linii telefonicznej

Linia telefoniczna, na której wystąpiło rozłączenie.

uint3214 bajty
wyrównanie zerami

Wartość: 0

uint81616 bajtów

4.1.7.1.4. Opis mini-komunikatu MINI_ZAWIESZENIE_MSG

W przypadku rozmowy pomiędzy użytkownikiem Anią (należącą do grupy), a użytkownikiem Bolkiem, mini-komunikat ten jest dodawany przez Anię do listy w ZETON_MSG, gdy to Ania zawiesi połączenie.

Tabela 4.11. Pola mini-komunikatu MINI_ZAWIESZENIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:28 bajtów
Identyfikator mini-komunikatuWartość: 705uint3214 bajty
TTL

Zgodnie z opisem Sekcja 4.1.7.1, „Mini-komunikaty”.

uint3214 bajty
Numer linii telefonicznej

Linia telefoniczna, na której następuje zawieszenie połączenia.

uint3214 bajty
Identyfikator sesji

Jest to Identyfikator sesji pochodzący z komunikatu WYWOLANIE_MSG rozpoczynającego próbę połączenia do grupy. Zgodnie z Tabela 3.1, „Ogólna kolejność pól w komunikatach”.

uint3214 bajty
Niezawieszający połączenia

Dane abonenta, który nie zawiesił połączenia (czyli Bolka według przykładu powyżej).

Wartość: STRUKTURA_ABONENT(IP_BOLKA, PORT_LOGICZNY_BOLKA, PORT_GŁOSOWY_BOLKA). W przypadku, gdy to Bolek nawiązał połączenie, a Ania je odebrała (lub odwiesiła) to wartość pola PORT_GŁOSOWY_BOLKA wynosi 0.

STRUKTURA_ABONENT112 bajtów

4.1.7.1.5. Opis komunikatu MINI_ODWIESZENIE_MSG

Mini-komunikat ten oznacza odwieszenie połączenia telefonicznego przez członka grupy.

Tabela 4.12. Pola mini-komunikatu MINI_ODWIESZENIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:28 bajtów
Identyfikator mini-komunikatuWartość: 706uint3214 bajty
TTL

Zgodnie z opisem Sekcja 4.1.7.1, „Mini-komunikaty”.

uint3214 bajty
Numer linii telefonicznej

Linia telefoniczna, którą odwieszamy.

uint3214 bajty
Odwieszający

Dane abonenta, który zdecydował się odwiesić połączenie.

Wartość: STRUKTURA_ABONENT(IP_ODWIESZAJĄCEGO, PORT_LOGICZNY_ODWIESZAJĄCEGO, PORT_GŁOSOWY_ODWIESZAJĄCEGO).

STRUKTURA_ABONENT112 bajtów
wyrównanie zerami

Wartość: 0

uint844 bajty

4.1.7.1.6. Opis mini-komunikatu MINI_POLACZENIE_MSG

Mini-komunikat ten oznacza, że jeden z użytkowników grupy zadzwonił na zewnątrz. Oznacza też, że linia telefoniczna wymieniona w danych komunikatu jest zajęta.

Tabela 4.13. Pola mini-komunikatu MINI_POLACZENIE_MSG

Nazwa polaOpis polaJednostkaRozmiar w jednostkachRozmiar w bajtach
   Suma:28 bajtów
Identyfikator mini-komunikatuWartość: 707uint3214 bajty
TTL

Zgodnie z opisem Sekcja 4.1.7.1, „Mini-komunikaty”.

uint3214 bajty
Numer linii telefonicznej

Linia telefoniczna, na której otwierane jest połączenie.

uint3214 bajty
wyrównanie zerami

Wartość: 0

uint81616 bajtów