The Value of Integrating MSRP Protocol in E-learning Platforms of Universities

The proposed solution is intended for virtual universities wishing to improve their distance learning platforms. These enhancements include the instructional content model, how to deliver courses to students, and how to evaluate students' knowledge. With this solution that improves the functionality of Moodle, virtual classes now include new features such as the transfer of heavy files, control of remote screens, video, audio, chat without degradation of the quality of service. The solution will be particularly useful for language teachers who have difficulty in assessing the speaking skills of their students. Indeed, the platform with its audio / video features, integrates a tool to assess the knowledge and improve the speaking skills of students. Teachers of technical subjects such as programming or computer networks will also be able to use this solution to improve the way they deliver courses, including making it easier for students to do practical work. On the technical side, the solution is based on the MSRP-RELAY, MSRP and Websocket protocols. It is therefore compatible with smartphones, tablets and computers. Tests were conducted with teachers of languages and STEM subjects to evaluate their students in direct synchronous encounters without necessarily going through multiple choice questions.


Introduction
This paper is an extension of work originally presented in conference International Conference of Advanced Communications Technology (ICACT) 2018 in Korea [1]. Currently, in many countries, particularly in Africa, higher education faces several constraints, including the lack of facilities to accommodate new graduates in traditional universities and teaching materials for practical work.
With the democratization of the Internet and the emergence of new ICT services, we can say that technology is at the service of education. Many countries are establishing national interconnection of public buildings by fiber optics. This promotes high bandwidth internet access, the ability to do cloud computing, and so on. Classical universities have taken advantage of these services and now offer Open and Distance Training [2]. For a purely virtual university, it is therefore a challenge to offer solid platforms with advanced features that allow students to carry out practical work while guaranteeing quality in audio-video communications during these practical work, especially for students. students in STEM [3].
Indeed, open and distance learning was once essential for professionals seeking skills development. Today, with digital universities, a young graduate from the bachelor's degree can start his university course with distance education. This explains why most Senegalese universities are increasingly interested in this educational innovation in their training offerings.
It is therefore very important for these young people to receive quality training, especially those who study STEM. Among other features of the training platforms used by universities to meet this need include communication tools (chat, audio, video), online selfassessment tools, [4] and so on. The Moodle platform [5] is undoubtedly one of the most used today by universities.
Moodle's very popular BigBlueButton [6] plugin allows you to create virtual classes using the WEBRTC [7] protocol. It includes all the tools you need for a virtual classroom (audio, video, screen sharing using flash [8]), but there are some shortcomings that ASTESJ ISSN: 2415-6698 deserve to be raised. The possibility of entering mathematical formulas and the impossibility of taking remote control of computers seriously handicap the dispensing of certain courses and, by extension, the quality of the students' training.
Given the requirements of distance learning today, we believe that an e-learning platform should no longer be limited to the traditional features we already know. Universities would benefit from including features such as: -Taking into account the transfer of files with a very large size, regardless of their type; -The possibility for a teacher or a student to share his screen with the other actors during a distance course ; -The ability to remotely control student terminals ; -The possibility of sharing software with students.
Distance learning also faces serious problems when it comes to assessing students' knowledge of subjects such as modern languages. It is therefore important to think about solving this problem too.
To achieve this, we use the power of the Kamailio server, the MSRP protocol [9] and the Websocket [10]. The purpose of the work is to contribute to the improvement of e-learning platforms and thus to promote better learning for students.
The organization of the article is as follows : Section II is dedicated to the presentation of the main protocols used namely: MSRP, MSRP-RELAY, Websocket. Section III will describe how our solution works. We thus find the proposed architecture, the presentation of Kamailio and Moodle. In section IV, the results obtained from the tests will be presented. Finally, Section V concluded and gives an opening on future work.

MSRP
The MSRP protocol is used for the exchange of instant messages and any other binary content other than ASCII (MIME) [11]. It is connection-oriented and is particularly useful for exchanging very large files or remote desktop sharing. Since MSRP [12] can not perform a session setup on its own, it is usually paired with the SIP protocol [13]. The SIP protocol is responsible for establishing and releasing the multimedia session.
MSRP defines two request types, or methods. SEND requests are used to deliver a complete message or a chunk (a portion of a complete message), while REPORT requests report on the status of a previously sent message, or a range of bytes inside a message. [8]

