A distributed messaging application with SIP protocol.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
A distributed messaging application with SIP protocol. This project includes both the server and the client. The server has an overlay what is implemented with Java EE/Socket IO, and an underlay that is implemented with C++.
To get a local copy up and running follow these simple steps.
- Make sure that there are only two interfaces lo and enps03
- To make sure use ifconfig command and remove other interfaces with following commands:
sudo ifconfig INTERFACE_NAME downsudo brctl delbr INTERFACE_NAME- Clone the repo
git clone https://github.com/arshiahsn/distributed-telegram.git
- Install Boost Library for C++ and MySQL
- Go to the UnderlayServer and run following commands:
mysql -u root -p sip < sip.sql
cp distributed_system_sip_update_server distributed_system_sip_update_command /usr/src/
cd /usr/src/distributed_system_sip_update_server- Compile the underlay server using following command:
g++ -I/usr/include/mysql -L/usr/lib64/mysql -I/root/Downloads/boost_1_60_0 -L/root/Downloads/boost_1_60_0/stage/lib -lmysqlclient -lboost_system -lboost_thread -lboost_date_time update_server.cpp message.cpp mysql_server.cpp -o server- Go to the next folder and run the command:
cd /usr/src/distributed_system_sip_update_command
g++ main.cpp -o update_server- Make symlinks to run:
cd /usr/bin/
ln -s /usr/src/distributed_system_sip_update_command/update_server update_server
ln -s /usr/src/distributed_system_sip_update_server/server serve- Copy Serverv4.jar in the command folder:
cp Server.jar /usr/src/distributed_system_sip_update_command/
(Make sure that both Server.jar and Client.jar are on the VM if you are testing)- Use the following command to run the underlay server:
server- Use this command to run the sip server:
cd /usr/src/distributed_system_sip_update_command
java -jar Server.jar- Use the following command to run the client:
java -jar Client.jar- Decentralized and hierarchical design
- Scalable and reliable
- Supporting redundancy
- Delivery report, registration success report, User not found report
- Fast and optimized
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Your Name - @400_bad_req - arshiahsn@gmail.com
Project Link: https://github.com/arshiahsn/simple_api