Posts

VOIP Project: Design application - Part 5

Image
In this part we will see in details the UML diagram of the application which will be developed during this project and the specifications of this diagram. In the figure 1 bellow is shown a preview of the class diagram of the application developed with Qt Creator using PJSIP library. In the diagram below are omitted other external classes which are not used directly by the application. On top of figure 4, within the grey rectangle, are shown the classes of Qt library which are extended by the created classes by the programmer. The QMainWindow is a class which provides a framework for building a graphical view, this is the reason why this class is extended by Login and MainWindow classes. The other class, QObject is a base class for many classes in Qt. It provides a wide set of features. The QObject class is extended by SipPhoneImpl class as well because of usage of signals, which will be explained more in deep in the upcoming paragraphs. Figure 4: Class diagram preview In the ...

VOIP Project: Understanding VOIP - Part 4

Image
In order to be able to continue developing further more the VOIP system we need to know which are the components that can be used to build a VOIP system and how they are implemented. In the book titled “Packet Guide to Voice over IP” VOIP is: “…exactly what the name indicates—sending voice (and video) over an IP-based network. This is completely different than the circuit-switched public telephone network…” ( Hartpence, 2013, p. 2). The fact that VOIP “…is completely different than the circuit-switched public tele‐ phone network…” ( Hartpence, 2013, p. 2)makes it possible to do things that are not possible with the standard telephony system, like programming customized applications based on individual needs. VOIP does not only allows to transmit voice over IP but video as well, and this makes communication through VOIP even richer in features. Comparison with traditional telephony VOIP gives the opportunity to use internet connection in order to implement system, while the trad...

Exercise Intermediate, part 4: Chat application - Complete chat

Image
This part is a continuation of Exercise Intermediate, part 3: Chat application - Register and Login so before starting this part of the exercise make sure to have completed the part 3 first. At part 3 we managed to open an empty chat window. In this part we will work with that window in order to add the chat functionality there. We should start by creating the graphical user interface. In order to do so we need to change the view of chat window as shown in the figure 1. Figure 1: Organize GUI of chat window After adding the graphical elements on the chat window as shown in figure 1, we need to remove the default items from the list where we will show the users. In order to be able to do so, we need to click on the list and at the properties panel, at the model attribute, we need to click the button with 3 dots as shown in the figure 2. Figure 2: Open list model At the window that pops up shown in figure 3, we need to remove all the elements and than press OK. Figure 3: Clea...

Exercise Intermediate, part 3: Chat application - Register and Login

Image
This part is a continuation of Exercise Intermediate, part 2: Chat application - Complete DatabaseInteraction so before starting this part of the exercise make sure to have completed the part 2 first. First let's create the Login form. In order to do so, we need to follow the same steps as we do to create when creating a normal class, except of choosing Java Class... we need to choose JFrame Form... as shown in the figure 1. Figure 1: Create JFrame Form for the Login After we follow the steps shown above we need to give a name to the JFrame Form as shown in the figure 2. Figure 2: Give Login name to the JFrame Form After we create the Login form we need to create its layout. We need to add 3 labels, 1 for the username, 1 for password and 1 to display the errors. We need also 1 text field and one password field in order to get input from the user and in the end we need to add the login button as shown in the figure 3. Figure 3: Create the layout of the login form In or...