MSRP Relay
The MSRP protocol has NAT traversal problems. To solve this problem, the MRSP Relay is used in many implementations. [14] This is the case of our proposed solution with Kamailio. The operating principle is very simple. Customers who want to send a message can go through a relay or not. When a relay is used, it is the latter who sends the message to the customer or another relay ( Figure 2).

Websocket
The WebSocket protocol enables two-way real-time communication between clients and servers. With this API you can send messages to a server and receive its responses in an events based mode without having to go to the server to get an answer [15]. The protocol has two parts : a handshake and the data transfer. Once the client and server have both sent their handshakes, and if the handshake was successful, then the data transfer part starts. This is a two-way communication channel where each side can, independently from the other, send data at will. The client can request that the server use a specific subprotocol (such as the WebSocket MSRP subprotocol) by including the "Sec-WebSocket-Protocol" field in its handshake [16].

Websocket protocol as a transport for MSRP
As the name suggests, websocket msrp subprotocol is a subset of the WebSocket protocol. He specializes in the transport of MSRP messages. These exchanges take place between a Websocket client and a node that will be called MSRP relay. It is not superfluous to wonder about the information contained in these messages. These are sometimes MSRP requests, sometimes answers. All this is done using a Websocket connection [17] In the websocket msrp subprotocol, we find the terms clients and servers. The MSRP WebSocket Client is the entity with the ability to open multiple outbound connections to other MSRP-Relay. These other MSRP-Relay are called MSRP Websocket server. So, an MSRP WebSocket Server is simply an MSRP-Relay responsible for listening to incoming connections. These connections come from Websockets clients. Communication is obviously done with the websocket msrp subprotocol. It should first be that certain rules are respected. During the handshake procedure, both entities agree on the use of the websocket msrp subprotocol for communication. To do this, the MSRP Websocket has the obligation to put in a header called sec-websocket, the keyword 'msrp' in his handshake. Naturally, the server also in responding does the same operation in its header.

Solution Architecture
The solution we proposed works as shown in Figure 3 below. The basis of architecture is the well-known moodle platform. It is to this platform that we added new features via a plugin that has been integrated. This plugin uses a free IP telephony server called Kamailio [17] whose IP address will be set in the configuration file of the module and materialized on the same figure by: • Presentation Lib: this is the set of libraries of the plugin interacting with the MSRP API [18].
• UI presentation: represents the views of our plugin

How the solution works
The Websocket, MSRP and MSRP Relay protocols are the main ones involved in our platform. The solution is based on the interconnection between the kamailio server and the Moodle platform in order to push the limits of Moodlle, especially in terms of heavy file sharing or remote learning of a student's machine in order to show him good practices. The MSRP relay is mainly used to solve NAT traversal problems. Thanks to the loading and activation of the modules, routing rules have been defined especially in case of MSRP transaction. Figure 4 describes message exchanges between two users during an MSRP session. During this session, features such as screen sharing or sending large files can be used by both students and the teacher. Concretely, the user 1 sends an instant message to the user 2. The WebSocket Kamailio MSRP server receives the message and sends it to the MSRP relay which finally conveys the message to the user 2.

Description of Moodle
Moodle is an open source online course management system used by many organizations, universities and even businesses to offer online learning and the online component of blended learning. [19]. It is one of the most used open source course management systems in the world. The acronym MOODLE stands for "Modular Object Oriented Dynamic Learning Environment". It was in 1990 that Marin Dougiamas started designing the platform in Australia. It is an online platform under the GNU Public License (GPL). If the solution is adopted by several universities, it is mainly because it offers a set of integrated tools initially designed   icon.gif the icon that appears in the class to symbolize the activity.
lib.php Library functions where Moodle will look for various callbacks that provide the "standard" module information.
view.php Allows you to make all the screens of the module.

Backup
Folder containing backup and restore information.

Moodle plugin development
A plugin or plug-in is a package that complements a host software to bring new features.
It can be positioned in a pedagogical sequence of a course. The following table shows some basic files of a moodle plugin.

