Howto Freepbx container
install docker
first we need to install docker and docker compose:
https://wiki.vidalinux.org/index.php/Howto_docker
create your own ssl cert
create rsa key:
openssl genrsa -out server.key 3072
create certificate csr:
openssl req -new -key server.key -out server.csr
fill the following blanks:
Country Name (2 letter code) []: US State or Province Name (full name) []: Puerto Rico Locality Name (eg, city) []: San Juan Organization Name (eg, company) []: Vidalinux.com Corp. Organizational Unit Name (eg, section) []: Linux Consulting Common Name (eg, your name or your server's hostname) []: freepbx.ovox.io Email Address []: asterisk@ovox.io Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: just press enter An optional company name []: just press enter
create the certificate:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
deploy freepbx container
clone the following repo from github:
git clone https://github.com/vidalinux/docker.git
enter docker-freepbx directory:
cd docker/docker-freepbx
create certs directory and add your domain name ssl certificate and key:
mkdir certs cp server.crt server.key certs/
fix sql directory permissions:
chmod 755 -R sql/
if you want to change container parameters you need to edit docker-compose.yml file:
vi docker-compose.yml
deploy freepbx container using docker-compose:
docker-compose up -d
view containers deployment log using this command:
docker-compose logs -f
callcentric account
go to callcentric and create and account:
https://callcentric.com
add outbound plan to your account:
https://www.callcentric.com/rate/plans/
add inbound plan to your account:
https://www.callcentric.com/did/
change extension password:
https://my.callcentric.com/extensions.php
forward your inbound calls to your extension:
https://my.callcentric.com/pref_callforward.php
accesss freepbx interface
edit /etc/hosts to add your domain name matching your ssl certificates:
192.168.75.2 freepbx.ovox.io
enter freepbx interface using your domain:
https://freepbx.ovox.io
debug or troubleshoot
to enter freepbx_server container environment:
docker exec -it freepbx_server bash
inside the container to view asterisk server logs:
asterisk -vvr
turn on debug:
asterisk -r core set verbose 5 core set debug 5 sip set debug on module logger reload
revert debug settings:
asterisk -r core set verbose 0 core set debug 0 sip set debug off module logger reload
show iax2 extentions:
iax2 show peers
show sip trunks registrations:
pjsip show registrations
show all commands help:
core show help
configure freepbx
add iax2 extension:
user extension: 101 display name 101 outbound cid: 77777777 secret: mypassword
add pjsip trunk:
PJSIP Trunk / General
trunk name: callcentric outbound callerid: 77777777 maximum channels: 5
PJSIP Trunk / Dial Number Manipulation Rules
( 1 ) | [ 787. ] ( 1 ) | [ 939. ]
PJSIP Trunk / pjsip Settings / General
username: 1777xxxxxxx secret: mypassword sip server: sip.callcentric.net context: from-pstn
PJSIP Trunk / pjsip Settings / Advanced
send line in registration: yes send connected line: no permanent auth rejection: no user = phone: no from domain: sip.callcentric.net from user: 1777xxxxxxx
configure outbound routes on freepbx:
Outbound Routes / Route Settings
route name: callcentric-outgoing override extension: no trunk sequence for matched routes: callcentric
Outbound Routes / Dial Patterns
( ) | [ 1NXXNXXXXXX ] ( 1 ) | [ 787. ] ( 1 ) | [ 939. ]
configure inbound routes on freepbx:
description: callcentric-incoming did number: ANY callid number: ANY cid priority route: no set destination: Extensions / 101
install iax2 client
install zoiper client on archlinux:
yay -S zoiper
download zoiper client for debian:
https://www.zoiper.com/en/voip-softphone/download/zoiper5/for/linux-deb
install zoiper client on debian:
dpkg -i Zoiper5_5.6.1_x86_64.deb
download zoiper client for rhel:
https://www.zoiper.com/en/voip-softphone/download/zoiper5/for/linux-rpm
install zoiper client on rhel:
yum install -y Zoiper5_5.6.1_x86_64.rpm
download zoiper client for windows:
https://www.zoiper.com/en/voip-softphone/download/zoiper5/for/windows