Add to Services Guide sections
Add sections to the AREDN Services Guide; update index for new sections; expand overview; create first draft of Chat Services section.
This commit is contained in:
parent
ed2c6586d9
commit
586da43fb8
|
@ -0,0 +1,74 @@
|
|||
=============
|
||||
Chat Programs
|
||||
=============
|
||||
|
||||
.. attention:: This section of the documentation is currently a work in progress.
|
||||
|
||||
`Online chat <https://en.wikipedia.org/wiki/Online_chat>`_ programs include any application which transmits short text messages between the sender and receiver. These types of keyboard-to-keyboard messages create an environment similar to a spoken conversation. A chat session may involve one-to-one communication or group chats. These programs are valuable for quick question/answer interactions where immediate replies are important. Timestamped conversation history is typically saved for future reference.
|
||||
|
||||
The following list of applications is not comprehensive or complete, but represents a sample of the types of chat programs that might be available for you to use as services on your mesh network. Only programs with open source licenses were included in this list, although there are commercial chat applications that can also be used.
|
||||
|
||||
MeshChat
|
||||
--------
|
||||
|
||||
MeshChat has become the primary chat service for AREDN |trade| networks because it was written specifically for mesh communication. Users access MeshChat via web browser, and the service runs on the mesh node itself or on a LAN-connected Raspberry Pi computer. After logging in by entering a call sign, send a message by typing into a text box and clicking the *Submit* button. The list of active users is displayed, and every message is visible to all participants on the chat service. Multiple *Zones* and *Channels* are supported for categorizing and separating message traffic.
|
||||
|
||||
The message database is stored on every device where mesh chat is running. Nodes may vary in network connectivity, but as long as at least one node is available the MeshChat database remains intact. Once nodes come online they immediately catch up by retrieving a full copy of the message database. If any new messages are found, they are appended to the local message database.
|
||||
|
||||
In addition to the keyboard-to-keyboard chat feature, MeshChat also allows files to be shared between nodes. Files may be uploaded from or downloaded to the user's computer at any time. If MeshChat is running on a radio node then the file storage is limited to 500kb, but if running on an external computer the file storage is limited only by the size of the disk that is allocated for MeshChat files.
|
||||
|
||||
MeshChat *Action Scripts* also provide for functional extensions, such as sending messages to an SMS gateway for external distribution. It is also possible for action scripts to periodically save the message database for archive purposes or integration with external tools. For additional information about MeshChat, visit this link: `MeshChat <http://www.trevorsbench.com/meshchat-messaging-for-mesh-networks/>`_
|
||||
|
||||
Internet Relay Chat
|
||||
-------------------
|
||||
|
||||
Several implementations of `Internet Relay Chat <https://en.wikipedia.org/wiki/IRCd>`_ are available, either as open source software or in proprietary versions. The Internet Relay Chat Daemon (IRCd) is a server program that listens for connections from IRC client programs, and it brokers the communication between the connected clients. With this client-server architecture, the IRC server must be available on a network link with sufficient bandwidth in order for the clients to function.
|
||||
|
||||
A wide variety of features and functions are available with these and similar chat programs, including various zones, channel types, and user roles. For additional information about IRC services, visit these links: `IRC Servers <https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_daemons>`_ and `IRC Clients <https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients>`_
|
||||
|
||||
Jabber/XMPP
|
||||
-----------
|
||||
|
||||
Originally known as Jabber, `XMPP <https://en.wikipedia.org/wiki/XMPP>`_ servers have been around for a long time but are fully compliant with modern messaging standards thanks to a large community of developers worldwide. These servers provide one-to-one messaging as well as group chat sessions. User lists have activity and presence indicators, and chat history can be archived for later use. There are dozens of feature modules available for XMPP servers which can extend the functionality as needed.
|
||||
|
||||
Two of the most popular XMPP servers are eJabberd and Prosody, but there are many others. For additional information about these services, visit the following links: `eJabberd <https://ejabberd.im/>`_ and `Prosody <https://prosody.im/>`_
|
||||
|
||||
Let's Chat
|
||||
----------
|
||||
|
||||
*Let's Chat* is an open source messaging service for small teams. It provides one-to-one communication between `XMPP <https://en.wikipedia.org/wiki/XMPP>`_ users as well as group messaging and @mentions in a variety of chat rooms. Searchable conversation history is available, in addition to text and image pasting, user activity notifications, and file uploads. User self-registration is configurable on the server. For additional information about Let's Chat, visit this link: `Let's Chat <https://github.com/sdelements/lets-chat>`_
|
||||
|
||||
Mattermost
|
||||
----------
|
||||
|
||||
The *Mattermost Team Edition* is an open source platform that supports mobile and desktop messaging apps. It provides one-to-one and group messaging, file sharing, and message history with search capabilities. It is often described as an open source alternative to the commercial *Slack* communication tool.
|
||||
|
||||
Mattermost provides one-to-one communication as well as group meeting sessions, and @mentions are supported. Channels are available for organizing conversations and they can be topic-based, group-based, or event-based. Notifications indicate user presence and activity. File sharing is provided for PDF and text files, as well as audio, video, and image files. For additional information about Mattermost, visit this link: `Mattermost <https://mattermost.com/>`_
|
||||
|
||||
Matrix - Synapse
|
||||
----------------
|
||||
|
||||
*Synapse* is the "homeserver" implementation of the *Matrix* communication platform. As with a traditional client-server architecture, every user runs a Matrix client that connects to a Synapse server which stores the personal chat history and user account information. However, these servers communicate with each other on the network, which creates a distributed content architecture that minimizes single points of failure.
|
||||
|
||||
Matrix services can provide one-to-one communication channels as well as group chats in a variety of rooms. User presence and typing notifications are supported, as well as chat history and read receipts. Although the Matrix platform is intended to provide end-to-end encryption, it can be run without cryptographic signing. Matrix can also integrate with :abbr:`IRC (Internet Relay Chat)` services, as well as :abbr:`VoIP (Voice over IP)` and video conferencing solutions via `WebRTC <https://en.wikipedia.org/wiki/WebRTC>`_. For additional information about Matrix-Synapse, visit these links: `Matrix Home <https://matrix.org/blog/home/>`_ and `Synapse <https://github.com/matrix-org/synapse>`_
|
||||
|
||||
Example Chat Service Comparison
|
||||
-------------------------------
|
||||
|
||||
Platform abbreviations:
|
||||
win=MS Windows, mac=Apple, linux=Linux, rpi=Raspberry Pi
|
||||
|
||||
=========== ============= ============ ==== ========= ======
|
||||
Program Architecture Network Load Age Platform Effort
|
||||
=========== ============= ============ ==== ========= ======
|
||||
MeshChat mesh aware small new node/rpi easy
|
||||
IRCd server client-server small old all medium
|
||||
Jabber/XMPP client-server small old all medium
|
||||
Let's Chat client-server small new all medium
|
||||
Mattermost client-server medium new linux expert
|
||||
Matrix distributed medium new linux/mac expert
|
||||
=========== ============= ============ ==== ========= ======
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
:ltrim:
|
|
@ -0,0 +1,11 @@
|
|||
==============================
|
||||
Collaborative Document Editing
|
||||
==============================
|
||||
|
||||
.. attention:: This section of the documentation is currently a work in progress.
|
||||
|
||||
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
:ltrim:
|
|
@ -0,0 +1,10 @@
|
|||
==============
|
||||
Email Programs
|
||||
==============
|
||||
|
||||
.. attention:: This section of the documentation is currently a work in progress.
|
||||
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
:ltrim:
|
|
@ -0,0 +1,11 @@
|
|||
=====================
|
||||
File Sharing Programs
|
||||
=====================
|
||||
|
||||
.. attention:: This section of the documentation is currently a work in progress.
|
||||
|
||||
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
:ltrim:
|
|
@ -0,0 +1,11 @@
|
|||
=======================
|
||||
Other Possible Services
|
||||
=======================
|
||||
|
||||
.. attention:: This section of the documentation is currently a work in progress.
|
||||
|
||||
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
:ltrim:
|
|
@ -4,14 +4,23 @@ AREDN Services Overview
|
|||
|
||||
.. attention:: This section of the documentation is a work in progress.
|
||||
|
||||
As mentioned in the AREDN |trade| overview, the purpose of an amateur radio emergency data network is to provide typical Internet or intranet-type applications to people who need to communicate across a wide area during an emergency or community event. An AREDN |trade| network provides the transport mechanism for the types of applications people rely upon to communicate with each other in the normal course of their business and social interactions today. This may include keyboard-to-keyboard chat, email messages with text or image attachments, file transfer, collaborative document sharing, :abbr:`VoIP (Voice over IP)` phone service, video conferencing, GPS tracking, surveillance camera streaming, weather station reporting, sensor monitoring and control, repeater linking, and many other services.
|
||||
As mentioned in the AREDN |trade| overview, the purpose of an amateur radio emergency data network is to provide typical Internet or intranet-type applications to people who need to communicate across a wide area during an emergency or community event. An AREDN |trade| network provides the transport mechanism for the types of programs people rely upon to communicate with each other in the normal course of their business and social interactions today. This may include keyboard-to-keyboard chat, email messages with text or image attachments, file transfer, collaborative document sharing, :abbr:`VoIP (Voice over IP)` phone service, video conferencing, :abbr:`GPS (Global Positioning System)` tracking, surveillance camera streaming, computer aided dispatch, deployed resource management, weather station reporting, sensor monitoring and control, repeater linking, and many other services.
|
||||
|
||||
The purpose for this section of the AREDN |trade| documentation is to identify the types programs that might be useful for communication across a mesh network. Almost any application that can operate across a peer-to-peer TCP/IP network is a candidate for AREDN |trade| networking, but you should carefully select and test your services to ensure they will work within the following restrictions.
|
||||
The purpose for this section of the AREDN |trade| documentation is to identify the types of services that might be useful for communication across a mesh network. Almost any application that can operate across a peer-to-peer TCP/IP network is a candidate for AREDN |trade| networking, but you should carefully select and test your services to ensure they will work within the following guidelines.
|
||||
|
||||
* An important consideration for selecting programs is to understand the impact each service will have on the performance and reliability of the network during the times when digital communication is required.
|
||||
* An important consideration for selecting programs is to understand the impact each service will have on the performance and reliability of the network during the times when digital communication is required. As a best practice, choose programs which require the least amount of computing and network resources in order to operate successfully.
|
||||
|
||||
* It is equally important to choose data services that will meet the criteria defined in FCC Part 97 regulations for amateur radio operators.
|
||||
* It is equally important to choose data services that meet the criteria defined in FCC Part 97 regulations for amateur radio services. Try to avoid programs that use encryption or proprietary compression algorithms, which may be interpreted as "encoding messages for the purpose of obscuring their meaning."
|
||||
|
||||
* As a general rule services should be run on separate LAN-connected computers rather than on the AREDN |trade| node itself. Radio nodes have very limited resources which should be conserved for node operation rather than running extra applications. Try to select external computers that have low power requirements, since many AREDN |trade| deployments are off-grid and without any external network access. Many operators use `Raspberry Pi <https://en.wikipedia.org/wiki/Raspberry_Pi>`_ computers which are small, easy to transport, and require minimal DC power for operation.
|
||||
|
||||
When choosing programs to use as AREDN |trade| services you will probably find that there is more than one way to accomplish your goals. It is crucial to clearly understand the types of communication that are required on your network, and then you will be able to select the best program for the job. Always try to use a program that will cause the least performance impact to your network as it is working to fulfill your communication needs.
|
||||
|
||||
Most TCP/IP programs are designed to use the `Client-Server <https://en.wikipedia.org/wiki/Client%E2%80%93server_model>`_ model, where one or more client applications communicate through a central server or servers distributed hierarchically. These types of programs will operate on a mesh network as long as the server portion is available on a readily accessible network segment with adequate bandwidth.
|
||||
|
||||
There are also programs which have been designed to take advantage of multiple paths between nodes and multiple peer servers coexisting on a mesh network. There are fewer of these mesh-friendly programs, but they will be identified as they appear in the following sections.
|
||||
|
||||
The following sections of this document focus on examples of services that could be offered on your AREDN |trade| network. Programs are grouped by application type, and where possible the network impact of each program will be described in order for you to understand the resources that may be required to use the program as a service on the mesh.
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
================================
|
||||
Video Streaming and Surveillance
|
||||
================================
|
||||
|
||||
.. attention:: This section of the documentation is currently a work in progress.
|
||||
|
||||
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
:ltrim:
|
|
@ -0,0 +1,11 @@
|
|||
=========================
|
||||
VoIP Audio/Video Programs
|
||||
=========================
|
||||
|
||||
.. attention:: This section of the documentation is currently a work in progress.
|
||||
|
||||
|
||||
|
||||
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
:ltrim:
|
|
@ -47,7 +47,13 @@ If you would like to see the documentation for a specific AREDN release, click o
|
|||
:hidden:
|
||||
|
||||
arednServicesGuide/services_overview
|
||||
|
||||
arednServicesGuide/chat_programs
|
||||
arednServicesGuide/email_programs
|
||||
arednServicesGuide/file_sharing
|
||||
arednServicesGuide/voip_programs
|
||||
arednServicesGuide/video_streaming
|
||||
arednServicesGuide/collaborative_editing
|
||||
arednServicesGuide/other_programs
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
|
Loading…
Reference in New Issue