Description of Kamailio
Kamailio is a very powerful open source SIP server, capable of handling thousands of calls per second without degradation of the quality of service. It can be used to create real-time VoIP communication platforms. It offers multiple features, including support for WebSocket for WebRTC, IPv4 and IPv6, TCP, UDP, TLS for secure communication, IMS extensions, and even an MSRP relay module discussed in this article. The MSRP relay module used in this work reuses the Kamailio core module to provide MSRP routing capabilities. A not insignificant advantage of this module is that it can access all other extensions of the Kamailio server. These are authentication, accounting, security and protection against denial of service attacks, etc. Kamailio has the ability to handle both SIP traffic and SIP traffic received on the same port. This is how Kamailio is used as a standalone MSRP relay where you can have both SIP and MSRP processing instances. You can also configure the module so that some ports will be for SIP only and others for MSRP.

Results
To prove the relevance of our solution, we deployed and tested it with 22 students and obtained the following results. Especially in this extended version, we were able to give access to a paid software to create architectures with several licenses. Thus, thanks to a single license, students can connect remotely and use the software to do their practical work, practice without the help of the teacher, etc. Figure 8 shows the invitation for screen sharing with the three options accept, reject, and occupy.  Figure 9 shows the sharing and remote control of a computer between trainer and learners. The teacher asks to take control of the learner's machine in order to show him how to handle.  Figure 10 shows an illustration of the sharing and remote control of a workstation between actors in a digital university. This feature makes possible to pass audio video streams and even chat. The importance of practical work in teaching in STEM is no longer demonstrated. An environment rich in practical work ensures better education for students. Relatively expensive software required for student training may not be accessible to them remotely. Thanks to our platform, students can access virtual machines containing these programs. Figure 11 shows how students can access these virtual machines through our platform. Thus, the student will be able to practice freely by choosing the virtual machine containing the software which he needs. Figure 11: Remote access to a virtualization server for hands-on labs Figure 12 shows a specific work environment for students learning computer programming. Thanks to a collaborative development environment from a web browser, students can work on the same project together. It may be to develop a project together using the eclipse development environment for example. In a classical classroom training, the teacher sometimes assists a student in difficulty. He can therefore show him step by step how to use this or that feature. This practice should also be possible in distance learning. This is what we demonstrate with our platform (Figure 13). A student's machine was remote-controlled by the teacher. The latter shows his student some features specific to a scientific computing software. Figure 13: remote control of a learner's machine Some programs are essential for learners as part of their training (development of architectures, mathematical simulation software, etc.). Sometimes, these tools are not free and not all students can acquire the license. To help the students, we provide them with a virtual machine on which we install the tools and buy the license. Thus, with a single license, during a session all students in the class will be able to use the software. Figure 14 shows the E-DRAW software for example, used by computer science students to create diagrams, architectures, etc. Each student can therefore connect remotely, use the software to draw his architectures and save his work. We also note that students at the beginning of their studies have difficulty installing certain software because of the limited resources of their computers. So we made SageMath software available to students to allow them to do their simulations remotely without worrying about the performance of their computer.

Transfer of large files
This is about sending very heavy files simply by using drag and drop. It should be specified that the one to whom the file is intended has the ability to accept or reject the heavy file sent. If it chooses to accept the file, the download will start as you can see in Figure 16.

Conclusion and perspective
In this work, we proposed the integration of innovative tools in distance learning devices, based on the protocols WebSocket, MSRP, and the Kamailio media server, to allow the different actors of virtual universities to improve the quality of practical work in online labs. Students from the Virtual University of Senegal were able to use this solution effectively to collaborate in real time on practical work as if they were physically on the Moodle platform. It should be noted that the students of the Virtual University of Senegal are already used to the use of Moodle.It also allows the various actors of the training device to exchange large files thanks to the flexibility of the MSRP protocolThe platform has also been experimented with math students for online tutorials. The result was very satisfying. Two major features in this solution have been very useful for language teachers. This is audio communication and large file transfer in real time. It was helpful for them to truly appreciate the reading and pronunciation skills of their students.
The websocket msrp subprotocol also had a real impact in the implementation of the solution. Indeed, it made it easy to integrate our solution as a Moodle plugin. There was no question of changing the habits of students who are already accustomed to the Moodle GUI.
In our experiments, we used twenty-four students, which allowed us to easily manage the quality of service to users. We plan to use the Computing Cloud and a load-balancing device to manage the scalability, allowing the MOOCs to use our solution.