Skip to content

Commit

Permalink
Change docs structure
Browse files Browse the repository at this point in the history
  • Loading branch information
Fonoster Team committed Dec 31, 2018
1 parent 1611024 commit 4dc3390
Show file tree
Hide file tree
Showing 35 changed files with 190 additions and 92 deletions.
5 changes: 0 additions & 5 deletions docs/api-cli-commands.md → docs/administration/cli.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
1 change: 1 addition & 0 deletions docs/administration/webconsole.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
6 changes: 0 additions & 6 deletions docs/api-reference.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/api-webconsole.md

This file was deleted.

1 change: 1 addition & 0 deletions docs/api/reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
5 changes: 0 additions & 5 deletions docs/api-resources.md → docs/api/resources.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 0 additions & 5 deletions docs/getting-started-routing.md → docs/concepts.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
1 change: 1 addition & 0 deletions docs/configuration/agents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/dids.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/domains.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/gateways.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/general/datasource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/general/logging.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/general/restful-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/general/signaling-security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/general/transport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/peers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/configuration/users.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
Original file line number Diff line number Diff line change
@@ -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**
Expand Down
1 change: 1 addition & 0 deletions docs/guides/benchmarking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
Original file line number Diff line number Diff line change
@@ -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:

<img src="/docs/assets/images/peering_ilustration.png" width=600 vspace=50>
Expand Down
129 changes: 129 additions & 0 deletions docs/guides/routr-as-freeswitch-frontend.md
Original file line number Diff line number Diff line change
@@ -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:

<img src="/docs/assets/images/peering_ilustration.png" width=600 vspace=50>

**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:

<img src="/docs/assets/images/get_peers_cmd_output.png" width=600 >

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:

<img src="/docs/assets/images/get_domains_and_agents.png" width=600 >

Use the information in `agents.yml` to configure your SIP phone. The relevant information is found in `spec.credentials`. Mine looks like this:

<img src="/docs/assets/images/john_telephone_setup_general.png" width=500 >
<img src="/docs/assets/images/john_telephone_setup_advanced.png" width=500 >

> Make the adjustments based on your prefer SIP phone.

You can verify that your device registered correctly with **Routr** by running the `locate` command:

<img src="/docs/assets/images/locate_john.png" width=600 >

## 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:[email protected]: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.

<img src="/docs/assets/images/locate_john_and_ast.png" width=600 >

## Calling Asterisk from John's device

We can now call `[email protected]` 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: [email protected]
1 change: 1 addition & 0 deletions docs/guides/running-on-kubernetes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
1 change: 1 addition & 0 deletions docs/guides/running-with-docker-or-compose.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
Original file line number Diff line number Diff line change
@@ -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
Expand Down
46 changes: 2 additions & 44 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -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.
File renamed without changes.
1 change: 1 addition & 0 deletions docs/introduction/comparison.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
File renamed without changes.
14 changes: 14 additions & 0 deletions docs/introduction/glossary.md
Original file line number Diff line number Diff line change
@@ -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 |
Original file line number Diff line number Diff line change
@@ -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
Expand Down
1 change: 1 addition & 0 deletions docs/introduction/media.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
23 changes: 23 additions & 0 deletions docs/introduction/overview.md
Original file line number Diff line number Diff line change
@@ -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)
1 change: 1 addition & 0 deletions docs/introduction/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coming soon!
4 changes: 3 additions & 1 deletion docs/theme/partials/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 4dc3390

Please sign in to comment.