diff --git a/docs/api-cli-commands.md b/docs/administration/cli.md
similarity index 99%
rename from docs/api-cli-commands.md
rename to docs/administration/cli.md
index 43dc6bdeb..5729b3398 100644
--- a/docs/api-cli-commands.md
+++ b/docs/administration/cli.md
@@ -1,8 +1,3 @@
----
-id: api-cli-commands
-title: CLI Commands
----
-
`rctl` is a command line interface for running commands against a **Routr** server. This overview covers `rctl` syntax, describes the command operations and provides common examples. For details about each command, including all the supported flags and subcommands, see the `rctl` reference documentation. This tool is part of Routr installation.
## Syntax
diff --git a/docs/administration/webconsole.md b/docs/administration/webconsole.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/administration/webconsole.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/api-reference.md b/docs/api-reference.md
deleted file mode 100644
index 1c2338cd0..000000000
--- a/docs/api-reference.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-id: api-reference
-title: API Reference
----
-
-Coming soon!!!
diff --git a/docs/api-webconsole.md b/docs/api-webconsole.md
deleted file mode 100644
index 84beec744..000000000
--- a/docs/api-webconsole.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-id: api-webconsole
-title: Web Console
----
-
-Coming soon!
diff --git a/docs/api/reference.md b/docs/api/reference.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/api/reference.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/api-resources.md b/docs/api/resources.md
similarity index 99%
rename from docs/api-resources.md
rename to docs/api/resources.md
index d052aa6e0..2ae6b250f 100644
--- a/docs/api-resources.md
+++ b/docs/api/resources.md
@@ -1,8 +1,3 @@
----
-id: api-resources
-title: Resource Files
----
-
**Routr** API version is currently `v1beta1`. We will continue to improve the API, resource definition, and other artifacts until we reach a final version. We then will establish an update policy to ensure backward compatibility. Until then keep an eye on this document.
## General Configuration
diff --git a/docs/getting-started-routing.md b/docs/concepts.md
similarity index 98%
rename from docs/getting-started-routing.md
rename to docs/concepts.md
index 3e8e8a9f1..05081b518 100644
--- a/docs/getting-started-routing.md
+++ b/docs/concepts.md
@@ -1,8 +1,3 @@
----
-id: getting-started-routing
-title: Traffic Routing
----
-
## Intra-Domain Routing
_Intra-Domain Routing(IDR)_ offers a mechanism for user segmentation. For a small or medium size company a single domain may be sufficient, but for a multinational or an IP telephony service provider, it may not.
diff --git a/docs/configuration/agents.md b/docs/configuration/agents.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/agents.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/dids.md b/docs/configuration/dids.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/dids.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/domains.md b/docs/configuration/domains.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/domains.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/gateways.md b/docs/configuration/gateways.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/gateways.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/general/datasource.md b/docs/configuration/general/datasource.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/general/datasource.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/general/logging.md b/docs/configuration/general/logging.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/general/logging.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/general/restful-api.md b/docs/configuration/general/restful-api.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/general/restful-api.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/general/signaling-security.md b/docs/configuration/general/signaling-security.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/general/signaling-security.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/general/transport.md b/docs/configuration/general/transport.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/general/transport.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/peers.md b/docs/configuration/peers.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/peers.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/configuration/users.md b/docs/configuration/users.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/configuration/users.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/guide-voip-network-setup.md b/docs/guides/basic-setup.md
similarity index 98%
rename from docs/guide-voip-network-setup.md
rename to docs/guides/basic-setup.md
index 5c4b96f95..68782c6b9 100755
--- a/docs/guide-voip-network-setup.md
+++ b/docs/guides/basic-setup.md
@@ -1,8 +1,3 @@
----
-id: guide-voip-network-setup
-title: VoIP Network Setup
----
-
This is a step-by-step guide on VoIP setup at home or at the office. For calls to the PSTN you will need to have a sip provider like `voip.ms` or `didlogic.com`.
**Content**
diff --git a/docs/guides/benchmarking.md b/docs/guides/benchmarking.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/guides/benchmarking.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/guide-routr-as-asterisk-frontend.md b/docs/guides/routr-as-asterisk-frontend.md
similarity index 98%
rename from docs/guide-routr-as-asterisk-frontend.md
rename to docs/guides/routr-as-asterisk-frontend.md
index c0c8ccdc7..64c68f5e7 100644
--- a/docs/guide-routr-as-asterisk-frontend.md
+++ b/docs/guides/routr-as-asterisk-frontend.md
@@ -1,8 +1,3 @@
----
-id: guide-routr-as-asterisk-frontend
-title: Routr as Asterisk Frontend
----
-
This guide explores the use case of using Asterisk merely as a Media Server and a more specialized software, like **Routr**, to take care of the signaling and resource management. In other words, Asterisk will be in charge of the ivrs, voice mail, call recording, while **Routr** deals with connecting Agents, Peers, and Gateways. The following illustration depicts our scenario:
diff --git a/docs/guides/routr-as-freeswitch-frontend.md b/docs/guides/routr-as-freeswitch-frontend.md
new file mode 100644
index 000000000..64c68f5e7
--- /dev/null
+++ b/docs/guides/routr-as-freeswitch-frontend.md
@@ -0,0 +1,129 @@
+This guide explores the use case of using Asterisk merely as a Media Server and a more specialized software, like **Routr**, to take care of the signaling and resource management. In other words, Asterisk will be in charge of the ivrs, voice mail, call recording, while **Routr** deals with connecting Agents, Peers, and Gateways. The following illustration depicts our scenario:
+
+
+
+**Content**
+
+- [Requirements](#requirements)
+- [Configuration Overview](#configuration-overview)
+- [Configuring Asterisk](#configuring-asterisk)
+- [Calling Asterisk from John’s device](#calling-asterisk-from-johns-device)
+- [What’s Next?](#whats-next)
+
+## Requirements
+
+This tutorial assumes the following:
+
+- You have a SIP phone connected to the same LAN where Routr and Asterisk are in.
+- If using a hardware phone, this can reach Asterisk and Routr and the other way around
+- You have a fresh installation of Routr and Asterisk
+
+> Before starting this guide make sure to have a fresh installation of **Routr** server.
+
+## Configuration Overview
+
+With a fresh installation of **Routr** you will have most of the configuration you need to follow this tutorial. We, however, need to make some minor changes to configuration files to run our scenario.
+
+The first file we will examine and change is `config/peers.yml`. Make note of the username and secret for the Peer "ast" since we will be using this to configure Asterisk. Also, search for the field `spec.device` and change it to match the Agents domain(`sip.local`). The file now will look similar to this:
+
+`config/peers.yml`
+
+```yml
+- apiVersion: v1beta1
+ kind: Peer
+ metadata:
+ name: Asterisk PBX
+ spec:
+ device: 'sip.local'
+ credentials:
+ username: ast
+ secret: '1234'
+```
+
+Head to the console and run the command `rctl -- get peers` to confirm that the Peer exist. The result should be as follows:
+
+
+
+Next, we focus our attention to `domains.yml` and `agents.yml`. With a fresh installation, we don't need to make any changes to this files. However, you could run the commands `get domains` and `get agents` to ensure that both, the Agent and the Domain, exist on the server. Your output should look similar to:
+
+
+
+Use the information in `agents.yml` to configure your SIP phone. The relevant information is found in `spec.credentials`. Mine looks like this:
+
+
+
+
+> Make the adjustments based on your prefer SIP phone.
+
+You can verify that your device registered correctly with **Routr** by running the `locate` command:
+
+
+
+## Configuring Asterisk
+
+**Using PJSIP**
+
+Backup your `pjsip.conf` and `pjsip_wizard.conf`. Update your pjsip.conf with the following:
+
+```
+[transport-tcp]
+type=transport
+protocol=tcp
+bind=0.0.0.0:6060
+```
+
+Then, in your pjsip_wizard.conf:
+
+```
+[routr]
+type = wizard
+sends_auth = yes
+sends_registrations = yes
+remote_hosts = 192.168.1.2
+outbound_auth/username = ast
+outbound_auth/password = 1234
+registration/retry_interval = 10
+registration/expiration = 900
+endpoint/allow = ulaw
+endpoint/allow = alaw
+endpoint/allow = opus
+endpoint/context = default
+transport = transport-tcp
+```
+
+**Using the "old" Chan SIP**
+
+First backup your `sip.conf`. Then, replace your configuration and edit the file to reflect the following:
+
+```
+[general]
+udpbindaddr=0.0.0.0:6060
+context=default
+register => ast:1234@192.168.1.2:5060/1001 ; This information must match the credentials in `config/peers.yml`
+```
+
+**Configuring the Dialplan**
+
+We are going to use a very simple dialplan to play a sound file. Again, make a backup of your configuration and replace its content with this:
+
+```
+[default]
+exten => 1001,1,Answer
+exten => 1001,n,Playback(tt-monkeys)
+exten => 1001,n,Hangup
+```
+
+Restart your Asterisk and check the location service. A new device will appear.
+
+
+
+## Calling Asterisk from John's device
+
+We can now call `ast@sip.local` and if everything went well listen to a group of really annoying monkeys :).
+
+## What’s Next?
+
+You can check out the [wiki](https://github.com/fonoster../wiki/Home) to see more examples. If you have any questions start an issue or contact us via:
+
+- Twitter: [@fonoster](https://twitter.com/fonoster)
+- Email: fonosterteam@fonoster.com
diff --git a/docs/guides/running-on-kubernetes.md b/docs/guides/running-on-kubernetes.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/guides/running-on-kubernetes.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/guides/running-with-docker-or-compose.md b/docs/guides/running-with-docker-or-compose.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/guides/running-with-docker-or-compose.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/guide-securing-the-signal.md b/docs/guides/securing-the-signaling-path.md
similarity index 98%
rename from docs/guide-securing-the-signal.md
rename to docs/guides/securing-the-signaling-path.md
index d7cb57864..c23aadc15 100644
--- a/docs/guide-securing-the-signal.md
+++ b/docs/guides/securing-the-signaling-path.md
@@ -1,8 +1,3 @@
----
-id: guide-securing-the-signal
-title: Securing the Signal
----
-
Follow this guide to secure the signaling between your endpoints and **Routr**. Keep in mind that **Routr** will only secure the signaling and that the endpoints are ultimately responsible for securing the media.
> For this guide we will use a fictitious domain name to demonstrate the process of securing the signaling path
diff --git a/docs/index.md b/docs/index.md
index e2e56d2a3..b81279314 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,45 +1,3 @@
----
-id: getting-started-introduction
-title: Undertanding Routr
----
+# Welcome
-**Routr** is a lightweight sip proxy, location server, and registrar that provides a reliable and scalable SIP infrastructure for telephony carriers, communication service providers, and integrators. It also provides with capabilities that are suitable for the enterprise and personal needs. To get involved in the development of this project please contact us at [@fonoster](https://twitter.com/fonoster).
-
-## Features
-
-- Proxy
-- Registrar Service
-- Location Service
-- Call Forking
-- Multi-Tenancy/Multi-Domain
-- Access to the PSTN Using SIP Gateways
-- Transport: TCP, UDP, TLS, WebSocket
-- Data Sources: Redis, Restful API, Files
-- Security
- - Digest SIP User Authentication
- - Domain Access Control List (DACL)
- - RESTful service secured with TLS and JWT tokens
-- Rest API
-- Command Line Tool for Admin Operations
-- Routing Capabilities
- - Intra-Domain Routing (IDR)
- - Domain Ingress Routing(DIR)
- - Domain Egress Routing (DER)
- - Peer Egress Routing (PER)
-
-## Key Concepts
-
-This following table features some important concepts, including the different routing types implemented by the server.
-
-| Concept | Description |
-| -- | -- |
-| User | Users perform administrative actions on the server |
-| Agent | Agents represent SIP endpoints such as softphones and IP phones |
-| Domain | Enables the creation of isolated groups of Agents |
-| Peer | Similar to Agents but without Domain boundaries |
-| Gateway | SIP entity that allows call termination |
-| DID | Routes and translate calls between the PSTN and Routr |
-| Intra-Domain Routing | Routing type for calling within the same Domain |
-| Domain Ingress Routing | Calling from the PSTN to an Agent or Peer |
-| Domain Egress Routing | Calling from an Agent to the PSTN thru a Gateway |
-| Peer Egress Routing | Similar to *DER* but applies only to Peers |
+Use the left-hand nav to find topics of interest.
diff --git a/docs/community.md b/docs/introduction/community.md
similarity index 100%
rename from docs/community.md
rename to docs/introduction/community.md
diff --git a/docs/introduction/comparison.md b/docs/introduction/comparison.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/introduction/comparison.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/faqs.md b/docs/introduction/faq.md
similarity index 100%
rename from docs/faqs.md
rename to docs/introduction/faq.md
diff --git a/docs/introduction/glossary.md b/docs/introduction/glossary.md
new file mode 100644
index 000000000..f5027c3f1
--- /dev/null
+++ b/docs/introduction/glossary.md
@@ -0,0 +1,14 @@
+This following table features some important concepts, including the different routing types implemented by the server.
+
+| Concept | Description |
+| -- | -- |
+| User | Users perform administrative actions on the server |
+| Agent | Agents represent SIP endpoints such as softphones and IP phones |
+| Domain | Enables the creation of isolated groups of Agents |
+| Peer | Similar to Agents but without Domain boundaries |
+| Gateway | SIP entity that allows call termination |
+| DID | Routes and translate calls between the PSTN and Routr |
+| Intra-Domain Routing | Routing type for calling within the same Domain |
+| Domain Ingress Routing | Calling from the PSTN to an Agent or Peer |
+| Domain Egress Routing | Calling from an Agent to the PSTN thru a Gateway |
+| Peer Egress Routing | Similar to *DER* but applies only to Peers |
diff --git a/docs/getting-started-installation.md b/docs/introduction/installation.md
similarity index 96%
rename from docs/getting-started-installation.md
rename to docs/introduction/installation.md
index eb4b95098..8a4ec0fe7 100644
--- a/docs/getting-started-installation.md
+++ b/docs/introduction/installation.md
@@ -1,8 +1,3 @@
----
-id: getting-started-installation
-title: Installation
----
-
There are no special requirements to install the server. Just download, decompress, and move the folder to a location of your choice.
## Download the Server
diff --git a/docs/introduction/media.md b/docs/introduction/media.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/introduction/media.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/introduction/overview.md b/docs/introduction/overview.md
new file mode 100644
index 000000000..62905e1ae
--- /dev/null
+++ b/docs/introduction/overview.md
@@ -0,0 +1,23 @@
+**Routr** is a lightweight sip proxy, location server, and registrar that provides a reliable and scalable SIP infrastructure for telephony carriers, communication service providers, and integrators. It also provides with capabilities that are suitable for the enterprise and personal needs. To get involved in the development of this project please contact us at [@fonoster](https://twitter.com/fonoster).
+
+## Features
+
+- Proxy
+- Registrar Service
+- Location Service
+- Call Forking
+- Multi-Tenancy/Multi-Domain
+- Access to the PSTN Using SIP Gateways
+- Transport: TCP, UDP, TLS, WebSocket
+- Data Sources: Redis, RESTful API, Files
+- Security
+ - Digest SIP User Authentication
+ - Domain Access Control List (DACL)
+ - RESTful service secured with TLS and JWT tokens
+- Rest API
+- Command Line Tool for Admin Operations
+- Routing Capabilities
+ - Intra-Domain Routing (IDR)
+ - Domain Ingress Routing(DIR)
+ - Domain Egress Routing (DER)
+ - Peer Egress Routing (PER)
diff --git a/docs/introduction/roadmap.md b/docs/introduction/roadmap.md
new file mode 100644
index 000000000..6863c0981
--- /dev/null
+++ b/docs/introduction/roadmap.md
@@ -0,0 +1 @@
+Coming soon!
diff --git a/docs/theme/partials/header.html b/docs/theme/partials/header.html
index 6b9d4742b..b12596730 100644
--- a/docs/theme/partials/header.html
+++ b/docs/theme/partials/header.html
@@ -9,7 +9,9 @@
display: flex;
position: fixed;
width: 100%;
- font-family:Arial;
+ font-family: Arial;
+ transition: background-color 0.25s, color 0.25s, box-shadow 0.25s;
+ box-shadow: 0 0 6px rgba(0,0,0,.35);
}
.topnav a {