Instrukcja pisania aplikacji sterujących CC4

W programie Tele32 istnieje (w wersji podstawowej) 256 kanałów które mogą być powiązane ze sprzętem lub oprogramowaniem, bądź pracować wirtualnie:
Każdy kanał z aplikacją poprzez zmienne globalne bądź tabele SQL, może wpływać na pracę innych kanałów.
Poniżej skupiono się przede wszystkim na kartach analogowych CC4-XAN. Karty ISDN i VOIP omówieone są w odpowiednich instrukcjach. Instrukcja niniejsza nie zawiera opisu rozkazów, znajdują się one w Wykaz rozkazów -  CC4, instrukcja omawia najczęściej używane struktury i sposób ich wykorzystania. Również współpraca z SQL przekracza ramy tej instrukcji, a Tele32 jest tylko opakowaniem dla zapytań SQL których sposobów uzycia należy szukać w instrukcja SQL. Natomiast program Tele32 zakłada tabele w SQL i ich opis mozna znaleźć w instrukcji Opis tabel generowanych przez SerwerZetKom w bazie SQL Użycie w tekście kursywy oznacza instrukcje, klawisze, opisy uzyte w Netzet który jest interfejsem programu Tele32 służacym do zmiany jego ustawień.
Same aplikacje pracują w kanałach do których "dostajemy się" poprzez program Netzet. Opis tego programu znajduje się w instrukcji "System rejestracji R4, podręcznik instalatora". Instalacja sprzętu i oprogramowania powinna być przeprowadzona według tej instrukcji i nie będzie powtórnie omawiana. Użycie słów "instrukcja R4" odwołuje się do podanej powyżej.

Jak pisać i gdzie umieścić aplikację

Język aplikacji został specjalnie stworzony dla Tele32, przetwarzany jest potokowo, niezależnie dla każdego kanału. Wprowadzone zmiany są akceptowane w momencie startu, rstartu systemu lub pojedynczego kanału. Pisanie tekstu aplikacji najlepiej jest przeprowadzić w nizależnym edytorze, przeznaczonym dla programistów (Notepad++, Programers notepad i wiele innych, może być użyty również notatnik windowsa) a w edytorze wbudowanym do Tele32 wprowadzać tylko niewielkie zmiany i używać go do kopiowania aplikacji pomiędzy kanałami. Ta praktyka sprawdza się szczególnie na działajacym, uruchomionym u klienta systemie.
W każdej linii aplikacji umieszcza sie jedną instrukcję.
 Aby nasza aplikacja mogła pracować należy ustawić w kanale sposób sterowania (wg "instrukcji R4" 5.1.2. Zakładka Ustawienia kanałów) ustawić na Program. Działanie rozpocznie się po wciśnieciu klawisza Start (wg "instrukcji R4" 5.1.1. Zakładka Ustawienia systemu podpunkt c) lub Reset, aby nie zatrzymywać całego systemu przewidziano restart pojedynczego kanału.
Na zakładce Ustawienia systemu ikonka   otwiera wbudowany edytor. Otwiera go na kanale na którym klikniemy. Wewnątrz edytora możemy przemieszczać się do innych kanałów
Dostępne sa równiez narzędzia do sprawdzania i edycyjne
zapisz zapisuje aplikację danego kanału po wprowadzonych zmianach
narzędzia testowania poprawności Test programu testuje program pod względem formalnym, Debug włącza tryb wyświetlania tzw break pointów, a SQL Err podaje błedy współpracy z SQL
szukanie podanej frazy odszukuje podany tekst
Kopiowanie do schowka Kopiuje całą aplikację do schowka i wkleja do okna ze schowka

Kanał analogowy IVR CC4-XAN
Kanał analogowy wyposażony jest w przetwornik analogowo cyfrowy pracujący z kodekiem a-law. Odbiór i nadawanie sygnalizacji DTMF, odbiór CID (identyfikacja FSK) i odbiór dzwonienia realizowany jest programowo. Dodatkowo wprowadzony jest układ zamykający pętle dla prądu stałego.
Wszystkim tym funkcjom odpowiadaja odpowiednie instrukcje. Aby je omówić podamy typowy początek prawie każdej aplikacji.
hook_off
na poczatku dla pozbycia się ewentualnych "zaszłości" otwieramy pętlę dla prądu stałego, centrala rozumie to jako "wolną linię - słuchawka odłożona na widełki"
// uruchomienie odbioru dtmf-u Komentarz który nie ma wpływu na działanie aplikacji, słuzy tylko jako informacja dla nas, rozpoczyna się od //. Nie można wpisywać komentarza na końcu innych instrukcji. Musi być zawsze w nowej linii.
record_on
timer1=1000
wait_timer1
rec_pause_on
Trik który powoduje uruchomienie przetwornika analogowo cyfrowego (AD) i umożliwia późniejszy odbiór np. DTMF
play_autostop=true Rozkaz powoduje automatyczne wyłączenie kierunku nadawczego przetwornika AD, po zakończeniu odtwarzania zapowiedzi.
info ('Czekam na połączenie') Wyświetla informację w oknie kanału na zakładce Ustawienia kanałów i widoku Powiązanie kanałów.
label=czekaj_na_dzwonek Linia do której aplikacja skoczy gdy napotka instrukcję bezwarunkowego skoku lub instrukcję skoku warunkowego gdy warunek jest spełniony.
if (ring<>0) goto=odbierz
if (is_hook) goto=koniec
Instrukcje skoku warunkowego. Pierwsza sprawdza obecność sygnału dzwonka i skacze w wypadku dzwonienia do linii "label=odbierz", druga sprawdza przepływ prądu.
goto=czekaj_na_dzwonek Skok bezwarunkowy, wykonywany jest zawsze. W tym konkretnym przykładzie powoduje oczekiwanie na dzwonienie w pętli bez końca. "Wyskoczenie" z tej pętli następuje w wypadku odebrania dzwonienia, czyli wywołania.
label=odbierz
hook_on Zamknięcie pętli abonenckiej dla prądu stałego. Centrala rozumie to jako "podniesienie słuchawki telefonu".
i  w tym miejscu powinien nastąpić ciąg dalszy programu

