mirror of https://github.com/sipwise/sems.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.5 KiB
56 lines
1.5 KiB
import(mod_conference)
|
|
|
|
initial state lobby
|
|
enter { playFile(wav/default_en.wav) };
|
|
|
|
|
|
state room;
|
|
|
|
transition "lobby to room" lobby - noAudioTest / {
|
|
conference.setPlayoutType(adaptive);
|
|
conference.join(myroom);
|
|
} -> room;
|
|
|
|
|
|
transition "key 1 pressed" room - keyPress(1); test($is_spkonly == "") / {
|
|
set($is_spkonly=1);
|
|
closePlaylist(false);
|
|
conference.rejoin(myroom, speakonly);
|
|
} -> room;
|
|
|
|
transition "key 1 pressed - spkonly" room - keyPress(1); test($is_spkonly == "1") / {
|
|
set($is_spkonly="");
|
|
closePlaylist(false);
|
|
conference.rejoin(myroom);
|
|
} -> room;
|
|
|
|
transition "key 2 pressed" room - keyPress(2); test($is_listenonly == "") / {
|
|
set($is_listenonly=1);
|
|
closePlaylist(false);
|
|
conference.rejoin(myroom, listenonly);
|
|
} -> room;
|
|
|
|
transition "key 2 pressed - listenonly" room - keyPress(2); test($is_listenonly == "1") / {
|
|
set($is_listenonly="");
|
|
closePlaylist(false);
|
|
conference.rejoin(myroom);
|
|
} -> room;
|
|
|
|
transition "kick event" room - eventTest(#action==kick) / closePlaylist(false); conference.leave(); stop(true) -> end;
|
|
|
|
transition "leave event" room - eventTest(#action==leave) / {
|
|
closePlaylist(false);
|
|
conference.leave()
|
|
} -> outside;
|
|
|
|
state outside
|
|
enter {
|
|
log(2, now outside);
|
|
};
|
|
transition "join event" outside - eventTest(#action==join) / conference.join(myroom) -> room;
|
|
transition "join event" outside - eventTest(#action==joinroom) / conference.join(#room) -> room;
|
|
|
|
|
|
transition "bye recvd" (lobby, room) - hangup / closePlaylist(false); conference.leave(); stop(false); -> end;
|
|
|
|
state end; |