Running meetings can be edited. Users can extend the time, thinking that this would be applied to BBB which ist not the case.
Therefore it should:
a) not be possible in OpenOlat to modify meetings that have already be created on the server (this is when the end time is set on the meeting).
b) update the room settings to reflect the new ending time if this is possible at all
(https://docs.bigbluebutton.org/dev/api.html#setconfigxml but unclear if this can be used and looks rather complex this way)
c) Don't send the duration in the create method at all but having a job in OO that checks for meetings to end and actively end the meeting by using the end method. (https://docs.bigbluebutton.org/dev/api.html#end)
If a) is implemented it is important that the editor is blocked as soon as the first user created the meeting room and not based on the start time. Rooms can be create also during the prep time.
If c) is implemented the end date could be modified in the UI to any time later than now() within the range of the room template and collisions. It is the solution with the most power on OpenOlat side but also the most expensive to implement. Would also allow to have end buttons in the admin console to terminate running meetings.