Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chadxz/asterisk-playground

A sandbox to tinker with Asterisk and its many interfaces
https://github.com/chadxz/asterisk-playground

ansible asterisk javascript nodejs vagrant

Last synced: 2 months ago
JSON representation

A sandbox to tinker with Asterisk and its many interfaces

Awesome Lists containing this project

README

        

# asterisk-playground

Vagrant + Ansible scripts for setting up an Asterisk instance on a ubuntu/xenial
virtual machine. Comes with Dockerized Asterisk and a Node.js AGI + ARI app.

-----

### pre-reqs

Things you'll need locally for Ansible

- An [ssh key](https://help.github.com/articles/generating-an-ssh-key/)
- [Python 3](https://www.python.org/downloads/) installed. On Mac I use [homebrew](https://brew.sh/).
- [pipx](https://github.com/pipxproject/pipx) installed. On Mac I use [homebrew](https://brew.sh/).
- [virtualenv](https://virtualenv.pypa.io/en/latest/installation.html) installed. Using pipx above.

- Ensure you have an [ssh key](https://help.github.com/articles/generating-an-ssh-key/)

- Ensure you have Python 2.7.x installed. (Installed by default on OSX)

- Ensure you have homebrew installed.

```/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"```

- Install Python pip package manager.

```easy_install pip```

- Use pip to install Ansible.

```pip install ansible```

- Install virtualbox and vagrant.

```brew cask install virtualbox vagrant```

- Start the virtual machine with `vagrant up`

### deploying the system

To setup the vm from scratch:

```
$ make
```

Once deployed to, you can ssh into it:

```
$ ssh 192.168.68.68
```

To upgrade the asterisk box or agi+ari application:

```
$ make deploy
```

### accessing the system

Once deployed, a few services will be available on the vm:

- cAdvisor will be running, providing monitoring for the system and
containers. Access this at
[http://192.168.68.68:8080/containers/](http://192.168.68.68:8080/containers/)

- SwaggerUi will be running at
[http://192.168.68.68:1337](http://192.168.68.68:1337) pointing at Asterisk.

- Asterisk will be running. Point a sip client at 192.168.68.68 using the
credentials from [asterisk/conf/pjsip.conf](asterisk/conf/pjsip.conf).

- The 'call-control' node app will be running, but it only interacts with Asterisk
and exposes no public facing ui.

- To view logs of any application, ssh into the box with `vagrant ssh playground`
and use `docker ps` to view the container statuses and `docker logs `
to view logs of any individual container. For Asterisk, you can access the console
using the command `docker exec -ti asterisk asterisk -c`