During our [[SS:S|SimSig Sessions]] voice communication will be provided by the '''Railway Operating Centre''', or '''R.O.C.''' (pronounced: ɑːr əʊ siː). The ROC allows easy communication between [[SimSig:Signaller|Signallers]] and [[SimSig:Controller|Controllers]], breaking down each signalling area into their own channel. The ROC also allows private calls to be made between two users as required.
'''Railway Operating Centre''', or '''R.O.C.''' (pronounced: [ɑː(ɹ) əʊ ˈsiː] or [ɹɒk]) is a web application used during the ''On Our Lines'' [[SimSig:Sessions|SimSig Sessions]]. It simulates a combination of a [[GSM-R]] and [[Connect Radio]] terminal, as well as a telephone concentrator. ROC allows easy communication between [[SimSig:Signaller|Signallers]], [[SimSig:Service Controller|Controllers]] and other 'non-playable characters' by automatically placing and routing phone calls between different users. It interfaces with [[Discord]] which provides the voice channel functionality.
The ROC is a web app that will switch users between different [[Discord]] channels depending on a number of factors. To use the ROC, and therefore to be able to fully communicate with all participants during a Session, a user must join the [[On Our Lines]] Discord server, and request the [[Discord#Roles|SimSig role]]. Once this is done, users can login to the ROC with their Discord ID, unlocking its functionality. A Windows build is availible to [https://github.com/ElaTheDeveloper/OOL-SimSig-Electron/releases/tag/v.10 download here].
ROC is an open source project released under the [https://opensource.org/license/mit MIT license], and the repository is available to view on [https://github.com/luxtonelectric/roc/issues GitHub]. It is maintained by the ''On Our Lines'' Community, and new contributors are always welcome! The code base is predominantly written in javascript, using the Vue and Nuxt frameworks.
Please note that ROC is still in it's ALPHA stages, and is slightly unstable and has some bugs.
ROC can be used outside of our 'official' SimSig Sessions, however no support is provided and it will not be configured to your requirements. You will also not be able to access the Control roles or admin functionality. You are, however, more than welcome to set up your own instance of ROC.
== Basic Usage ==
== Getting Started ==
To enter into the ROC's system, you first must join the {{Discord|on-our-simsig-lobby}} voice channel before heading over to the ROC in your browser.
[[File:ROC Login Screen (0.99).png|thumb|alt=A dark grey screen with lime green text on it. R.O.C. is spelt out in ASCII art, with Railway Operations Centre underneath it. Below are details of the next SimSig Session, and beneath that four boxes with rounded edges. Each box contains the details of an individual simulation, including its name, connection details, available panels and whether the Sim is communicating with ROC or not.|The splash screen for ROC users are presented with before logging in.]]
Copy your Discord Username (click on your name next to the settings cog in the bottom left of Discord) and paste it into the box. Click the Join Game button.
To use the Railway Operations Centre (ROC) you must first join the ''On Our Lines'' [[Discord]] server and claim the SimSig role. This will provide access to the SimSig voice channels which are used for ROC. You should then join the {{discord channel|#on-our-simsig-lobby}} voice channel, before navigating to ROC in your web browser of choice.
You can set the panel you are working in the top right. Type in your panel name and click “Set Panel”
Authentication is via Discord - when you click log in, you will be asked to login to Discord (if you are not already) and then give ROC permission to use your account - this is just to let us move you around voice channels, and does not change anything else on your account.
[[File:ROC Main Screen (Beta).png|alt=ROC Main Beta|thumb|The main window of the ROC software (Beta Version).]]
To join a sim, click on the "Join Sim" link for the sim you are working.
== Calls ==
<!--== Credits ==
ROC (2024) is a collaborative effort by the ''On Our Lines'' community, largely led by [[User:Zootfish|Zootfish]]. It is based on original, open source and freely licensed code by [[User:Ela|Ela]] and [[User:Arturs|Arturs]].
=== Placing a Call ===
To place a call, click on the panel you wish to call. If the call is accepted, you will be moved to the private call channel. If not, you will hear a reject tone.
=== Receiving a call ===
If you receive a call, you will hear a phone ringtone and your screen will be taken over with the "Incoming Call" window.
To leave the private call, both participants must click the "Leave Call" button.
=== Railway Emergency Call ===
Sometimes an emergency call needs to be made to an entire panel, or other group.
==== Placing a REC ====
To place an Emergency Group Call, press the "EMERGENCY CALL" button. A pop up will appear asking you to either cancel or select the panel you wish to call.
==== Recieving a REC ====
If you are a recipiant of a REC, you will hear a siren, and your ROC screen will be filled with a warning. You can connect there or will be automatically connected to the REC.
Stay on the line until the nature of the emergency is known, and you and the person in charge have come to a full and clear understanding.
Press the "Leave Call" button on the voice channel in use.
<gallery mode="traditional">
File:Placing a REC (Beta).png|The window shown to players who have clicked the "Emergency Call" button
File:Incoming REC (Beta).png|The Dialog shown to players who are recipents of a REC. Once the countdown is expired, or if the player clicks "accept", they will be added to the call.
</gallery>
== Electron App ==
The Electron app can be downloaded from [https://github.com/ElaTheDeveloper/OOL-SimSig-Electron/releases/tag/v.10 GitHub]. The source code is also availible there. The Electron app is merely just a Chrome window, minus all the decorations. It just loads up the ROC webpage but allows you to have it in your taskbar.
Please be aware this is currently untested. It may not function exactly like the Chrome browser and therefore may have issues. Preliminary tests indicate there is no issue. However, do not expect much support if bugs are encountered.
== Compatibility ==
Here is a compatibility chart of web browsers that ROC works with.
{| class="wikitable"
|+
!|
!colspan="4"|Desktop Browsers
!colspan="5"|Mobile Browsers
|+
!
!Google Chrome
!Mozilla Firefox
!Microsoft Edge (Chromium)
!Microsoft Internet Explorer
!Apple Safari
!Chrome for Android
!Safari for iOS
!Chrome for iOS
!Firefox for iOS
|-
!Compatible?
|style="background:#9F9;vertical-align:middle;text-align:center; | Full
|style="background:#9F9;vertical-align:middle;text-align:center; | Full
|style="background:#9F9;vertical-align:middle;text-align:center; | Full
|Underlying technologies unsupported by IE. Please use Edge.
|Call audio (incoming and rejected) does not play. WebSockets can randomly disconnect.
|If the tab unloads, a full re-join is necessary.
|Call audio (incoming and rejected) does not play. WebSockets can randomly disconnect.
If the tab unloads, a full re-join is necessary.
|Unknown yet. Investigating.
|Same issues as Safari for iOS.
All iOS browsers suffer the same bugs as Safari on iOS as all iOS browsers must use the Safari rendering engine.
|}
=== Sound on Safari ===
If you wish to have your phones ring on Safari on Desktop, please whitelist ROC in your browser settings to be allowed to autoplay audio and video.
<gallery>
ROCSafariWhitelistAudio.png|In the Safari preferences, go to Websites and then AutoPlay. Whitelist ROC by visiting it before opening this panel.
</gallery>
==Known Bugs==
There are currently a number of known bugs present on the ROC; it is beta software and its development is ongoing.
*Sleep/Screen locks: Ensure you leave the tab/window/tablet open without screen lock/auto sleep enabled. It will kick you if your device locks and you will have to rejoin from the lobby. This is a websockets thing. Basically don't let it unload.
*The design is at a very basic level
*It is possible to call one's self...
''Known bugs will soon be migrated to an issue tracker; in the meantime, please do add any discovered and confirmed bugs to the [[SimSig talk:Railway Operating Centre|Talk page]], signing them with four tildes (<nowiki>~~~~</nowiki>).''
== Credits ==
Design: [[User:Ela|Ela]] and [[User:Arturs|Arturs]]
Code: [[User:Ela|Ela]]
'''Libraries Utilised:'''
'''Libraries Utilised:'''
Line 126:
Line 34:
'''Icons:'''
'''Icons:'''
* [https://akveo.github.io/eva-icons/#/ Eva Icons]
* [https://akveo.github.io/eva-icons/#/ Eva Icons]-->
Christmas Session - West Midlands (Saltley and neighbours TBC)
Railway Operating Centre, or R.O.C. (pronounced: [ɑː(ɹ) əʊ ˈsiː] or [ɹɒk]) is a web application used during the On Our LinesSimSig Sessions. It simulates a combination of a GSM-R and Connect Radio terminal, as well as a telephone concentrator. ROC allows easy communication between Signallers, Controllers and other 'non-playable characters' by automatically placing and routing phone calls between different users. It interfaces with Discord which provides the voice channel functionality.
ROC is an open source project released under the MIT license, and the repository is available to view on GitHub. It is maintained by the On Our Lines Community, and new contributors are always welcome! The code base is predominantly written in javascript, using the Vue and Nuxt frameworks.
ROC can be used outside of our 'official' SimSig Sessions, however no support is provided and it will not be configured to your requirements. You will also not be able to access the Control roles or admin functionality. You are, however, more than welcome to set up your own instance of ROC.
The splash screen for ROC users are presented with before logging in.
To use the Railway Operations Centre (ROC) you must first join the On Our LinesDiscord server and claim the SimSig role. This will provide access to the SimSig voice channels which are used for ROC. You should then join the #on-our-simsig-lobby voice channel, before navigating to ROC in your web browser of choice.
Authentication is via Discord - when you click log in, you will be asked to login to Discord (if you are not already) and then give ROC permission to use your account - this is just to let us move you around voice channels, and does not change anything else on your account.