Podsumowanie: po czynnościach pomocniczych, aplikacja realizuje petle bez końca, którą opuszcza gdy centrala wyśle na linię dzwonek. Wtedy zamyka pętle dla prądu stałego.

Budowa menu i przy okazji odbieranie DTMF

clr_stoper1
clr_event
Zerowanie stopera numer 1 który przyda nam się do wygeanerowania czasu połączenia w bilingu. A wdrugiej linii zerowanie wskaźnika zdarzeń.
// Menu 1 
label=menu_1_e
info ('Menu 1 Opis Refa')
if (is_play) play_off
if (is_play) wait_play
Znowu instrukcje zabezpieczające gdy aplikacja "wpadnie" w to miejsce z odtwarzaną zapowiedzią. Odtwarzanie zostanie zakończone i ponieważ kończenie trwa jakis czas, aplikacja poczeka na zakończenie.
timer1=1000
wait_timer1
Ustawiamy tajmer numer 1 na 1000ms (czyli jedną sekundę) i czekamy aż doliczy do zera, czyli ustawiony czas upłynie.
clr_dtmf Zerowanie bufora odbiornika DTMF.
var1=3 Ustawienie zmiennej lokalnej numer 1, zmienna przyjmuje wartość 3. W tym przypadku zmienna będzie sterowała powtórzeniami menu.
label=menu_1_r
play_link ('1p.wav','A.wav') Odtwarza pliki. Pokazane jest tu  łączenie plików dźwiękowych. Z dwóch plików zostaje złorzona jedna zapowiedź.Pliki z zapowiedziami muszą spełniać warunki: WAV z kodekiem a-law, 8 bitów mono, próbkowanie 8kHz i musza być umieszczone w folderze wskazanym w Ustawienia kanałów, katalogi, katalog komunikatów. Gdybyśmy chcieli odtworzyć pojedynczy plik nalezy uzyć instrukcji play_on
label=menu_1_z
if (dtmf~'2') goto=menu_2_e Instrukcja warunkowa sprawdza bufor odbiornika DTMF, gdy pojawi się w nim cyfra 2, instrukcja będzie spełnina i  nastąpi skok do label=menu_2_e
if (dtmf~'3') goto=menu_3_e
if (dtmf~'4') goto=menu_4_e
if (is_event_busy) goto=rozlacz Zdarzenie "event_busy" oznacza wykrycie "sygnału zajetości" czyli przerywanego sygnału 0,5/0,5 lub 0,25/0,25. W tym wypadku centrala wysyła taki sygnał gdy rozmówca dzwoniacy do nas (telekomunikacyjny abonent A) odłozył słuchawke czyli rozłączył się.
if (is_play) goto=menu_1_z Czekamy aż skończy się zapowiedź (no chyba że ktoś wybierze w DTMF jakąś cyfrę - wtedy z pętli nastąpi "wyskok" przy pomocy pokazanych powyżej instrukcji warunkowych (tych z dtmf).
timer1=5000
label=menu_1_c
if (dtmf~'2') goto=menu_2_e
if (dtmf~'3') goto=menu_3_e
if (dtmf~'4') goto=menu_4_e
if (is_event_busy) goto=rozlacz
if (timer1>0) goto=menu_1_c
dec (var1)
if (var1>0) goto=menu_1_r
goto=koniec
A tutaj poprzednie menu jakby powtórzone. Jest tak dlatego że po zapowiedzi dajemy szansę na wybór tym którzy spokojnie odsłuchali całą zapowiedź. Tutaj mają na wybór czas wskazany w "timer1" czyli 5 sekund. Dodatkowo aby nie było prosto gdy nikt w tym czasie nic nie wybierze, następuje skok do poprzedniego menu w którym odtwarzana jest zapowiedź. I tak trzy razy, na co wskazuje zmienna "var 1". Instrukcja 'dec" dekrementuje zmienną i dopóki ona nie osiagnie wartości "0" (zero), sprawdzanej  w warunku "var>0" pętla trwa. A gdy osiągnie zero, przechodzi do następnej linii i bezwarukowo skoczy do etykiety (label) "koniec".

Podsumowanie: zrealizowana jest funkcja menu o trzech pozycjach. Aplikacja oczekuje na wysłanie przez rozmówcę cyfr "2', "3" LUB "4" .   Wysyłana jest zapowiedź, po zapowiedzi aplikacja odczekuje 5 sekund i następnie powtarza cykl. Tak trzy razy, chyba że rozmówca wybierze cyfrę DTMF. Kontrolowane jest zdarzenie odłożenia słuchawki przez rozmówcę. Wybór cyfry powoduje skok do nastepnego, drugiego poziomu menu.
Oczywiście w plikach WAV należy nagrać odpowiednie teksty zapowiedzi.

Łączenie do abonenta wewnętrznego

// Menu 4 Kontakt z konsultantem
 label=menu_4_e
 info ('Menu 4 Kontakt z konsultantem')
 // łączenie z 410
 timer1=1000
 wait_timer1
To wszysko już znamy.
dial_sys (b_flash100ms)
Generujemy krótką przerwę kalibrowaną czyli flash, w tym wypadku długość to 100ms. Można oczywiście wygenerować inną długość flasha:  od 100 do 900 milisekund, z krokiem 100ms.
timer1=500
 wait_timer1
Odczekujemy pewien czas po flashu, zanim wybierzemy numer w DTMF. Tego wymaga centrala abonencka. Ten czas może być inny dla innych central.
dial_dtmf ('410') Wybranie numeru w DTMF. W przykładzie wybrano 410, oczywiscie może wstawić tutaj zmienną lub pobrać numer z SQL itd.
 timer1=500
 wait_timer1
Kolejne oczekiwanie zwiazane z wymaganiami centrali abonenckiej.
 roz_nr='Infolinia'
 roz_ab='410'
 roz_ko=''
 roz_tm=stoper1
 roz_nt=''
 roz_in
Generowanie wpisu w "bilingu".
goto=rozlacz  Aby nastapiło połączenie należy "odłożyć słuchawkę", co jest wykonywane po etykiecie "rozlacz"

Podsumowanie: pokazano sposób łączenia rozmowy poprzez wykonanie przerwy kalibrowanej i wybranie numeru w DTMF. Należy zwrócić uwage że łączenie dokonywane jest bez sprawdzenia zajętości numeru wewnetrznego na który dokonywane jest łączenie. Sposób sprawdzania sygnału zajetości został opisany w poprzednim punkcie.

Koniec

label=koniec
roz_nr='Rozłączenie'
roz_ab='400'
roz_ko=''
roz_tm=stoper1
roz_nt=''
roz_in
label=rozlacz
hook_off
timer1=1000
wait_timer1
restart
Na końcu jest koniec, czyli w naszym wypadku rozłączenie i restart programu, tak aby pracował on w pętli bez końca. Widać tu także rozkazy które generują linię do bilingu, oraz oczekiwanie po przerwaniu petli prądu stałego zanim aplikacja wróci do początku i będzie gotowa na nastepne wywołanie.

Podsumowanie: ten element aplikacji jest wywoływany z różnych miejsc. Napisany jest tak że kończy aplikację i  wtedy, gdy abonent wywołujacy się rozłączy i wtedy gdy po wybraniu numeru wewnętrznego aplikacja sie rozłącza aby dokonać połączenie.

Poniżej przedstawię pełen tekst aplikacji, której fragmenty użyto powyżej. Jest to prawdziwa aplikacja która pracuje i została wykonana na zlecenie.
hook_off

// uruchomienie odbioru dtmf-u
record_on
timer1=1000
wait_timer1
rec_pause_on

play_autostop=true

info ('Czekam na połączenie')

label=czekaj_na_dzwonek
if (ring<>0) goto=odbierz
if (is_hook) goto=koniec
goto=czekaj_na_dzwonek

label=odbierz
hook_on
clr_stoper1
clr_event

// Menu 1
label=menu_1_e
info ('Menu 1')
if (is_play) play_off
if (is_play) wait_play
timer1=1000
wait_timer1
clr_dtmf
var1=3
label=menu_1_r
play_link ('1p.wav','A.wav')
label=menu_1_z
if (dtmf~'2') goto=menu_2_e
if (dtmf~'3') goto=menu_3_e
if (dtmf~'4') goto=menu_4_e
if (is_event_busy) goto=rozlacz
if (is_play) goto=menu_1_z
timer1=5000
label=menu_1_c
if (dtmf~'2') goto=menu_2_e
if (dtmf~'3') goto=menu_3_e
if (dtmf~'4') goto=menu_4_e
if (is_event_busy) goto=rozlacz
if (timer1>0) goto=menu_1_c
dec (var1)
if (var1>0) goto=menu_1_r
goto=koniec

// ===========================================================================

 // Menu 2 Oferta
 label=menu_2_e
 info ('Menu 2 Oferta')
 if (is_play) play_off
 if (is_play) wait_play
 timer1=1000
 wait_timer1
 clr_dtmf
 var1=3
 label=menu_2_r
 play_link ('2.wav','B.wav')
 label=menu_2_z
 if (dtmf~'1') goto=menu_111_e
 if (dtmf~'2') goto=menu_121_e
 if (dtmf~'3') goto=menu_131_e
 if (dtmf~'4') goto=menu_141_e
 if (dtmf~'5') goto=menu_151_e
 if (dtmf~'6') goto=menu_161_e
 if (dtmf~'9') goto=menu_1_e
 if (dtmf~'*') goto=menu_1_e
 if (is_event_busy) goto=rozlacz
 if (is_play) goto=menu_2_z
 timer1=5000
 label=menu_2_c
 if (dtmf~'1') goto=menu_111_e
 if (dtmf~'2') goto=menu_121_e
 if (dtmf~'3') goto=menu_131_e
 if (dtmf~'4') goto=menu_141_e
 if (dtmf~'5') goto=menu_151_e
 if (dtmf~'6') goto=menu_161_e
 if (dtmf~'9') goto=menu_1_e
 if (dtmf~'*') goto=menu_1_e
 if (is_event_busy) goto=rozlacz
 if (timer1>0) goto=menu_2_c
 dec (var1)
 if (var1>0) goto=menu_2_r
 goto=koniec

// ===========================================================================

 // Menu 3 Godziny pracy
 label=menu_3_e
 info ('Menu 3 Godziny pracy')
 if (is_play) play_off
 if (is_play) wait_play
 clr_dtmf
 timer1=1000
 wait_timer1
 var1=3
 label=menu_3_r
 play_link ('3.wav','B.wav')
 label=menu_3_z
 if (dtmf~'9') goto=menu_1_e
 if (dtmf~'*') goto=menu_1_e
 if (is_event_busy) goto=rozlacz
 if (is_play) goto=menu_3_z
 timer1=5000
 label=menu_3_c
 if (dtmf~'9') goto=menu_1_e
 if (dtmf~'*') goto=menu_1_e
 if (is_event_busy) goto=rozlacz
 if (timer1>0) goto=menu_3_c
 dec (var1)
 if (var1>0) goto=menu_3_r
 goto=koniec

// ===========================================================================

 // Menu 4 Kontakt z konsultantem
 label=menu_4_e
 info ('Menu 4 Kontakt z konsultantem')
 // łączenie z 410
 timer1=1000
 wait_timer1
 dial_sys (b_flash100ms)
 timer1=500
 wait_timer1
 dial_dtmf ('410')
 timer1=500
 wait_timer1
 roz_nr='Infolinia'
 roz_ab='410'
 roz_ko=''
 roz_tm=stoper1
 roz_nt=''
 roz_in
 goto=rozlacz

// ===========================================================================

  // Menu 111 Organizator procesów produkcyjnych
  label=menu_111_e
  info ('Menu 111 Organizator procesów produkcyjnych')
  if (is_play) play_off
  if (is_play) wait_play
  timer1=1000
  wait_timer1
  clr_dtmf
  var1=3
  label=menu_111_r
  play_link ('111.wav','C.wav')
  label=menu_111_z
  if (dtmf~'2') goto=menu_112_e
  if (dtmf~'3') goto=menu_113_e
  if (dtmf~'4') goto=menu_114_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (is_play) goto=menu_111_z
  timer1=5000
  label=menu_111_c
  if (dtmf~'2') goto=menu_112_e
  if (dtmf~'3') goto=menu_113_e
  if (dtmf~'4') goto=menu_114_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (timer1>0) goto=menu_111_c
  dec (var1)
  if (var1>0) goto=menu_111_r
  goto=koniec

// ===========================================================================

   // Menu 112 Oferta szkoleń
   label=menu_112_e
   info ('Menu 112 Oferta szkoleń')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var2=5
   play_link ('112.wav','D.wav','B.wav')
   label=menu_112_z
   if (dtmf~'1') goto=menu_112.1_e
   if (dtmf~'2') goto=menu_112.2_e
   if (dtmf~'3') goto=menu_112.3_e
   if (dtmf~'4') goto=menu_112.4_e
   if (dtmf~'5') goto=menu_112.5_e
   if (dtmf~'9') goto=menu_111_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_112_z
   timer1=5000
   label=menu_112_c
   if (dtmf~'1') goto=menu_112.1_e
   if (dtmf~'2') goto=menu_112.2_e
   if (dtmf~'3') goto=menu_112.3_e
   if (dtmf~'4') goto=menu_112.4_e
   if (dtmf~'5') goto=menu_112.5_e
   if (dtmf~'9') goto=menu_111_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_112_c
   goto=menu_112.1_e

// ===========================================================================

   // Menu 113 Formy realizacji projektów
   label=menu_113_e
   info ('Menu 113 Formy realizacji projektów')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var1=3
   label=menu_113_r
   play_link ('113.wav','D.wav','B.wav')
   label=menu_113_z
   if (dtmf~'9') goto=menu_111_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_113_z
   timer1=5000
   label=menu_113_c
   if (dtmf~'9') goto=menu_111_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_113_c
   dec (var1)
   if (var1>0) goto=menu_113_r
   goto=koniec

// ===========================================================================

   // Menu 114 Kontakt
   label=menu_114_e
   info ('Menu 114 Kontakt')
   // łączenie z 421
   timer1=1000
   wait_timer1
   dial_sys (b_flash100ms)
   timer1=500
   wait_timer1
   dial_dtmf ('421')
   timer1=500
   wait_timer1
   roz_nr='Infolinia'
   roz_ab='421'
   roz_ko=''
   roz_tm=stoper1
   roz_nt=''
   roz_in
   goto=rozlacz

// ===========================================================================

    // Menu 112.1 Zarządzanie procesami pracy
    label=menu_112.1_e
    info ('Menu 112.1 Zarzędzanie procesami pracy')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('112_1.wav','D.wav','B.wav','E.wav')
    label=menu_112.1_z
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_112.1_z
    timer1=5000
    label=menu_112.1_c
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_112.1_c
    dec (var2)
    if (var2>0) goto=menu_112.2_e
    goto=koniec

// ===========================================================================

    // Menu 112.2 Normowanie czasu pracy
    label=menu_112.2_e
    info ('Menu 112.2 Normowanie czasu pracy')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('112_2.wav','D.wav','B.wav','E.wav')
    label=menu_112.2_z
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_112.2_z
    timer1=5000
    label=menu_112.2_c
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_112.2_c
    dec (var2)
    if (var2>0) goto=menu_112.3_e
    goto=koniec

// ===========================================================================

    // Menu 112.3 Planowanie i sterowanie produkcją
    label=menu_112.3_e
    info ('Menu 112.3 Planownaie i sterowanie produkcją')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('112_3.wav','D.wav','B.wav','E.wav')
    label=menu_112.3_z
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_112.3_z
    timer1=5000
    label=menu_112.3_c
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_112.3_c
    dec (var2)
    if (var2>0) goto=menu_112.4_e
    goto=koniec

// ===========================================================================

    // Menu 112.4 Rachunek kosztów
    label=menu_112.4_e
    info ('Menu 112.4 Rachunek kosztów')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('112_4.wav','D.wav','B.wav','E.wav')
    label=menu_112.4_z
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_112.4_z
    timer1=5000
    label=menu_112.4_c
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_112.4_c
    dec (var2)
    if (var2>0) goto=menu_112.5_e
    goto=koniec

// ===========================================================================

    // Menu 112.5 Zarządzanie jakością
    label=menu_112.5_e
    info ('Menu 112.5 Zarządzanie jakością')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('112_5.wav','D.wav','B.wav','E.wav')
    label=menu_112.5_z
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_112.5_z
    timer1=5000
    label=menu_112.5_c
    if (dtmf~'4') goto=menu_114_e
    if (dtmf~'9') goto=menu_112_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_112.5_c
    // brak wyboru to przejście do kolejnego menu
    dec (var2)
    if (var2>0) goto=menu_112.1_e
    goto=koniec
 
// ===========================================================================

  // Menu 121 Industrial engineering
  label=menu_121_e
  info ('Menu 121 Industrial engineering')
  if (is_play) play_off
  if (is_play) wait_play
  timer1=1000
  wait_timer1
  clr_dtmf
  var1=3
  label=menu_121_r
  play_link ('121.wav','F.wav')
  label=menu_121_z
  if (dtmf~'2') goto=menu_122_e
  if (dtmf~'3') goto=menu_123_e
  if (dtmf~'4') goto=menu_124_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (is_play) goto=menu_121_z
  timer1=5000
  label=menu_121_c
  if (dtmf~'2') goto=menu_122_e
  if (dtmf~'3') goto=menu_123_e
  if (dtmf~'4') goto=menu_124_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (timer1>0) goto=menu_121_c
  dec (var1)
  if (var1>0) goto=menu_121_r
  goto=koniec

// ===========================================================================

   // Menu 122 Oferta
   label=menu_122_e
   info ('Menu 122 Oferta')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var2=7
   play_link ('122.wav','G.wav','B.wav')
   label=menu_122_z
   if (dtmf~'1') goto=menu_122.1_e
   if (dtmf~'2') goto=menu_122.2_e
   if (dtmf~'3') goto=menu_122.3_e
   if (dtmf~'4') goto=menu_122.4_e
   if (dtmf~'5') goto=menu_122.5_e
   if (dtmf~'6') goto=menu_122.6_e
   if (dtmf~'7') goto=menu_122.7_e
   if (dtmf~'9') goto=menu_121_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_122_z
   timer1=5000
   label=menu_122_c
   if (dtmf~'1') goto=menu_122.1_e
   if (dtmf~'2') goto=menu_122.2_e
   if (dtmf~'3') goto=menu_122.3_e
   if (dtmf~'4') goto=menu_122.4_e
   if (dtmf~'5') goto=menu_122.5_e
   if (dtmf~'6') goto=menu_122.6_e
   if (dtmf~'7') goto=menu_122.7_e
   if (dtmf~'9') goto=menu_121_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_122_c
   goto=menu_122.1_e

// ===========================================================================

   // Menu 123 Formy realizacji projektów
   label=menu_123_e
   info ('Menu 123 Formy realizacji projektów')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var1=3
   label=menu_123_r
   play_link ('123.wav','G.wav','B.wav')
   label=menu_123_z
   if (dtmf~'9') goto=menu_121_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_123_z
   timer1=5000
   label=menu_123_c
   if (dtmf~'9') goto=menu_121_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_123_c
   dec (var1)
   if (var1>0) goto=menu_123_r
   goto=koniec

// ===========================================================================

   // Menu 124 Kontakt
   label=menu_124_e
   info ('Menu 124 Kontakt')
   // łączenie z 417
   timer1=1000
   wait_timer1
   dial_sys (b_flash100ms)
   timer1=500
   wait_timer1
   dial_dtmf ('417')
   timer1=500
   wait_timer1
   roz_nr='Infolinia'
   roz_ab='417'
   roz_ko=''
   roz_tm=stoper1
   roz_nt=''
   roz_in
   goto=rozlacz

// ===========================================================================

    // Menu 122.1 Psychologia kierowania
    label=menu_122.1_e
    info ('Menu 122.1 Psychologia kierowania')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('122_1.wav','G.wav','B.wav','H.wav')
    label=menu_122.1_z
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_122.1_z
    timer1=5000
    label=menu_122.1_c
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_122.1_c
    dec (var2)
    if (var2>0) goto=menu_122.2_e
    goto=koniec

// ===========================================================================

    // Menu 122.2 Zarządzanie projektami
    label=menu_122.2_e
    info ('Menu 122.2 Zarządzanie projektami')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('122_2.wav','G.wav','B.wav','H.wav')
    label=menu_122.2_z
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_122.2_z
    timer1=5000
    label=menu_122.2_c
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_122.2_c
    dec (var2)
    if (var2>0) goto=menu_122.3_e
    goto=koniec

// ===========================================================================

    // Menu 122.3 Zarządzanie personelem
    label=menu_122.3_e
    info ('Menu 122.3 Zarządzanie personelem')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('122_3.wav','G.wav','B.wav','H.wav')
    label=menu_122.3_z
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_122.3_z
    timer1=5000
    label=menu_122.3_c
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_122.3_c
    dec (var2)
    if (var2>0) goto=menu_122.4_e
    goto=koniec

// ===========================================================================

    // Menu 122.4 Rachunek kosztów
    label=menu_122.4_e
    info ('Menu 122.4 Rachunek kosztów')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('122_4.wav','G.wav','B.wav','H.wav')
    label=menu_122.4_z
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_122.4_z
    timer1=5000
    label=menu_122.4_c
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_122.4_c
    dec (var2)
    if (var2>0) goto=menu_122.5_e
    goto=koniec

// ===========================================================================

    // Menu 122.5 Controlling produktywności
    label=menu_122.5_e
    info ('Menu 122_5 Controlling produktywności')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('122_5.wav','G.wav','B.wav','H.wav')
    label=menu_122.5_z
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_122.5_z
    timer1=5000
    label=menu_122.5_c
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_122.5_c
    dec (var2)
    if (var2>0) goto=menu_122.6_e
    goto=koniec

// ===========================================================================

    // Menu 122.6 Kształtowanie procesów gospodarczych
    label=menu_122.6_e
    info ('Menu 122.6 Kształtowanie procesów gospodarczych')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('122_6.wav','G.wav','B.wav','H.wav')
    label=menu_122.6_z
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_122.6_z
    timer1=5000
    label=menu_122.6_c
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_122.6_c
    dec (var2)
    if (var2>0) goto=menu_122.7_e
    goto=koniec

// ===========================================================================

    // Menu 122.7 Zarządzanie firmą
    label=menu_122.7_e
    info ('Menu 122.7 Zarządzanie firmą')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    play_link ('122_7.wav','G.wav','B.wav','H.wav')
    label=menu_122.7_z
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_122.7_z
    timer1=5000
    label=menu_122.7_c
    if (dtmf~'4') goto=menu_124_e
    if (dtmf~'9') goto=menu_122_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_122.7_c
    dec (var2)
    if (var2>0) goto=menu_122.1_e
    goto=koniec

// ===========================================================================

  // Menu 131 Organizator pracy w administracji
  label=menu_131_e
  info ('Menu 131 Organizator pracy w administracji')
  if (is_play) play_off
  if (is_play) wait_play
  timer1=1000
  wait_timer1
  clr_dtmf
  var1=3
  label=menu_131_r
  play_link ('131.wav','F.wav')
  label=menu_131_z
  if (dtmf~'2') goto=menu_132_e
  if (dtmf~'3') goto=menu_133_e
  if (dtmf~'4') goto=menu_134_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (is_play) goto=menu_131_z
  timer1=5000
  label=menu_131_c
  if (dtmf~'2') goto=menu_132_e
  if (dtmf~'3') goto=menu_133_e
  if (dtmf~'4') goto=menu_134_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (timer1>0) goto=menu_131_c
  dec (var1)
  if (var1>0) goto=menu_131_r
  goto=koniec

// ===========================================================================

   // Menu 132 Oferta
   label=menu_132_e
   info ('Menu 132 Oferta')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var1=3
   label=menu_132_r
   play_link ('132.wav','I.wav','B.wav')
   label=menu_132_z
   if (dtmf~'1') goto=menu_132.1_e
   if (dtmf~'9') goto=menu_131_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_132_z
   timer1=5000
   label=menu_132_c
   if (dtmf~'1') goto=menu_132.1_e
   if (dtmf~'9') goto=menu_131_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_132_c
   dec (var1)
   if (var1>0) goto=menu_132_r
   goto=koniec

// ===========================================================================

   // Menu 133 Formy realizacji projektów
   label=menu_133_e
   info ('Menu 133 Formy realizacji projektów')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var1=3
   label=menu_133_r
   play_link ('133.wav','I.wav','B.wav')
   label=menu_133_z
   if (dtmf~'9') goto=menu_131_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_133_z
   timer1=5000
   label=menu_133_c
   if (dtmf~'9') goto=menu_131_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_133_c
   dec (var1)
   if (var1>0) goto=menu_133_r
   goto=koniec

// ===========================================================================

   // Menu 134 Kontakt
   label=menu_134_e
   info ('Menu 134 Kontakt')
   // łączenie z 417
   timer1=1000
   wait_timer1
   dial_sys (b_flash100ms)
   timer1=500
   wait_timer1
   dial_dtmf ('417')
   timer1=500
   wait_timer1
   roz_nr='Infolinia'
   roz_ab='417'
   roz_ko=''
   roz_tm=stoper1
   roz_nt=''
   roz_in
   goto=rozlacz
 
// ===========================================================================

    // Menu 132.1 Organizacja pracy w administracji
    label=menu_132.1_e
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    var1=3
    label=menu_132.1_r
    play_link ('132_1.wav','I.wav','B.wav','H.wav')
    label=menu_132.1_z
    if (dtmf~'4') goto=menu_134_e
    if (dtmf~'9') goto=menu_132_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_132.1_z
    timer1=5000
    label=menu_132.1_c
    if (dtmf~'4') goto=menu_134_e
    if (dtmf~'9') goto=menu_132_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_132.1_c
    dec (var1)
    if (var1>0) goto=menu_132.1_r
    goto=koniec

// ===========================================================================

  // Menu 141 Organizacja pracy w usługach porządkowych
  label=menu_141_e
  info ('Menu 141 Organizacja pracy w usługach porządkowych')
  if (is_play) play_off
  if (is_play) wait_play
  timer1=1000
  wait_timer1
  clr_dtmf
  var1=3
  label=menu_141_r
  play_link ('141.wav','F.wav')
  label=menu_141_z
  if (dtmf~'2') goto=menu_142_e
  if (dtmf~'3') goto=menu_143_e
  if (dtmf~'4') goto=menu_144_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (is_play) goto=menu_141_z
  timer1=5000
  label=menu_141_c
  if (dtmf~'2') goto=menu_142_e
  if (dtmf~'3') goto=menu_143_e
  if (dtmf~'4') goto=menu_144_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (timer1>0) goto=menu_141_c
  dec (var1)
  if (var1>0) goto=menu_141_r
  goto=koniec

// ===========================================================================

   // Menu 142 Oferta
   label=menu_142_e
   info ('Menu 142 Oferta')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var1=3
   label=menu_142_r
   play_link ('142.wav','J.wav','B.wav')
   label=menu_142_z
   if (dtmf~'1') goto=menu_142.1_e
   if (dtmf~'9') goto=menu_141_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_142_z
   timer1=5000
   label=menu_142_c
   if (dtmf~'1') goto=menu_142.1_e
   if (dtmf~'9') goto=menu_141_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_142_c
   dec (var1)
   if (var1>0) goto=menu_142_r
   goto=koniec

// ===========================================================================

   // Menu 143 Formy realizacji projektów
   label=menu_143_e
   info ('Menu 143 Formy realizacji projektów')
   if (is_play) play_off
   if (is_play) wait_play
   timer1=1000
   wait_timer1
   clr_dtmf
   var1=3
   label=menu_143_r
   play_link ('143.wav','J.wav','B.wav')
   label=menu_143_z
   if (dtmf~'9') goto=menu_141_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (is_play) goto=menu_143_z
   timer1=5000
   label=menu_143_c
   if (dtmf~'9') goto=menu_141_e
   if (dtmf~'*') goto=menu_1_e
   if (is_event_busy) goto=rozlacz
   if (timer1>0) goto=menu_143_c
   dec (var1)
   if (var1>0) goto=menu_143_r
   goto=koniec

// ===========================================================================

   // Menu 144 Kontakt
   label=menu_144_e
   info ('Menu 144 Kontakt')
   // łączenie z 417
   timer1=1000
   wait_timer1
   dial_sys (b_flash100ms)
   timer1=500
   wait_timer1
   dial_dtmf ('417')
   timer1=500
   wait_timer1
   roz_nr='Infolinia'
   roz_ab='417'
   roz_ko=''
   roz_tm=stoper1
   roz_nt=''
   roz_in
   goto=rozlacz

// ===========================================================================

    // Menu 142.1 Organizacja pracy w usługach porządkowych
    label=menu_142.1_e
    info ('Menu 142.1 Organizacja pracy w usługach porządkowych')
    if (is_play) play_off
    if (is_play) wait_play
    timer1=1000
    wait_timer1
    clr_dtmf
    var1=3
    label=menu_142.1_r
    play_link ('142_1.wav','J.wav','B.wav','H.wav')
    label=menu_142.1_z
    if (dtmf~'4') goto=menu_144_e
    if (dtmf~'9') goto=menu_142_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (is_play) goto=menu_142.1_z
    timer1=5000
    label=menu_142.1_c
    if (dtmf~'4') goto=menu_144_e
    if (dtmf~'9') goto=menu_142_e
    if (dtmf~'*') goto=menu_1_e
    if (is_event_busy) goto=rozlacz
    if (timer1>0) goto=menu_142.1_c
    dec (var1)
    if (var1>0) goto=menu_142.1_r
    goto=koniec
 
// ===========================================================================

  // Menu 151 Akcelerator
  label=menu_151_e
  info ('Menu 151 Akcelerator')
  if (is_play) play_off
  if (is_play) wait_play
  timer1=1000
  wait_timer1
  clr_dtmf
  var1=3
  label=menu_151_r
  play_link ('151.wav','K.wav','B.wav')
  label=menu_151_z
  if (dtmf~'4') goto=menu_154_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (is_play) goto=menu_151_z
  timer1=5000
  label=menu_151_c
  if (dtmf~'4') goto=menu_154_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (timer1>0) goto=menu_151_c
  dec (var1)
  if (var1>0) goto=menu_151_r
  goto=koniec

// ===========================================================================

   // Menu 154 Kontakt
   label=menu_154_e
   info ('Menu 154 Kontakt')
   // łączenie z 418
   timer1=1000
   wait_timer1
   dial_sys (b_flash100ms)
   timer1=500
   wait_timer1
   dial_dtmf ('418')
   timer1=500
   wait_timer1
   roz_nr='Infolinia'
   roz_ab='418'
   roz_ko=''
   roz_tm=stoper1
   roz_nt=''
   roz_in
   goto=rozlacz

// ===========================================================================

  // Menu 161 Impex
  label=menu_161_e
  info ('Menu 161 Impex')
  if (is_play) play_off
  if (is_play) wait_play
  timer1=1000
  wait_timer1
  clr_dtmf
  var1=3
  label=menu_161_r
  play_link ('161.wav','L.wav','B.wav')
  label=menu_161_z
  if (dtmf~'4') goto=menu_164_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (is_play) goto=menu_161_z
  timer1=5000
  label=menu_161_c
  if (dtmf~'4') goto=menu_164_e
  if (dtmf~'9') goto=menu_2_e
  if (dtmf~'*') goto=menu_1_e
  if (is_event_busy) goto=rozlacz
  if (timer1>0) goto=menu_161_c
  dec (var1)
  if (var1>0) goto=menu_161_r
  goto=koniec

// ===========================================================================

   // Menu 164 Kontakt
   label=menu_164_e
   info ('Menu 164 Kontakt')
   // łączenie z 413
   timer1=1000
   wait_timer1
   dial_sys (b_flash100ms)
   timer1=500
   wait_timer1
   dial_dtmf ('413')
   timer1=500
   wait_timer1
   roz_nr='Infolinia'
   roz_ab='413'
   roz_ko=''
   roz_tm=stoper1
   roz_nt=''
   roz_in
   goto=rozlacz

// ===========================================================================

label=koniec
roz_nr='Rozłączenie'
roz_ab='400'
roz_ko=''
roz_tm=stoper1
roz_nt=''
roz_in
label=rozlacz
hook_off
timer1=1000
wait_timer1
restart