# An Approach to Designing Critical Railway Voice Communication
## 4 FRMCS Common Functions as RESTful Service Blocks
### FRMCS Critical Support Application API  
FRMCS critical voice communication applications use the following critical support applications [1]:  
* Role management and presence;
* Invite-a-user messaging;
* Location services;  
Figure 4: Structure of the URIs of the ADM service resources. Figure 3: Structure of the URIs of the UPM service resources. * Authorization of application;
* Authorization of communication;
* Arbitration;
* Quality of Service (QoS) class negotiation;
* Assured voice communication;
* Multiuser talker control. Some of the critical support applications, such as application authorization, communication authorization, and arbitration, can use the API of the role management and presence application to retrieve the registered identities, the FIPM API and UPM API to access the identity profiles, and the policy API to evaluate the respective policy rules. Other critical support applications, such as role management and presence, invite-a-user messaging, multiuser talker control, assured voice communication, and QoS class negotiation applications, need to use a client part on the FRMCS device and a server part on the FRMCS server. The role management and presence functionality is used to register/deregister one or more users' functional identity(ies) and their presence statuses. Figure 5 shows the structure of the resource URIs related to the role management and presence service, where the presence status describes the context in which the functional identity is presented. More details on the role management and presence service can be found in [28]. Each user device (ueID) is uniquely identified. Some user devices have a functional number/identity (ueFNID) that indicates where the device is used. To be reachable, each user has to register their unique functional number (userID) and one or more functional identities (userFID). The registration and presence status are attributes of the resources and represent individual identities. The subscription resources represent existing subscriptions to notifications about changes to the registration or presence status of the respective identity. The registered identifications and current presence information allow/disallow the use of critical communication applications. Figure 5: FRMCS resource URIs related to the role management and presence service. User devices can provide periodic location information to the location service. The user's location can be delivered to other applications such as critical communication applications. Location information may also be provided by external systems such as interlocking systems, balises, automatic train control, and others. The MEC location service can be used to provide location-related information to FRMCS applications [29]. The railway operator can define specific zones to actively track the FRMCS user's location. The MEC location service can support location information about specific FRMCS devices currently served by the radio nodes associated with the FRMCS server, location information about all registered FRMCS users, a list of FRMCS registered devices in a particular railway area, and information about devices entering or leaving a particular area. The location information is used by critical communication applications upon communication establishment and routing. The use of critical communication applications has to be authorized. Upon the successful registration of an FRMCS user and their functional identity(ies), the role management and presence application retrieves the respective functional identity profile(s) and initiates the applicable FRMCS application(s). The authorization of an application can be based on policies, e.g., the time frame, the location of the FRMCS device, and other context-based criteria. Hence, the application authorization application may use the location service to retrieve the device location, the role management and presence service to retrieve the registered presence status, and the policy service to evaluate the application authorization rules.