Browse Source

removido docker react para testes e implementado adaptacoes para video no sip general webrtc

master
Matheo Bonucia 3 months ago
parent
commit
ba3e1a4b56
  1. 102
      version_1.8-reactNative/README.md
  2. 32
      version_1.8-reactNative/docker-compose.yml
  3. 26
      version_1.8-reactNative/env_example
  4. 67
      version_1.8-reactNative/pabx/Dockerfile
  5. BIN
      version_1.8-reactNative/pabx/asterisk/var_lib_asterisk/astdb.sqlite3
  6. 48
      version_1.8-reactNative/pabx/build-asterisk_php.sh
  7. 20
      version_1.8-reactNative/pabx/certificados/RootCA.crt
  8. 28
      version_1.8-reactNative/pabx/certificados/RootCA.key
  9. 20
      version_1.8-reactNative/pabx/certificados/RootCA.pem
  10. 1
      version_1.8-reactNative/pabx/certificados/RootCA.srl
  11. 7
      version_1.8-reactNative/pabx/certificados/domains.ext
  12. 21
      version_1.8-reactNative/pabx/certificados/localhost.crt
  13. 17
      version_1.8-reactNative/pabx/certificados/localhost.csr
  14. 28
      version_1.8-reactNative/pabx/certificados/localhost.key
  15. 18
      version_1.8-reactNative/pabx/config-docker.php
  16. 40
      version_1.8-reactNative/pabx/config_network
  17. 40
      version_1.8-reactNative/pabx/crontab.sh
  18. 31
      version_1.8-reactNative/pabx/docker-entrypoint.sh
  19. 100
      version_1.8-reactNative/pabx/etc/apache2/sites-available/pabx_simples.conf
  20. 0
      version_1.8-reactNative/pabx/etc/asterisk/.asterisk.conf.swp
  21. 3
      version_1.8-reactNative/pabx/etc/asterisk/.asterisk.conf.swp:Zone.Identifier
  22. 0
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swk
  23. 3
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swk:Zone.Identifier
  24. 0
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swl
  25. 3
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swl:Zone.Identifier
  26. 0
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swm
  27. 3
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swm:Zone.Identifier
  28. 0
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swn
  29. 3
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swn:Zone.Identifier
  30. 0
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swo
  31. 3
      version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swo:Zone.Identifier
  32. 1583
      version_1.8-reactNative/pabx/etc/asterisk/1
  33. 80
      version_1.8-reactNative/pabx/etc/asterisk/acl.conf
  34. 8
      version_1.8-reactNative/pabx/etc/asterisk/adsi.conf
  35. 70
      version_1.8-reactNative/pabx/etc/asterisk/agents.conf
  36. 91
      version_1.8-reactNative/pabx/etc/asterisk/alarmreceiver.conf
  37. 77
      version_1.8-reactNative/pabx/etc/asterisk/alsa.conf
  38. 31
      version_1.8-reactNative/pabx/etc/asterisk/amd.conf
  39. 24
      version_1.8-reactNative/pabx/etc/asterisk/app_mysql.conf
  40. 27
      version_1.8-reactNative/pabx/etc/asterisk/app_skel.conf
  41. 30
      version_1.8-reactNative/pabx/etc/asterisk/ari.conf
  42. 63
      version_1.8-reactNative/pabx/etc/asterisk/ast_debug_tools.conf
  43. 158
      version_1.8-reactNative/pabx/etc/asterisk/asterisk.adsi
  44. 123
      version_1.8-reactNative/pabx/etc/asterisk/asterisk.conf
  45. 109
      version_1.8-reactNative/pabx/etc/asterisk/calendar.conf
  46. 205
      version_1.8-reactNative/pabx/etc/asterisk/ccss.conf
  47. 166
      version_1.8-reactNative/pabx/etc/asterisk/cdr.conf
  48. 59
      version_1.8-reactNative/pabx/etc/asterisk/cdr_adaptive_odbc.conf
  49. 14
      version_1.8-reactNative/pabx/etc/asterisk/cdr_custom.conf
  50. 15
      version_1.8-reactNative/pabx/etc/asterisk/cdr_manager.conf
  51. 62
      version_1.8-reactNative/pabx/etc/asterisk/cdr_mysql.conf
  52. 12
      version_1.8-reactNative/pabx/etc/asterisk/cdr_odbc.conf
  53. 16
      version_1.8-reactNative/pabx/etc/asterisk/cdr_pgsql.conf
  54. 10
      version_1.8-reactNative/pabx/etc/asterisk/cdr_sqlite3_custom.conf
  55. 83
      version_1.8-reactNative/pabx/etc/asterisk/cdr_syslog.conf
  56. 77
      version_1.8-reactNative/pabx/etc/asterisk/cdr_tds.conf
  57. 116
      version_1.8-reactNative/pabx/etc/asterisk/cel.conf
  58. 35
      version_1.8-reactNative/pabx/etc/asterisk/cel_custom.conf
  59. 108
      version_1.8-reactNative/pabx/etc/asterisk/cel_odbc.conf
  60. 68
      version_1.8-reactNative/pabx/etc/asterisk/cel_pgsql.conf
  61. 24
      version_1.8-reactNative/pabx/etc/asterisk/cel_sqlite3_custom.conf
  62. 69
      version_1.8-reactNative/pabx/etc/asterisk/cel_tds.conf
  63. 1720
      version_1.8-reactNative/pabx/etc/asterisk/chan_dahdi.conf
  64. 69
      version_1.8-reactNative/pabx/etc/asterisk/chan_mobile.conf
  65. 12
      version_1.8-reactNative/pabx/etc/asterisk/cli.conf
  66. 203
      version_1.8-reactNative/pabx/etc/asterisk/cli_aliases.conf
  67. 82
      version_1.8-reactNative/pabx/etc/asterisk/cli_permissions.conf
  68. 211
      version_1.8-reactNative/pabx/etc/asterisk/codecs.conf
  69. 395
      version_1.8-reactNative/pabx/etc/asterisk/confbridge.conf
  70. 46
      version_1.8-reactNative/pabx/etc/asterisk/config_test.conf
  71. 97
      version_1.8-reactNative/pabx/etc/asterisk/console.conf
  72. 34
      version_1.8-reactNative/pabx/etc/asterisk/dbsep.conf
  73. 5
      version_1.8-reactNative/pabx/etc/asterisk/dnsmgr.conf
  74. 42
      version_1.8-reactNative/pabx/etc/asterisk/dsp.conf
  75. 275
      version_1.8-reactNative/pabx/etc/asterisk/dundi.conf
  76. 22
      version_1.8-reactNative/pabx/etc/asterisk/enum.conf
  77. 111
      version_1.8-reactNative/pabx/etc/asterisk/extconfig.conf
  78. 456
      version_1.8-reactNative/pabx/etc/asterisk/extensions.ael
  79. 882
      version_1.8-reactNative/pabx/etc/asterisk/extensions.conf
  80. 240
      version_1.8-reactNative/pabx/etc/asterisk/extensions.lua
  81. 158
      version_1.8-reactNative/pabx/etc/asterisk/extensions_minivm.conf
  82. 122
      version_1.8-reactNative/pabx/etc/asterisk/features.conf
  83. 34
      version_1.8-reactNative/pabx/etc/asterisk/festival.conf
  84. 107
      version_1.8-reactNative/pabx/etc/asterisk/followme.conf
  85. 112
      version_1.8-reactNative/pabx/etc/asterisk/func_odbc.conf
  86. 32
      version_1.8-reactNative/pabx/etc/asterisk/hep.conf
  87. 133
      version_1.8-reactNative/pabx/etc/asterisk/http.conf
  88. 665
      version_1.8-reactNative/pabx/etc/asterisk/iax.conf
  89. 80
      version_1.8-reactNative/pabx/etc/asterisk/iaxprov.conf
  90. 747
      version_1.8-reactNative/pabx/etc/asterisk/indications.conf
  91. 23
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.crt
  92. 16
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.csr
  93. 27
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.key
  94. 50
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.pem
  95. 10
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/ca.cfg
  96. 29
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/ca.crt
  97. 54
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/ca.key
  98. 8
      version_1.8-reactNative/pabx/etc/asterisk/keys-old/tmp.cfg
  99. 23
      version_1.8-reactNative/pabx/etc/asterisk/keys/asterisk.crt
  100. 16
      version_1.8-reactNative/pabx/etc/asterisk/keys/asterisk.csr
  101. Some files were not shown because too many files have changed in this diff Show More

102
version_1.8-reactNative/README.md

@ -1,102 +0,0 @@
# Configuração do PABX versão 1.8 no docker
Inicie a aplicação PABX de maneira fácil e sincronizada.
## Preparando o ambiente no Windows
### Configurando o WSL
- Certifique-se de que o WSL2 está instalado no Windows. Caso não esteja, siga a documentação para realizar a instalação: [Instalação do WSL2](https://learn.microsoft.com/pt-br/windows/wsl/install).
Após a instalação do WSL2, instale uma distribuição Linux.
* Recomendamos a utilização do Debian. Para isso, execute o seguinte comando no PowerShell:
```bash
wsl --install -d Debian
```
* Em seguida, digite o seguinte comando no PowerShell para entrar em uma instância do Debian:
```bash
wsl -d Debian
```
### Desabilite o Firewall e o Defender do Windows
Para conseguir realizar o download de alguns repositórios.
## Clonando o repositório
* Clone o projeto: docker-pabx-app.
```bash
git clone http://192.168.115.233:3000/SimplesIP/docker-pabx-app.git
```
## Deploy
* Entre no diretório que contém os arquivos de inicialização do container.
```bash
cd docker-pabx-app/debian
```
Crie uma cópia do arquivo 'env-example' com o nome de '.env'.
```bash
cp env-example .env
```
Defina as variáveis dentro do arquivo .env:
- pasta_do_projeto - a pasta onde se encontra o projeto PABX.
- pasta_do_postgresql11 - onde deverá sincronizar o banco de dados.
- postgresql_version - por agora, não deve mudar o valor.
### Execute o container com o docker-compose:
```bash
sudo docker-compose up -d
```
Esse comando tentará compilar e levantar container.
## FAQ
* ### Configurar rota do endereço SIP?
Acesse a página `<ip>:8080/config-docker.php`. Essa página vai configurar o IP no arquivo `/etc/sip_generera.conf` e carregá-lo no Asterisk. Não deve usar "localhost", pois o endereço será do container. É necessário usar o endereço do host para acessar esta página config-docker.php.
* ### Para que serve o arquivo `.env` ?
Serve para definir variáveis a serem usadas no compose. Leia o arquivo '.env-example' para mais informações.
* ### Quais arquivos estão sicronizados ?
Grande parte dos arquivos do projeto estão sincronizados, porém existe os arquivos que não estão sincronizados. Os arquivos não sincronizados serão apagados quando seu container for encerrado e reescritos pelos arquivos da imagem quando o container for iniciado.
Não sincronizados:
- `/etc/asterisk` - Sem sincronização na pasta
- `/etc/init.d/cnvrtd` - sem sincronização no arquivo
- `/etc/init.d/rtabd` - sem sincronização no arquivo
- `/etc/init.d/supervisor` - sem sincronização no arquivo
Sincronizados:
- `/var/lib/postgresql/data` - Sincronizado os arquivo do banco de dados
- `/var/www/html/aplicativo` - Sincronizado
- `/var/www/html/include` - sincronizado
- `/var/lib/asterisk/` - sincronizado
- `/hdaux/utilitarios/scripts` - sincronizado
Obs:
- `/projeto/base` será replicado no container postgres `/base` para poder puxar o banco de dados.
### É necessário executar algo depois da build?
Não, todo o processo é automático. Porém, é preciso acessar `<ip>:8080/config-docker.php`, que fará o reconhecimento do IP e irá defini-lo para o protocolo SIP.
* ### Qual as portas ?
- `8080` - apache (web)
- `5432` - postgresql
- `5038` - asterisk (ami)
- `5060` - asterisk (sip)
- `10000-10030` - asterisk (RTP)
* ### Se o pabx criar arquivos que não estão no projeto gitea?
Coloque em `.gitignore` e mande a correção.

32
version_1.8-reactNative/docker-compose.yml

@ -1,32 +0,0 @@
version: '3.7'
networks:
working:
driver: bridge
services:
react-app:
build:
context: pabx
restart: always
container_name: v1.8-reactNative
working_dir: /usr/src/
ports:
- 5038:5038
- "5060:5060/tcp"
- "5060:5060/udp"
- "5061:5061/tcp"
- "5061:5061/udp"
- "8088:8088/tcp"
- "10000-10030:10000-10030/udp"
- 4443:443
- 8089:8089
privileged: true
stdin_open: true
tty: true
networks:
- working
volumes:
- ./pabx/etc/asterisk/:/etc/asterisk/
- ./pabx/certificados/:/usr/src/certificates
- ${pasta_do_projeto}/asterisk/var_lib_asterisk/:/var/lib/asterisk/
- ${pasta_do_projeto}/asterisk/hdaux_utilitarios_scripts/:/hdaux/utilitarios/scripts

26
version_1.8-reactNative/env_example

@ -1,26 +0,0 @@
# Pasta aonde está o projeto pabx para ser sincronizado no container
#
# Exemplo:
#pasta_do_projeto=/home/user/source_pabx
#pasta_do_projeto=c://Usuario/User/source_pabx
pasta_do_projeto=""
# Pasta do host para sincronizar a pasta /var/lib/pgsql/data (versão 13)
# Isso será usada para manter o banco de dados caso queira levantar
# outra instância.
#
# Essa pasta pode ser enviado ao repositório caso queira compartilhar
# o banco
pasta_do_postgresql=""
# ID do usuário para ter acesso ao volume
# Esse id_user é para poder ter acesso ao volume sem a necessidade de se tornar root
# Será modificado o id dos usuários postgres e pbx
# Para saber seu id é o comando 'id -u'.
id_user="1000"

67
version_1.8-reactNative/pabx/Dockerfile

@ -1,67 +0,0 @@
FROM debian:bullseye
RUN apt-get update && apt-get install -y \
build-essential \
vim \
htop \
wget \
libssl-dev \
libncurses5-dev \
uuid-dev \
libjansson-dev \
libxml2-dev \
sqlite3 \
libsqlite3-dev \
pkg-config \
subversion \
libsrtp2-dev \
curl \
git \
python3 \
python3-pip \
openjdk-17-jdk \
unzip \
lib32stdc++6 \
lib32z1 \
libglu1-mesa \
libopus-dev \
libvpx-dev \
xmlstarlet \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
#Instalar o Asterisk
RUN wget https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-13.38.3.tar.gz \
&& tar xzf asterisk-13.38.3.tar.gz \
&& rm asterisk-13.38.3.tar.gz \
&& cd asterisk-13.38.3 \
&& ./configure --with-pjproject-bundled --with-srtp=/usr/include/srtp2 \
&& make menuselect.makeopts \
&& menuselect/menuselect --disable chan_pjsip \
--enable chan_sip \
--enable cdr_csv \
--enable func_cdr \
--enable cdr_pgsql \
--enable codec_opus \
--enable res_format_attr_opus \
--enable res_crypto \
--enable res_http_websocket \
--enable res_ari \
--enable res_stasis \
--enable res_stun_monitor \
--enable res_phoneprov \
--enable res_odbc \
--enable res_srtp \
menuselect.makeopts \
&& make -j$(nproc) \
&& make install \
&& make config \
&& ldconfig
#Expor portas necessarias
EXPOSE 8088
ENTRYPOINT ["/usr/sbin/asterisk"]
CMD ["-f"]

BIN
version_1.8-reactNative/pabx/asterisk/var_lib_asterisk/astdb.sqlite3

Binary file not shown.

48
version_1.8-reactNative/pabx/build-asterisk_php.sh

@ -1,48 +0,0 @@
FROM debian:bullseye
RUN apt-get update && apt-get install -y \
build-essential \
wget \
libssl-dev \
libncurses5-dev \
uuid-dev \
libjansson-dev \
libxml2-dev \
sqlite3 \
libsqlite3-dev \
pkg-config \
subversion \
libsrtp2-dev \ # Instalação da biblioteca libsrtp2-dev
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
RUN wget https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-13.38.3.tar.gz \
&& tar xzf asterisk-13.38.3.tar.gz \
&& rm asterisk-13.38.3.tar.gz \
&& cd asterisk-13.38.3 \
&& ./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-srtp=/usr/include/srtp2
&& make menuselect.makeopts \
&& menuselect/menuselect --disable chan_pjsip \
--enable chan_sip \
--enable cdr_csv \
--enable func_cdr \
--enable cdr_pgsql \
--enable codec_opus \
--enable res_format_attr_opus \
--enable res_crypto \
--enable res_http_websocket \
--enable res_ari \
--enable res_stasis \
--enable res_stun_monitor \
--enable res_phoneprov \
--enable res_odbc \
--enable res_srtp \
menuselect.makeopts \
&& make -j$(nproc) \
&& make install \
&& make config \
&& ldconfig
CMD ["/usr/sbin/asterisk", "-f"]
cd /usr/src/

20
version_1.8-reactNative/pabx/certificados/RootCA.crt

@ -1,20 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDMTCCAhmgAwIBAgIUfwDYeruX8TSBfeO3MBY7/p6MuKEwDQYJKoZIhvcNAQEL
BQAwKDELMAkGA1UEBhMCQlIxGTAXBgNVBAMMEFNpbXBsZXNpcC1XZWJydGMwHhcN
MjQwNTI0MTU1NjUzWhcNMjcwMzE0MTU1NjUzWjAoMQswCQYDVQQGEwJCUjEZMBcG
A1UEAwwQU2ltcGxlc2lwLVdlYnJ0YzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAO7PBUAHkpEz14HuK5WqtPVi+7YALsUQbalU1RGJ4MtSBC/OZCl+VuuG
rs4mTxil4XNcdSUjlCDxEoP078lwodMRmdyRA7mcyqjSt51AORnoMca7LYVCNSjw
hu7S8iBIGXRtaIFRnMmBz7IerdSpnxIDTnN0/VxBrTAH1V6U/8TT7Eb+rIQoQizP
CrOR4HnnTYgKpLKw97dsPA55tk3zLrDNU4lzXTK8E8ZVnx5B1meBa039R1kdhEWO
yYAJmyMOqh6Vw8BmjY8b6g25TRbbWTeAEWXkXqR/MZ6m4h1Xx/ff65dJm+POWQjr
YBXNfXfH5vUaM6QX7dlJngKMTCecya8CAwEAAaNTMFEwHQYDVR0OBBYEFG0L3bmP
JQd9PjReRfsSkpBWrqbTMB8GA1UdIwQYMBaAFG0L3bmPJQd9PjReRfsSkpBWrqbT
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHqhBMDZHeb8lRDR
7+XNNLopBfCxQMTwNYjjz3w+kySrAkNOZdctgnhPvTXWnjuoe8fWQZKtp7Y627U1
bn0zYNJTF0Er53XD+20gyLecD1SSZyyGSUUZBe9dOCI7QVDKNsAIr2ldMZXIl8Fk
iWJ2wfa0CHvrnlcEDIySXpPMzj+QCr/hPFFovDTSEFVgeWoEyUZTCPex0xpnDbde
Zg4I462fg9drKLDSGkNS/dLlGXI2TRPpjBTnI03KlSZBSR4oT/N1On/NDf9P9NNb
yaKD/l5z2DOa0wfN9MXKaFY1mMWG2a35SYTZRvo5lsgpOe1oo+2PPlQPXdZsFHBG
QmN8i9g=
-----END CERTIFICATE-----

28
version_1.8-reactNative/pabx/certificados/RootCA.key

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDuzwVAB5KRM9eB
7iuVqrT1Yvu2AC7FEG2pVNURieDLUgQvzmQpflbrhq7OJk8YpeFzXHUlI5Qg8RKD
9O/JcKHTEZnckQO5nMqo0redQDkZ6DHGuy2FQjUo8Ibu0vIgSBl0bWiBUZzJgc+y
Hq3UqZ8SA05zdP1cQa0wB9VelP/E0+xG/qyEKEIszwqzkeB5502ICqSysPe3bDwO
ebZN8y6wzVOJc10yvBPGVZ8eQdZngWtN/UdZHYRFjsmACZsjDqoelcPAZo2PG+oN
uU0W21k3gBFl5F6kfzGepuIdV8f33+uXSZvjzlkI62AVzX13x+b1GjOkF+3ZSZ4C
jEwnnMmvAgMBAAECggEBAI7FS+E85b5TnRr71ijTdv5hoBTuRQfhy335zqx+nttP
fFtMbAt2keabjbSHqLAWtBOxCgQbIjsThTtI23a2FLlIg5EfTXfRqkOGPuoPdFPt
wpyKWSubKocATdtIWCM+l6FIq7rsnOzH4/EccFZ81jIBsgxKvBJE3ZKijEjQkZ0M
4kDmLXOHxmYaLcwViQREs/JMABkzFAtwZPVu3ipjeICKx1hLf4/BDGeVRwVDb6W+
AnKhs7CDkm8MBfrhFt1/vvahL6mVkysZ0qY0Moy9h2SE2K0u28Z0iD0OcrOG2CKI
ez3eVlxTFJ/nzRWKRPN3UR+zfoF2QdSnTrEAhwFp1kECgYEA+oUk+DWwAUwO6AcR
HAhU0RdwTr7o9Zn4mBtj+NNeJuuO0Ppy1/L5Qdp9tYmNTOyrkdXLlRyOwqsalyw+
JzvcZqhQQSeasOZIcEvb7qN67ZEgPx5TO4+zKrbYxYOKoF3Su/neS1XC1I6gd+Nm
13XwiKEVU3TcywcfpHWJ+R2Ajw8CgYEA9AhLd9ufwCZ0pRLC0RF0o21KZHMNNmNw
TjvpW9sgrXKLV2i3EZYiMvaeo9DxlSyTc7VPY+HO6xa62/bnTtOcURohleSCGo5b
mHCSi7Q8qQclAMe/6aJbF7TerSrXV9M7KmloEonXRGapj9ui+L1YjpmCHtFNjYZR
pvY6RegwG2ECgYEAo6MEmvy2kqJTukujaWQnwsxEl6ssEAEa2IBLtOSbw2BqUSbG
jTgwiEtngYTvvyd4ijHUYPneZlnNbKGBl68KMCQRB/4OlS5WcsOaTS6LxVHedlwg
ke8zYNs+jQV3L3kZhZ+ZDCxgruba+nSXYHWxQA24GGNlNVjZ2lrMXORgbRECgYEA
nboqxSp/45s3c2Zf4u+MWwENv0UZuhilgvt4RjWotlK9u15kTQqjyhrayHkJXGi2
WWhMCvvtWMeVOQ0pzio587WXFaHfcbinfSztmzyApKOIiCuTYDfe9sCh2H1DOHG/
4RbF/I15RK2yVNgaSvlfHrQbhT21CY9SgT7OxVZgmaECgYBD7N5Qan7sHa5erbbG
BRhoyTUieKHpPZik3EXWwhhJPkc5+hsJLLJvhH2By2FwOn0kCN21SkLgcvruFS4K
EGa6CuNA5oCEGqoiIVnbz1oqByaYRv3YDxxNDZMH+DNpmvbmKNOvaUBX1HEbMJtG
PSbAALwrxsh7o6bLnyfK4fcgIQ==
-----END PRIVATE KEY-----

20
version_1.8-reactNative/pabx/certificados/RootCA.pem

@ -1,20 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDMTCCAhmgAwIBAgIUfwDYeruX8TSBfeO3MBY7/p6MuKEwDQYJKoZIhvcNAQEL
BQAwKDELMAkGA1UEBhMCQlIxGTAXBgNVBAMMEFNpbXBsZXNpcC1XZWJydGMwHhcN
MjQwNTI0MTU1NjUzWhcNMjcwMzE0MTU1NjUzWjAoMQswCQYDVQQGEwJCUjEZMBcG
A1UEAwwQU2ltcGxlc2lwLVdlYnJ0YzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAO7PBUAHkpEz14HuK5WqtPVi+7YALsUQbalU1RGJ4MtSBC/OZCl+VuuG
rs4mTxil4XNcdSUjlCDxEoP078lwodMRmdyRA7mcyqjSt51AORnoMca7LYVCNSjw
hu7S8iBIGXRtaIFRnMmBz7IerdSpnxIDTnN0/VxBrTAH1V6U/8TT7Eb+rIQoQizP
CrOR4HnnTYgKpLKw97dsPA55tk3zLrDNU4lzXTK8E8ZVnx5B1meBa039R1kdhEWO
yYAJmyMOqh6Vw8BmjY8b6g25TRbbWTeAEWXkXqR/MZ6m4h1Xx/ff65dJm+POWQjr
YBXNfXfH5vUaM6QX7dlJngKMTCecya8CAwEAAaNTMFEwHQYDVR0OBBYEFG0L3bmP
JQd9PjReRfsSkpBWrqbTMB8GA1UdIwQYMBaAFG0L3bmPJQd9PjReRfsSkpBWrqbT
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHqhBMDZHeb8lRDR
7+XNNLopBfCxQMTwNYjjz3w+kySrAkNOZdctgnhPvTXWnjuoe8fWQZKtp7Y627U1
bn0zYNJTF0Er53XD+20gyLecD1SSZyyGSUUZBe9dOCI7QVDKNsAIr2ldMZXIl8Fk
iWJ2wfa0CHvrnlcEDIySXpPMzj+QCr/hPFFovDTSEFVgeWoEyUZTCPex0xpnDbde
Zg4I462fg9drKLDSGkNS/dLlGXI2TRPpjBTnI03KlSZBSR4oT/N1On/NDf9P9NNb
yaKD/l5z2DOa0wfN9MXKaFY1mMWG2a35SYTZRvo5lsgpOe1oo+2PPlQPXdZsFHBG
QmN8i9g=
-----END CERTIFICATE-----

1
version_1.8-reactNative/pabx/certificados/RootCA.srl

@ -1 +0,0 @@
346E4E2447EF354E42823606159D8A94EEC09982

7
version_1.8-reactNative/pabx/certificados/domains.ext

@ -1,7 +0,0 @@
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = 192.168.115.179

21
version_1.8-reactNative/pabx/certificados/localhost.crt

@ -1,21 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDjDCCAnSgAwIBAgIUNG5OJEfvNU5CgjYGFZ2KlO7AmYIwDQYJKoZIhvcNAQEL
BQAwKDELMAkGA1UEBhMCQlIxGTAXBgNVBAMMEFNpbXBsZXNpcC1XZWJydGMwHhcN
MjQwNTI0MTU1OTI3WhcNMjcwMzE0MTU1OTI3WjB0MQswCQYDVQQGEwJCUjETMBEG
A1UECAwKTWF0b0dyb3NzbzEPMA0GA1UEBwwGQ3VpYWJhMSUwIwYDVQQKDBxTaW1w
bGVzaXAtd2VicnRjLWNlcnRpZmljYXRlMRgwFgYDVQQDDA9sb2NhbGhvc3QubG9j
YWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCdzuMBCNHuBNR9jcT1
ZFzXUKc/q1kGe/yJ25SBBgpfgRtgLoM1GV8LONIF2gVeS7amzp7Lxzhcm+G2EJBY
e9G+NotQhpE3t07nTp4tSp/sbwp159tkhqJwD4nouic4vwiNXpSsbIkVhVQRdSdw
sS0nG2hPUw9aM5PWSe29hCuGRMmaspmoXRInLZ1QgyRmI42oFxJ8bc6mNp7uBMF6
NbNfLLItiq9Zj65777zXjjtDL3wpmN/x8eaN0jqaGPHQyjMjrbEyrfOeZ71VCa2I
vI+qehrgAAXM583Krc5c/0SurEXWG5xIV+ysjUKBsw5AKeWg/T8rTvI0Hc1pFARt
28n7AgMBAAGjYjBgMB8GA1UdIwQYMBaAFG0L3bmPJQd9PjReRfsSkpBWrqbTMAkG
A1UdEwQCMAAwCwYDVR0PBAQDAgTwMCUGA1UdEQQeMByCCWxvY2FsaG9zdIIPMTky
LjE2OC4xMTUuMTc5MA0GCSqGSIb3DQEBCwUAA4IBAQCDiGyLu4e+gFVdSx2+pcdU
EgjCqoulBfeLhEi0s/N7ewWQGsTf7h5Ay6jhQGWcbJaMW2MV3UhfmrREWGLhWBD9
gJ9zqU2hTlD0ImXnsz4WEdltzWdP8VNhnWiXOH6lHIQaSHnMw+18JShuCIajBico
71ZWxnu0g3yTuTGEYnI4Ataqgn7JQzt+xSFXjjOfFdgYLRIn9gRjoA3W1tPYgfU0
hLF/ZCqY3DxmROvy1pUKS23CkwAcdg+EP5Vmpk1piCn0e/n+kRuGV4uqpqyoODtw
lN2Fw5aFEgCC79LnSbaGYFCvWY+OLzwtj8BD5UhE/LNDT765mPQFUETPgRYWLSzn
-----END CERTIFICATE-----

17
version_1.8-reactNative/pabx/certificados/localhost.csr

@ -1,17 +0,0 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICuTCCAaECAQAwdDELMAkGA1UEBhMCQlIxEzARBgNVBAgMCk1hdG9Hcm9zc28x
DzANBgNVBAcMBkN1aWFiYTElMCMGA1UECgwcU2ltcGxlc2lwLXdlYnJ0Yy1jZXJ0
aWZpY2F0ZTEYMBYGA1UEAwwPbG9jYWxob3N0LmxvY2FsMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAnc7jAQjR7gTUfY3E9WRc11CnP6tZBnv8iduUgQYK
X4EbYC6DNRlfCzjSBdoFXku2ps6ey8c4XJvhthCQWHvRvjaLUIaRN7dO506eLUqf
7G8KdefbZIaicA+J6LonOL8IjV6UrGyJFYVUEXUncLEtJxtoT1MPWjOT1kntvYQr
hkTJmrKZqF0SJy2dUIMkZiONqBcSfG3Opjae7gTBejWzXyyyLYqvWY+ue++81447
Qy98KZjf8fHmjdI6mhjx0MozI62xMq3znme9VQmtiLyPqnoa4AAFzOfNyq3OXP9E
rqxF1hucSFfsrI1CgbMOQCnloP0/K07yNB3NaRQEbdvJ+wIDAQABoAAwDQYJKoZI
hvcNAQELBQADggEBAEc7RJzFLFr/S/k7XV2CRaH4vRyrD3eo41EhkJtOkvle82bB
A4zrGnmg5ss2jgyv4RPTPxc/6+FXD1sFD8PH0H9aBqrOD2HWEHV+AhBhD3/nY9P/
PRcqcO0TS+6Xdft8GC9KHHGnwKROkrrgOAHj1JFdnmUVSi7kU0qkrqoNivXeqMry
kvgJf6+arSxNJBTDzuAdjA/BmJs6ocIpnLXMo4T7zN02mt92cFDkqQZbS89EBSiD
heyREeZZgauh04TbCgVf2nf98mBAupgBXFMAvT3i4+pa5S+brBZQNKQ1oDPC77at
hhwyV8AksnlBk8rBX83TCxNGTqE1Q1ljfFgSpvQ=
-----END CERTIFICATE REQUEST-----

28
version_1.8-reactNative/pabx/certificados/localhost.key

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdzuMBCNHuBNR9
jcT1ZFzXUKc/q1kGe/yJ25SBBgpfgRtgLoM1GV8LONIF2gVeS7amzp7Lxzhcm+G2
EJBYe9G+NotQhpE3t07nTp4tSp/sbwp159tkhqJwD4nouic4vwiNXpSsbIkVhVQR
dSdwsS0nG2hPUw9aM5PWSe29hCuGRMmaspmoXRInLZ1QgyRmI42oFxJ8bc6mNp7u
BMF6NbNfLLItiq9Zj65777zXjjtDL3wpmN/x8eaN0jqaGPHQyjMjrbEyrfOeZ71V
Ca2IvI+qehrgAAXM583Krc5c/0SurEXWG5xIV+ysjUKBsw5AKeWg/T8rTvI0Hc1p
FARt28n7AgMBAAECggEABGCq12qBOFMV+e2m2w/Pq4FnQlLkg1OJK+HVesbKHuAb
/E0OArkTc+I9oT/tCjKbfIEa0phSLe99EWngNzQoG1i0AKXa/WquW6hIpwT87rgd
2Ct4YI+DjgxATR5s3BwghptrEGVqYBh0vo87atrfX8hY2mp5cI0hur4OREWYV38h
18rILsATZHRSB4+h9oLHOPIcGpUV2Vr0mCUXU/OUdDLcCXBakB1U+npeacy1MKzL
5sb+hK5W2Xu2qWwYMSmFzbpmxNuUPDES7LSD8mL7jiBcKWO4pnh7EMwqO8Sf1BfO
B1smTSDymAd6QduvzhJPCzUOy3px/ZuSL/rNFLExAQKBgQDQtuM96Yh0OQX0lMbY
i2TJVaR08DkmpDMKsxOFgyTh4mR+LWhpaBmOLD/0prwcFZl/ZMkwCdeMEUoAo5x2
PFTaKXWSYgq632XQiojtQESICW/nKWhx0X0+MYsTmjjN0ZtBqPDPcr2id6wE+0T9
hbr9UbnxxynrFBZ8umtC+ImROwKBgQDBj4PithBNT1tpGiDnkxt1yWOKlMTKBdfv
CovsHhWMhQvCvnWiiG3OGkTrXtmWHLCpL2wXBz4vtDcY2jeJxBf+HfUF2ropSfKP
UlOZSpdMeMdqYmbZzIG4QRgqA23O6YJ+zYeBCYctn+Nz+Q98WCEFYq5SGncOcKLN
gb26fSseQQKBgQCe3IXMyyNkqz6gMlnD2x3ErV42793gTpzXKQTT28VH9YTeEXvm
tyi0cXPgqMSHb91c/P6xhNw+ra4xHFdsG3HOeD4YRG28XWvmtnuQchl3ng9B2N+5
umVk4Frmeb2A02kkKg3ZKJG0xvf09rhFa/Ou+vTYVerPFoQjPdWErR4wnwKBgQCA
WSrp7TIYIZQKuHGzPP/LdfQUk5t+HqvV7VdlBXniiOKIiwSz9uVg8lha/rUnbfTS
6wgwqPPabBTQ3PpQ1v/V2IV+EVC6SjeWQ8/9aNG0uq345DExIQOvazKbwVRSDNMk
RCMjNG83mLsZTsCvAj07NflDphrmL1g1D2AAxjkOQQKBgCDXz/EXXMDpEU02kYpV
ovVGQ0qUH2oZ+ATax34hNvsLEuzENkcUFzIqQjXxoxwylddFvaIhK0KWACy3WJDe
rhp89NJjvycKrzlYbs8sd5BdGfeqAKhXQxF8H4w+BBShRKzMA1iBr07hsn2gA1H7
tU9hcLllm+PQpHOHb5T9gR8P
-----END PRIVATE KEY-----

18
version_1.8-reactNative/pabx/config-docker.php

@ -1,18 +0,0 @@
<?php
# Poderá ser acessado para configurar as informações de rede para
# o asterisk. Isso é feito para definir as redes
# definir tags no asterisk:
# externaddr
# localnet
# media_address
#
# Deve ser acessado com o ip (não 127.0.0.1)
# <ip>:8080/config-docker.php
$ip = explode(":", $_SERVER['HTTP_HOST'])[0];
$result_system=system("/config_network $ip", $qwe);
//echo "$result_system";
?>

40
version_1.8-reactNative/pabx/config_network

@ -1,40 +0,0 @@
#!/bin/bash
IP_HOST="$1"
if [[ -z $IP_HOST ]];then
echo "Sem argumento IP. ERROR"
exit;
fi
if [[ -n "$(grep "externaddr=" /etc/asterisk/sip_general.conf )" ]]
then
sed -i "s/;\?externaddr=.*/externaddr=${IP_HOST}/g" /etc/asterisk/sip_general.conf
else
echo "externaddr=${IP_HOST}" >> /etc/asterisk/sip_general.conf
fi
[[ $? -eq 0 ]] && echo "<h2>[ok] - definido externaddr=${IP_HOST}<br></h2>" || echo "<h2>[false] - externaddr nao definido</h2>"
if [[ -n "$(grep "localnet=" /etc/asterisk/sip_general.conf )" ]]
then
sed -i "s/;\?localnet=.*/localnet=0.0.0.0\/32/g" /etc/asterisk/sip_general.conf
else
echo "localnet=0.0.0.0/32" >> /etc/asterisk/sip_general.conf
fi
[[ $? -eq 0 ]] && echo "<h2>[ok] - definido localnet=0.0.0.0/32<br></h2>" || echo "<h2>[false] - localnet nao definido</h2>"
if [[ -n "$(grep "media_address=" /etc/asterisk/sip_general.conf)" ]]
then
sed -i "s/;\?media_address=.*/media_address=${IP_HOST}/g" /etc/asterisk/sip_general.conf
else
echo "media_address=${IP_HOST}" >> /etc/astersk/sip_general.conf
fi
[[ $? -eq 0 ]] && echo "<h2>[ok] - definido media_address=${IP_HOST}<br></h2>" || echo "<h2>[false] - media_address nao definido</h2>"
asterisk -rx "sip reload"
[[ $? -eq 0 ]] && echo "<h2>[ok] - asterisk atualizado<br></h2>" || echo "<h2>[false] - nao carregado no asterisk</h2>"
echo "<h1>Concluido</h1>"

40
version_1.8-reactNative/pabx/crontab.sh

@ -1,40 +0,0 @@
#!/bin/bash
echo "#Servicos Auxiliares" >> /etc/crontab
echo "0 0 * * * root /var/lib/asterisk/scripts/callcenter/reload.sh" >> /etc/crontab
echo "0 1 * * * root /hdaux/utilitarios/scripts/hd.sh " >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/queue_log.php" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/monitora_agentes.php" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/manutencaoDB/importaBilhetes.php" >> /etc/crontab
echo "*/30 * * * * root /var/lib/asterisk/scripts/portabilidade/atualiza_cliente.php" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/workflow/workflowSender.php" >> /etc/crontab
echo "0 2 * * * root /var/lib/asterisk/scripts/manutencaoDB/manutencaodb.php" >> /etc/crontab
echo "#*/1 * * * * root /var/lib/asterisk/scripts/integracao/encerraChamada.php" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "*/1 * * * * root sleep 15 && /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "*/1 * * * * root sleep 30 && /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "*/1 * * * * root sleep 45 && /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "#Transbordo Assistido" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "*/1 * * * * root sleep 15 && /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "*/1 * * * * root sleep 30 && /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "*/1 * * * * root sleep 45 && /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "#Backup" >> /etc/crontab
echo "*/10 * * * * root /var/lib/asterisk/scripts/backup/backup.php" >> /etc/crontab
echo "#Backup - Shell" >> /etc/crontab
echo "0 1 * * * root /hdaux/utilitarios/scripts/backup.sh config,bd" >> /etc/crontab
echo "#VPN" >> /etc/crontab
echo "*/1 * * * * root /bin/sip_teste_vpn.sh" >> /etc/crontab
echo "#Remove Caixa Postal" >> /etc/crontab
echo "0 1 * * * root find /var/spool/asterisk/voicemail/default/ -iname *.WAV -mtime +10 -exec rm -rf {} \\;" >> /etc/crontab
echo "0 1 * * * root find /var/spool/asterisk/voicemail/default/ -iname *.txt -mtime +10 -exec rm -rf {} \\;" >> /etc/crontab
echo "#Limpa Maildrop" >> /etc/crontab
echo "0 6 * * * root for i in \$(ls -1 /var/spool/postfix/maildrop/) ; do /bin/rm -rf /var/spool/postfix/maildrop/\$i ; done" >> /etc/crontab
echo "#Bloqueio - SIP" >> /etc/crontab
echo "*/1 * * * * root /hdaux/utilitarios/scripts/bloqueia_autenticacao.sh" >> /etc/crontab
echo "#NTP" >> /etc/crontab
echo "*/15 * * * * root /hdaux/utilitarios/scripts/ntp.sh" >> /etc/crontab
echo "#Logrotate" >> /etc/crontab
echo "59 23 * * * root /hdaux/utilitarios/scripts/logrotate.sh --force" >> /etc/crontab
echo "57 23 * * * root /hdaux/utilitarios/scripts/temporizador_de_dados.sh" >> /etc/crontab

31
version_1.8-reactNative/pabx/docker-entrypoint.sh

@ -1,31 +0,0 @@
#!/bin/sh
# run as user asterisk by default
ASTERISK_USER=${ASTERISK_USER:-asterisk}
if [ "$1" = "" ]; then
COMMAND="/usr/sbin/asterisk -T -W -U ${ASTERISK_USER} -p -vvvdddf"
else
COMMAND="$@"
fi
if [ "${ASTERISK_UID}" != "" ] && [ "${ASTERISK_GID}" != "" ]; then
# recreate user and group for asterisk
# if they've sent as env variables (i.e. to macth with host user to fix permissions for mounted folders
deluser asterisk && \
adduser --gecos "" --no-create-home --uid ${ASTERISK_UID} --disabled-password ${ASTERISK_USER} \
|| exit
fi
mkdir -p /var/run/asterisk
chown -R ${ASTERISK_USER}: /var/log/asterisk \
/var/lib/asterisk \
/var/run/asterisk \
/var/spool/asterisk; \
cp /var/www/html/config-docker.php /var/www/html/aplicativo/
/hdaux/utilitarios/scripts/permissoes_atualizacao.sh
exec ${COMMAND}

100
version_1.8-reactNative/pabx/etc/apache2/sites-available/pabx_simples.conf

@ -1,100 +0,0 @@
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/aplicativo
SSLEngine on
SSLCertificateFile /usr/src/certificates/localhost.crt
SSLCertificateKeyFile /usr/src/certificates/localhost.key
#SSLCertificateFile /etc/asterisk/keys/asterisk.crt
#SSLCertificateKeyFile /etc/asterisk/keys/asterisk.key
Alias /gravacoes "/var/spool/asterisk/monitor"
<Directory "/var/spool/asterisk/monitor">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Require all granted
Allow from 127.0.0.1
</Directory>
Alias /agenda "/var/www/html/agenda"
<Directory "/var/www/html/agenda/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Require all granted
Allow from all
</Directory>
Alias /downloads "/hdaux/downloads"
<Directory "/hdaux/downloads/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Require all granted
Allow from all
</Directory>
Alias /ferramentas "/hdaux/utilitarios/ferramentas"
<Directory "/hdaux/utilitarios/ferramentas/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Require all granted
Allow from all
</Directory>
Alias /manuais "/hdaux/utilitarios/manuais"
<Directory "/hdaux/utilitarios/manuais/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Require all granted
Allow from all
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
<VirtualHost *:8089>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /usr/src/certificates/localhost.crt
SSLCertificateKeyFile /usr/src/certificates/localhost.key
#SSLCertificateFile /etc/asterisk/keys/asterisk.crt
#SSLCertificateKeyFile /etc/asterisk/keys/asterisk.key
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

0
version_1.8-reactNative/pabx/etc/asterisk/.asterisk.conf.swp

3
version_1.8-reactNative/pabx/etc/asterisk/.asterisk.conf.swp:Zone.Identifier

@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=\\wsl.localhost\Debian\home\matheorb\docker-pabx-app\version_1.8-reactNative\pabx\etc\etc_asterisk.tar.gz

0
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swk

3
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swk:Zone.Identifier

@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=\\wsl.localhost\Debian\home\matheorb\docker-pabx-app\version_1.8-reactNative\pabx\etc\etc_asterisk.tar.gz

0
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swl

3
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swl:Zone.Identifier

@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=\\wsl.localhost\Debian\home\matheorb\docker-pabx-app\version_1.8-reactNative\pabx\etc\etc_asterisk.tar.gz

0
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swm

3
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swm:Zone.Identifier

@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=\\wsl.localhost\Debian\home\matheorb\docker-pabx-app\version_1.8-reactNative\pabx\etc\etc_asterisk.tar.gz

0
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swn

3
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swn:Zone.Identifier

@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=\\wsl.localhost\Debian\home\matheorb\docker-pabx-app\version_1.8-reactNative\pabx\etc\etc_asterisk.tar.gz

0
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swo

3
version_1.8-reactNative/pabx/etc/asterisk/.extensions.conf.swo:Zone.Identifier

@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=\\wsl.localhost\Debian\home\matheorb\docker-pabx-app\version_1.8-reactNative\pabx\etc\etc_asterisk.tar.gz

1583
version_1.8-reactNative/pabx/etc/asterisk/1

File diff suppressed because it is too large Load Diff

80
version_1.8-reactNative/pabx/etc/asterisk/acl.conf

@ -1,80 +0,0 @@
;
; Named Access Control Lists (ACLs)
;
; A convenient way to share acl definitions
;
; This configuration file is read on startup
;
; CLI Commands
; -----------------------------------------------------------
; acl show Show all named ACLs configured
; acl show <name> Show contents of a particular named ACL
; reload acl Reload configuration file
;
; Any configuration that uses ACLs which has been made to be able to use named
; ACLs will specify a named ACL with the 'acl' option in its configuration in
; a similar fashion to the usual 'permit' and 'deny' options. Example:
; acl=my_named_acl
;
; Multiple named ACLs can be applied by either comma separating the arguments or
; just by adding additional ACL lines. Example:
; acl=my_named_acl
; acl=my_named_acl2
;
; or
;
; acl=my_named_acl,my_named_acl2
;
; ACLs specified by name are evaluated independently from the ACL specified via
; permit/deny. In order for an address to pass a given ACL, it must pass both
; the ACL specified by permit/deny for a given item as well as any named ACLs
; that were specified.
;
;[example_named_acl1]
;deny=0.0.0.0/0.0.0.0
;permit=209.16.236.0
;permit=209.16.236.1
;
;[example_named_acl2]
;permit=0.0.0.0/0.0.0.0
;deny=10.24.20.171
;deny=10.24.20.103
;deny=209.16.236.1
;
; example_named_acl1 above shows an example of whitelisting. When whitelisting, the
; named ACLs should follow a deny that blocks everything (like deny=0.0.0.0/0.0.0.0)
; The following example explains how combining the ACLs works:
; <in another configuration>
; [example_item_with_acl]
; acl=example_named_acl1
; acl=example_named_acl2
;
; Suppose 209.16.236.0 tries to communicate and the ACL for that example is applied to it...
; First, example_named_acl1 is evaluated. The address is allowed by that ACL.
; Next, example_named_acl2 is evaluated. The address isn't blocked by example_named_acl2
; either, so it passes.
;
; Suppose instead 209.16.236.1 tries to communicate and the same ACL is applied.
; First, example_named_acl1 is evaluated and the address is allowed.
; However, it is blocked by example_named_acl2, so the address is blocked from the combined
; ACL.
;
; Similarly, the permits/denies in specific configurations that make up an ACL definition
; are also treated as a separate ACL for evaluation. So if we change the example above to:
; <in another configuration>
; [example_item_with_acl]
; acl=example_named_acl1
; acl=example_named_acl2
; deny=209.16.236.0
;
; Then 209.16.236.0 will be rejected by the non-named component of the combined ACL even
; though it passes the two named components.
;
;
; Named ACLs can use ipv6 addresses just like normal ACLs.
;[ipv6_example_1]
;deny = ::
;permit = ::1/128
;
;[ipv6_example_2]
;permit = fe80::21d:bad:fad:2323

8
version_1.8-reactNative/pabx/etc/asterisk/adsi.conf

@ -1,8 +0,0 @@
;
; Sample ADSI Configuration file
;
[intro]
alignment = center
greeting => Welcome to the
greeting => Asterisk
greeting => Open Source PBX

70
version_1.8-reactNative/pabx/etc/asterisk/agents.conf

@ -1,70 +0,0 @@
;
; Agent pool configuration
;
[general]
; The general section of this config is not currently used, but reserved
; for future use.
;[agent-id]
; Define ackcall to require the agent to give a DTMF acknowledgement
; when the agent receives a call.
; The channel variable AGENTACKCALL overrides on agent login.
; Default is "no".
;ackcall=no
;
; Set what DTMF key sequence the agent should use to acknowledge a call.
; The channel variable AGENTACCEPTDTMF overrides on agent login.
; This option is ignored unless ackcall is enabled.
; Default is "#".
;acceptdtmf=##
;
; Set how many seconds a call for the agent has to wait for the agent to
; acknowledge the call before the agent is automatically logged off. If
; set to zero then the call will wait forever for the agent to acknowledge.
; The channel variable AGENTAUTOLOGOFF overrides on agent login.
; This option is ignored unless ackcall is enabled.
; Default is 0.
;autologoff=15
;
; Set the minimum amount of time after disconnecting a call before
; the agent can receive a new call in milliseconds.
; The channel variable AGENTWRAPUPTIME overrides on agent login.
; Default is 0.
;wrapuptime=5000
;
; Set the musiconhold class for the agent.
; Default is "default".
;musiconhold=default
;
; Enable recording calls the agent takes automatically by invoking the
; DTMF automixmon feature when the agent connects to a caller.
; See features.conf.sample for information about the automixmon feature.
; Default is "no".
;recordagentcalls=yes
;
; The sound file played to alert the agent when a call is present.
; Default is "beep".
;custom_beep=beep
;
; A friendly name for the agent used in log messages.
; Default is "".
;fullname=Mark Spencer
;
; --------------------------------------------------
;
; This section contains example agent definitions:
;
; Define a template called my-agents:
;[my-agents](!)
;autologoff=15
;ackcall=yes
;acceptdtmf=##
;
; Define agent 1001 using the my-agents template:
;[1001](my-agents)
;fullname=Mark Spencer
;
; Define agent 1002 using the my-agents template:
;[1002](my-agents)
;fullname=Will Meadows

91
version_1.8-reactNative/pabx/etc/asterisk/alarmreceiver.conf

@ -1,91 +0,0 @@
;
; alarmreceiver.conf
;
; Sample configuration file for the Asterisk alarm receiver application.
;
[general]
;
; Specify a timestamp format for the metadata section of the event files
; Default is %a %b %d, %Y @ %H:%M:%S %Z
timestampformat = %a %b %d, %Y @ %H:%M:%S %Z
;
; Specify a command to execute when the caller hangs up
;
; Default is none
;
;eventcmd = yourprogram -yourargs ...
;
; Specify a spool directory for the event files. This setting is required
; if you want the app to be useful. Event files written to the spool
; directory will be of the template event-XXXXXX, where XXXXXX is a random
; and unique alphanumeric string.
;
; Default is none, and the events will be dropped on the floor.
;
eventspooldir = /tmp
;
; The alarmreceiver app can either log the events one-at-a-time to individual
; files in the spool directory, or it can store them until the caller
; disconnects and write them all to one file.
;
; The default setting for logindividualevents is no.
;
logindividualevents = no
;
; The timeout for receiving the first DTMF digit is adjustable from 1000 msec.
; to 10000 msec. The default is 2000 msec. Note: if you wish to test the
; receiver by entering digits manually, set this to a reasonable time out
; like 10000 milliseconds.
fdtimeout = 2000
;
; The timeout for receiving subsequent DTMF digits is adjustable from
; 110 msec. to 4000 msec. The default is 200 msec. Note: if you wish to test
; the receiver by entering digits manually, set this to a reasonable time out
; like 4000 milliseconds.
;
sdtimeout = 200
;
; Wait for the connection to settle post-answer. Adjustable from 500 msec. to 10000 msec.
; The default is 1250 msec.
;
answait = 1250
; When logging individual events it may be desirable to skip grouping of metadata
;no_group_meta = yes
;
; The loudness of the ACK and Kissoff tones is adjustable from 100 to 8192.
; The default is 8192. This shouldn't need to be messed with, but is included
; just in case there are problems with signal levels.
;
loudness = 8192
;
; The db-family setting allows the user to capture statistics on the number of
; calls, and the errors the alarm receiver sees. The default is for no
; db-family name to be defined and the database logging to be turned off.
;
;db-family = yourfamily:
;
; End of alarmreceiver.conf
;

77
version_1.8-reactNative/pabx/etc/asterisk/alsa.conf

@ -1,77 +0,0 @@
;
; Open Sound System Console Driver Configuration File
;
[general]
;
; Automatically answer incoming calls on the console? Choose yes if
; for example you want to use this as an intercom.
;
autoanswer=yes
;
; Default context (is overridden with @context syntax)
;
context=local
;
; Default extension to call
;
extension=s
;
; Default language
;
;language=en
;
; Default Music on Hold class to use when this channel is placed on hold in
; the case that the music class is not set on the channel with
; Set(CHANNEL(musicclass)=whatever) in the dialplan and the peer channel
; putting this one on hold did not suggest a class to use.
;
;mohinterpret=default
;
; Silence suppression can be enabled when sound is over a certain threshold.
; The value for the threshold should probably be between 500 and 2000 or so,
; but your mileage may vary. Use the echo test to evaluate the best setting.
;silencesuppression = yes
;silencethreshold = 1000
;
; To set which ALSA device to use, change this parameter
;input_device=hw:0,0
;output_device=hw:0,0
;
; Default mute state (can also be toggled via CLI)
;mute=true
;
; If enabled, no audio capture device will be opened. This is useful on
; systems where there will be no return audio path, such as overhead pagers.
;noaudiocapture=true
; ----------------------------- JITTER BUFFER CONFIGURATION --------------------------
; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of an
; ALSA channel. Defaults to "no". An enabled jitterbuffer will
; be used only if the sending side can create and the receiving
; side can not accept jitter. The ALSA channel can't accept jitter,
; thus an enabled jitterbuffer on the receive ALSA side will always
; be used if the sending side can create jitter.
; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
; resynchronized. Useful to improve the quality of the voice, with
; big jumps in/broken timestamps, usually sent from exotic devices
; and programs. Defaults to 1000.
; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP
; channel. Two implementations are currently available - "fixed"
; (with size always equals to jbmax-size) and "adaptive" (with
; variable size, actually the new jb of IAX2). Defaults to fixed.
; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
; The option represents the number of milliseconds by which the new
; jitter buffer will pad its size. the default is 40, so without
; modification, the new jitter buffer will set its size to the jitter
; value plus 40 milliseconds. increasing this value may help if your
; network normally has low jitter, but occasionally has spikes.
; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
; ----------------------------------------------------------------------------------

31
version_1.8-reactNative/pabx/etc/asterisk/amd.conf

@ -1,31 +0,0 @@
;
; Answering Machine Detection Configuration
;
[general]
total_analysis_time = 5000 ; Maximum time allowed for the algorithm to decide
; on whether the audio represents a HUMAN, or a MACHINE
silence_threshold = 256 ; If the average level of noise in a sample does not reach
; this value, from a scale of 0 to 32767, then we will consider
; it to be silence.
; Greeting ;
initial_silence = 2500 ; Maximum silence duration before the greeting.
; If exceeded, then the result is detection as a MACHINE.
after_greeting_silence = 800 ; Silence after detecting a greeting.
; If exceeded, then the result is detection as a HUMAN
greeting = 1500 ; Maximum length of a greeting. If exceeded, then the
; result is detection as a MACHINE.
; Word detection ;
min_word_length = 100 ; Minimum duration of Voice to considered as a word
maximum_word_length = 5000 ; Maximum duration of a single Voice utterance allowed.
between_words_silence = 50 ; Minimum duration of silence after a word to consider
; the audio what follows as a new word
maximum_number_of_words = 3 ; Maximum number of words in the greeting
; If REACHED, then the result is detection as a MACHINE
; WARNING: Releases prior to January 1 2016 documented
; maximum_number_of_words as 'if exceeded, then MACHINE',
; which did not reflect the true functionality. In Asterisk 14,
; this functionality will change to reflect the variables' name.

24
version_1.8-reactNative/pabx/etc/asterisk/app_mysql.conf

@ -1,24 +0,0 @@
; Configuration file for the MYSQL app addon
[general]
;
; Nullvalue governs how NULL values are returned from the database. In
; previous versions, the special NULL value was returned as the "NULL"
; string. We now provide an option for the behavior, configured globally.
; nullstring - the string "NULL"
; emptystring - the string ""
; null - unset the variable
;
; WARNING: setting nullvalue=null may have undesireable consequences, in
; particular if you use subroutines in AEL or the LOCAL() variable construct.
; You have been warned. Don't complain if you use that setting in combination
; with Gosub or AEL and get buggy behavior.
;
nullvalue = nullstring
; If set, autoclear will destroy allocated statement and connection resources
; when the channel ends. For most usage of the MYSQL app, this is what you
; want, but it's conceivable that somebody is sharing MYSQL connections across
; multiple channels, in which case, this should be set to 'no'. Defaults to
; 'no', as this was the original behavior.
autoclear=yes

27
version_1.8-reactNative/pabx/etc/asterisk/app_skel.conf

@ -1,27 +0,0 @@
[general]
games=3
cheat=no
[sounds]
prompt=please-enter-your,number,queue-less-than
wrong_guess=vm-pls-try-again
right_guess=auth-thankyou
too_high=high
too_low=low
lose=vm-goodbye
[easy]
max_number=10
max_guesses=4
[medium]
max_number=100
max_guesses=6
[hard]
max_number=1000
max_guesses=7
[nightmare]
max_number=1000
max_guesses=1

30
version_1.8-reactNative/pabx/etc/asterisk/ari.conf

@ -1,30 +0,0 @@
[general]
enabled = yes ; When set to no, ARI support is disabled.
;pretty = no ; When set to yes, responses from ARI are
; ; formatted to be human readable.
;allowed_origins = ; Comma separated list of allowed origins, for
; ; Cross-Origin Resource Sharing. May be set to * to
; ; allow all origins.
;auth_realm = ; Realm to use for authentication. Defaults to Asterisk
; ; REST Interface.
;
; Default write timeout to set on websockets. This value may need to be adjusted
; for connections where Asterisk must write a substantial amount of data and the
; receiving clients are slow to process the received information. Value is in
; milliseconds; default is 100 ms.
;websocket_write_timeout = 100
;[username]
;type = user ; Specifies user configuration
;read_only = no ; When set to yes, user is only authorized for
; ; read-only requests.
;
;password = ; Crypted or plaintext password (see password_format).
;
; password_format may be set to plain (the default) or crypt. When set to crypt,
; crypt(3) is used to validate the password. A crypted password can be generated
; using mkpasswd -m sha-512.
;
; When set to plain, the password is in plaintext.
;
;password_format = plain

63
version_1.8-reactNative/pabx/etc/asterisk/ast_debug_tools.conf

@ -1,63 +0,0 @@
#
# This file is used by the Asterisk debug tools.
# Unlike other Asterisk config files, this one is
# "sourced" by bash and must adhere to bash semantics.
#
# A list of coredumps and/or coredump search patterns.
# Bash extended globs are enabled and any resulting files
# that aren't actually coredumps are silently ignored
# so you can be liberal with the globs.
#
# If your patterns contains spaces be sure to only quote
# the portion of the pattern that DOESN'T contain wildcard
# expressions. If you quote the whole pattern, it won't
# be expanded and the glob characters will be treated as
# literals.
#
# The exclusion of files ending ".txt" is just for
# demonstration purposes as non-coredumps will be ignored
# anyway.
COREDUMPS=(/tmp/core[-._]asterisk!(*.txt) /tmp/core[-._]$(hostname)!(*.txt))
# The directory to contain output files and work directories.
# For output from existing core files, the default is the
# directory that the core file is found in. For core files
# produced from a running process, the default is /tmp.
OUTPUTDIR=/tmp
# Date command for the "running" coredump and tarballs.
# DATEFORMAT will be executed to get the timestamp.
# Don't put quotes around the format string or they'll be
# treated as literal characters. Also be aware of colons
# in the output as you can't upload files with colons in
# the name to Jira.
#
# Unix timestamp
#DATEFORMAT='date +%s.%N'
#
# Unix timestamp on *BSD/MacOS after installing coreutils
#DATEFORMAT='gdate +%s.%N'
#
# Readable GMT
#DATEFORMAT='date -u +%FT%H-%M-%S%z'
#
# Readable Local time
DATEFORMAT='date +%FT%H-%M-%S%z'
# A list of log files and/or log file search patterns using the
# same syntax as COREDUMPS.
#
LOGFILES=(/var/log/asterisk/messages* /var/log/asterisk/queue* \
/var/log/asterisk/debug* /var/log/asterisk/security*)
# ast_loggrabber converts POSIX timestamps to readable format
# using this Python strftime format string. If not specified
# or an empty string, no format covnersion is done.
LOG_DATEFORMAT="%m/%d-%H:%M:%S.%f"
# The timezone to use when converting POSIX timestamps to
# readable format. It can be specified in "<continent>/<city>"
# format or in abbreviation format such as "CST6CDT". If not
# specified, the "local" timezone is used.
# LOG_TIMEZONE=

158
version_1.8-reactNative/pabx/etc/asterisk/asterisk.adsi

@ -1,158 +0,0 @@
;
; Asterisk default ADSI script
;
;
; Begin with the preamble requirements
;
DESCRIPTION "Asterisk PBX" ; Name of vendor
VERSION 0x00 ; Version of stuff
;SECURITY "_AST" ; Security code
SECURITY 0X9BDBF7AC ; Security code
FDN 0x0000000F ; Descriptor number
;
; Flags
;
FLAG "nocallwaiting"
;
; Predefined strings
;
DISPLAY "titles" IS "** Asterisk PBX **"
DISPLAY "talkingto" IS "Call active." JUSTIFY LEFT
DISPLAY "callname" IS "$Call1p" JUSTIFY LEFT
DISPLAY "callnum" IS "$Call1s" JUSTIFY LEFT
DISPLAY "incoming" IS "Incoming call!" JUSTIFY LEFT
DISPLAY "ringing" IS "Calling... " JUSTIFY LEFT
DISPLAY "callended" IS "Call ended." JUSTIFY LEFT
DISPLAY "missedcall" IS "Missed call." JUSTIFY LEFT
DISPLAY "busy" IS "Busy." JUSTIFY LEFT
DISPLAY "reorder" IS "Reorder." JUSTIFY LEFT
DISPLAY "cwdisabled" IS "Callwait disabled"
DISPLAY "empty" IS "asdf"
;
; Begin soft key definitions
;
KEY "callfwd" IS "CallFwd" OR "Call Forward"
OFFHOOK
VOICEMODE
WAITDIALTONE
SENDDTMF "*60"
GOTO "offHook"
ENDKEY
KEY "vmail_OH" IS "VMail" OR "Voicemail"
OFFHOOK
VOICEMODE
WAITDIALTONE
SENDDTMF "8500"
ENDKEY
KEY "vmail" IS "VMail" OR "Voicemail"
SENDDTMF "8500"
ENDKEY
KEY "backspace" IS "BackSpc" OR "Backspace"
BACKSPACE
ENDKEY
KEY "cwdisable" IS "CWDsble" OR "Disable Call Wait"
SENDDTMF "*70"
SETFLAG "nocallwaiting"
SHOWDISPLAY "cwdisabled" AT 4
TIMERCLEAR
TIMERSTART 1
ENDKEY
KEY "cidblock" IS "CIDBlk" OR "Block Callerid"
SENDDTMF "*67"
SETFLAG "nocallwaiting"
ENDKEY
;
; Begin main subroutine
;
SUB "main" IS
IFEVENT NEARANSWER THEN
CLEAR
SHOWDISPLAY "titles" AT 1 NOUPDATE
SHOWDISPLAY "talkingto" AT 2 NOUPDATE
SHOWDISPLAY "callname" AT 3
SHOWDISPLAY "callnum" AT 4
GOTO "stableCall"
ENDIF
IFEVENT OFFHOOK THEN
CLEAR
CLEARFLAG "nocallwaiting"
CLEARDISPLAY
SHOWDISPLAY "titles" AT 1
SHOWKEYS "vmail"
SHOWKEYS "cidblock"
SHOWKEYS "cwdisable" UNLESS "nocallwaiting"
GOTO "offHook"
ENDIF
IFEVENT IDLE THEN
CLEAR
SHOWDISPLAY "titles" AT 1
SHOWKEYS "vmail_OH"
ENDIF
IFEVENT CALLERID THEN
CLEAR
; SHOWDISPLAY "titles" AT 1 NOUPDATE
; SHOWDISPLAY "incoming" AT 2 NOUPDATE
SHOWDISPLAY "callname" AT 3 NOUPDATE
SHOWDISPLAY "callnum" AT 4
ENDIF
IFEVENT RING THEN
CLEAR
SHOWDISPLAY "titles" AT 1 NOUPDATE
SHOWDISPLAY "incoming" AT 2
ENDIF
IFEVENT ENDOFRING THEN
SHOWDISPLAY "missedcall" AT 2
CLEAR
SHOWDISPLAY "titles" AT 1
SHOWKEYS "vmail_OH"
ENDIF
IFEVENT TIMER THEN
CLEAR
SHOWDISPLAY "empty" AT 4
ENDIF
ENDSUB
SUB "offHook" IS
IFEVENT FARRING THEN
CLEAR
SHOWDISPLAY "titles" AT 1 NOUPDATE
SHOWDISPLAY "ringing" AT 2 NOUPDATE
SHOWDISPLAY "callname" at 3 NOUPDATE
SHOWDISPLAY "callnum" at 4
ENDIF
IFEVENT FARANSWER THEN
CLEAR
SHOWDISPLAY "talkingto" AT 2
GOTO "stableCall"
ENDIF
IFEVENT BUSY THEN
CLEAR
SHOWDISPLAY "titles" AT 1 NOUPDATE
SHOWDISPLAY "busy" AT 2 NOUPDATE
SHOWDISPLAY "callname" at 3 NOUPDATE
SHOWDISPLAY "callnum" at 4
ENDIF
IFEVENT REORDER THEN
CLEAR
SHOWDISPLAY "titles" AT 1 NOUPDATE
SHOWDISPLAY "reorder" AT 2 NOUPDATE
SHOWDISPLAY "callname" at 3 NOUPDATE
SHOWDISPLAY "callnum" at 4
ENDIF
ENDSUB
SUB "stableCall" IS
IFEVENT REORDER THEN
SHOWDISPLAY "callended" AT 2
ENDIF
ENDSUB

123
version_1.8-reactNative/pabx/etc/asterisk/asterisk.conf

@ -1,123 +0,0 @@
[directories](!)
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
astsbindir => /usr/sbin
[options]
;verbose = 3
;debug = 3
;alwaysfork = yes ; Same as -F at startup.
;nofork = yes ; Same as -f at startup.
;quiet = yes ; Same as -q at startup.
;timestamp = yes ; Same as -T at startup.
;execincludes = yes ; Support #exec in config files.
;console = yes ; Run as console (same as -c at startup).
;highpriority = yes ; Run realtime priority (same as -p at
; startup).
;initcrypto = yes ; Initialize crypto keys (same as -i at
; startup).
;nocolor = yes ; Disable console colors.
;dontwarn = yes ; Disable some warnings.
;dumpcore = yes ; Dump core on crash (same as -g at startup).
;languageprefix = yes ; Use the new sound prefix path syntax.
;systemname = my_system_name ; Prefix uniqueid with a system name for
; Global uniqueness issues.
;autosystemname = yes ; Automatically set systemname to hostname,
; uses 'localhost' on failure, or systemname if
; set.
;mindtmfduration = 80 ; Set minimum DTMF duration in ms (default 80 ms)
; If we get shorter DTMF messages, these will be
; changed to the minimum duration
;maxcalls = 10 ; Maximum amount of calls allowed.
;maxload = 0.9 ; Asterisk stops accepting new calls if the
; load average exceed this limit.
;maxfiles = 1000 ; Maximum amount of openfiles.
;minmemfree = 1 ; In MBs, Asterisk stops accepting new calls if
; the amount of free memory falls below this
; watermark.
;cache_media_frames = yes ; Cache media frames for performance
; Disable this option to help track down media frame
; mismanagement when using valgrind or MALLOC_DEBUG.
; The cache gets in the way of determining if the
; frame is used after being freed and who freed it.
; NOTE: This option has no effect when Asterisk is
; compiled with the LOW_MEMORY compile time option
; enabled because the cache code does not exist.
; Default yes
;cache_record_files = yes ; Cache recorded sound files to another
; directory during recording.
;record_cache_dir = /tmp ; Specify cache directory (used in conjunction
; with cache_record_files).
;transmit_silence = yes ; Transmit silence while a channel is in a
; waiting state, a recording only state, or
; when DTMF is being generated. Note that the
; silence internally is generated in raw signed
; linear format. This means that it must be
; transcoded into the native format of the
; channel before it can be sent to the device.
; It is for this reason that this is optional,
; as it may result in requiring a temporary
; codec translation path for a channel that may
; not otherwise require one.
;transcode_via_sln = yes ; Build transcode paths via SLINEAR, instead of
; directly.
;runuser = asterisk ; The user to run as.
;rungroup = asterisk ; The group to run as.
;lightbackground = yes ; If your terminal is set for a light-colored
; background.
;forceblackbackground = yes ; Force the background of the terminal to be
; black, in order for terminal colors to show
; up properly.
;defaultlanguage = en ; Default language
documentation_language = en_US ; Set the language you want documentation
; displayed in. Value is in the same format as
; locale names.
;hideconnect = yes ; Hide messages displayed when a remote console
; connects and disconnects.
;lockconfdir = no ; Protect the directory containing the
; configuration files (/etc/asterisk) with a
; lock.
;stdexten = gosub ; How to invoke the extensions.conf stdexten.
; macro - Invoke the stdexten using a macro as
; done by legacy Asterisk versions.
; gosub - Invoke the stdexten using a gosub as
; documented in extensions.conf.sample.
; Default gosub.
;live_dangerously = no ; Enable the execution of 'dangerous' dialplan
; functions from external sources (AMI,
; etc.) These functions (such as SHELL) are
; considered dangerous because they can allow
; privilege escalation.
; Default no
;entityid=00:11:22:33:44:55 ; Entity ID.
; This is in the form of a MAC address.
; It should be universally unique.
; It must be unique between servers communicating
; with a protocol that uses this value.
; This is currently is used by DUNDi and
; Exchanging Device and Mailbox State
; using protocols: XMPP, Corosync and PJSIP.
;rtp_pt_dynamic = 96 ; Normally the Dynamic RTP Payload Type numbers
; are 96-127, which allow 32 formats. When you
; use more and receive the message "No Dynamic
; RTP mapping available", extend the dynamic
; range by going for 35 (or 0) instead of 96.
; This allows 29 (or 64) more formats. 96 is the
; default because any number below might be
; rejected by a remote implementation; although
; no such broken implementation is known, yet.
; Changing the following lines may compromise your security.
;[files]
;astctlpermissions = 0660
;astctlowner = root
;astctlgroup = apache
;astctl = asterisk.ctl

109
version_1.8-reactNative/pabx/etc/asterisk/calendar.conf

@ -1,109 +0,0 @@
;[calendar1]
;type = ical ; type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://example.com/home/jdoe/Calendar/ ; URL to shared calendar (Zimbra example)
;user = jdoe ; web username
;secret = supersecret ; web password
;refresh = 15 ; refresh calendar every n minutes
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
; ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
; The following fields are available from the ${CALENDAR_EVENT(<field>)} dialplan function:
;
; summary : The VEVENT Summary property or Exchange subject
; description : The text description of the vent
; organizer : The organizer of the event
; location : The location field of the event
; calendar : The name of the calendar tied to the event
; uid : The unique ID for this event
; start : Start time of the event
; end : The end time of the event
; busystate : 0=FREE, 1=TENTATIVE, 2=BUSY
;
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/60001 ; Channel to dial
;context = default ; Context to connect to on answer
;extension = 123 ; Extension to connect to on answer
;
; or
;
;app = Playback ; Application to execute on answer (instead of context/extension)
;appdata = tt-weasels ; Data part of application to execute on answer
;
;waittime = 30 ; How long to wait for an answer, defaults to 30 seconds
;
; Channel variables can be set on the notification channel. The format is
; setvar=name=value. Variable subsitution is done on the value to allow the use of dialplan
; functions like CALENDAR_EVENT. The variables are set in order, so one can use the value
; of earlier variables in the definition of later ones.
;
;setvar = CALLERID(name)=${CALENDAR_EVENT(summary)}
;[calendar2]
; Note: Support for Exchange Server 2003
;
;type = exchange ; type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://example.com/exchange/jdoe ; URL to MS Exchange OWA for user (usually includes exchange/user)
;user = jdoe ; Exchange username
;secret = mysecret ; Exchange password
;refresh = 15 ; refresh calendar every n minutes
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
; ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/1234 ; Channel to dial
;context = default ; Context to connect to on answer
;extension = 1234 ; Extension to connect to on answer
;
; or
;
;[calendar3]
; Note: Support for Exchange Server 2007+
;
;type = ews ; type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://example.com/ews/Exchange.asmx ; URL to MS Exchange EWS
;user = jdoe ; Exchange username
;secret = mysecret ; Exchange password
;refresh = 15 ; refresh calendar every n minutes
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
; ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/1234 ; Channel to dial
;context = default ; Context to connect to on answer
;extension = 1234 ; Extension to connect to on answer
;
; or
;
;app = Playback ; Application to execute on answer (instead of context/extension)
;appdata = tt-weasels ; Data part of application to execute on answer
;
;waittime = 30 ; How long to wait for an answer, defaults to 30 seconds
;[calendar4]
;type = caldav ; type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://www.google.com/calendar/dav/username@gmail.com/events/ ; Main GMail calendar (the trailing slash is significant!)
;user = jdoe@gmail.com ; username
;secret = mysecret ; password
;refresh = 15 ; refresh calendar every n minutes
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
; ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/1234 ; Channel to dial
;context = default ; Context to connect to on answer
;extension = 1234 ; Extension to connect to on answer
;
; or
;
;app = Playback ; Application to execute on answer (instead of context/extension)
;appdata = tt-weasels ; Data part of application to execute on answer
;
;waittime = 30 ; How long to wait for an answer, defaults to 30 seconds

205
version_1.8-reactNative/pabx/etc/asterisk/ccss.conf

@ -1,205 +0,0 @@
;
; --- Call Completion Supplementary Services ---
;
; For more information about CCSS, see the CCSS user documentation
; https://wiki.asterisk.org/wiki/display/AST/Call+Completion+Supplementary+Services+(CCSS)
;
[general]
; The cc_max_requests option is a global limit on the number of
; CC requests that may be in the Asterisk system at any time.
;
;cc_max_requests = 20
;
; The cc_STATE_devstate variables listed below can be used to change the
; default mapping of the internal state machine tracking the state of
; call completion to an Asterisk Device State value. The acceptable values
; that can be provided are as follows, with a description of what the
; equivalent device BLF that this maps to:
;
; UNKNOWN ; Device is valid but channel didn't know state
; NOT_INUSE ; Device is not used
; INUSE ; Device is in use
; BUSY ; Device is busy
; INVALID ; Device is invalid
; UNAVAILABLE ; Device is unavailable
; RINGING ; Device is ringing
; RINGINUSE ; Device is ringing *and* in use
; ONHOLD ; Device is on hold
;
; These states are used to generate DEVICE_STATE information that can be
; included with Asterisk hints for phones to subscribe to the state information
; or dialplan to check the state using the EXTENSION_STATE() function or
; the DEVICE_STATE() function.
;
; The states are in the format of: "ccss:TECH/ID" so an example of device
; SIP/3000 making a CallCompletionRequest() could be checked by looking at
; DEVICE_STATE(ccss:SIP/3000) or an Asterisk Hint could be generated such as
;
; [hint-context]
; exten => *843000,hint,ccss:SIP/3000
;
; and then accessed with EXTENSION_STATE(*843000@hint-context)
; or subscribed to with a BLF button on a phone.
;
; The available state mapping and default values are:
;
; cc_available_devstate = NOT_INUSE
; cc_offered_devstate = NOT_INUSE
; cc_caller_requested_devstate = NOT_INUSE
; cc_active_devstate = INUSE
; cc_callee_ready_devstate = INUSE
; cc_caller_busy_devstate = ONHOLD
; cc_recalling_devstate = RINGING
; cc_complete_devstate = NOT_INUSE
; cc_failed_devstate = NOT_INUSE
;
;============================================
; PLEASE READ THIS!!!
; The options described below should NOT be
; set in this file. Rather, they should be
; set per-device in a channel driver
; configuration file.
; PLEASE READ THIS!!!
;===========================================
;
; --------------------------------------------------------------------
; Timers
; --------------------------------------------------------------------
;There are three configurable timers for all types of CC: the
;cc_offer_timer, the ccbs_available_timer, and the ccnr_available_timer.
;In addition, when using a generic agent, there is a fourth timer,
;the cc_recall_timer. All timers are configured in seconds, and the
;values shown below are the defaults.
;
;When a caller is offered CCBS or CCNR, the cc_offer_timer will
;be started. If the caller does not request CC before the
;cc_offer_timer expires, then the caller will be unable to request
;CC for this call.
;
;cc_offer_timer = 20
;
;Once a caller has requested CC, then either the ccbs_available_timer
;or the ccnr_available_timer will run, depending on the service
;requested. The reason why there are two separate timers for CCBS
;and CCNR is that it is reasonable to want to have a shorter timeout
;configured for CCBS than for CCNR. If the available timer expires
;before the called party becomes available, then the CC attempt
;will have failed and monitoring of the called party will stop.
;
;ccbs_available_timer = 4800
;ccnr_available_timer = 7200
;
; When using a generic agent, the original caller is called back
; when one of the original called parties becomes available. The
; cc_recall_timer tells Asterisk how long it should let the original
; caller's phone ring before giving up. Please note that this parameter
; only affects operation when using a generic agent.
;
;cc_recall_timer = 20
; --------------------------------------------------------------------
; Policies
; --------------------------------------------------------------------
; Policy settings tell Asterisk how to behave and what sort of
; resources to allocate in order to facilitate CC. There are two
; settings to control the actions Asterisk will take.
;
; The cc_agent_policy describes the behavior that Asterisk will
; take when communicating with the caller during CC. There are
; three possible options.
;
;never: Never offer CC to the caller. Setting the cc_agent_policy
; to this value is the way to disable CC for a call.
;
;generic: A generic CC agent is one which uses no protocol-specific
; mechanisms to offer CC to the caller. Instead, the caller
; requests CC using a dialplan function. Due to internal
; restrictions, you should only use a generic CC agent on
; phones (i.e. not "trunks"). If you are using phones which
; do not support a protocol-specific method of using CC, then
; generic CC agents are what you should use.
;
;native: A native CC agent is one which uses protocol-specific
; signaling to offer CC to the caller and accept CC requests
; from the caller. The supported protocols for native CC
; agents are SIP, ISDN ETSI PTP, ISDN ETSI PTMP, and Q.SIG
;cc_agent_policy=never
;
; The cc_monitor_policy describes the behavior that Asterisk will
; take when communicating with the called party during CC. There
; are four possible options.
;
;never: Analogous to the cc_agent_policy setting. We will never
; attempt to request CC services on this interface.
;
;generic: Analogous to the cc_agent_policy setting. We will monitor
; the called party's progress using protocol-agnostic
; capabilities. Like with generic CC agents, generic CC
; monitors should only be used for phones.
;
;native: Analogous to the cc_agent_policy setting. We will use
; protocol-specific methods to request CC from this interface
; and to monitor the interface for availability.
;
;always: If an interface is set to "always," then we will accept
; protocol-specific CC offers from the caller and use
; a native CC monitor for the remainder of the CC transaction.
; However, if the interface does not offer protocol-specific
; CC, then we will fall back to using a generic CC monitor
; instead. This is a good setting to use for phones for which
; you do not know if they support protocol-specific CC
; methodologies.
;cc_monitor_policy=never
;
;
; --------------------------------------------------------------------
; Limits
; --------------------------------------------------------------------
;
; The use of CC requires Asterisk to potentially use more memory than
; some administrators would like. As such, it is a good idea to limit
; the number of CC requests that can be in the system at a given time.
; The values shown below are the defaults.
;
; The cc_max_agents setting limits the number of outstanding CC
; requests a caller may have at any given time. Please note that due
; to implementation restrictions, this setting is ignored when using
; generic CC agents. Generic CC agents may only have one outstanding
; CC request.
;
;cc_max_agents = 5
;
; The cc_max_monitors setting limits the number of outstanding CC
; requests can be made to a specific interface at a given time.
;
;cc_max_monitors = 5
;
; --------------------------------------------------------------------
; Other
; --------------------------------------------------------------------
;
; When using a generic CC agent, the caller who requested CC will be
; called back when a called party becomes available. When the caller
; answers his phone, the administrator may opt to have a macro run.
; What this macro does is up to the administrator. By default there
; is no callback macro configured.
;
;cc_callback_macro=
;
; Alternatively, the administrator may run a subroutine. By default
; there is no callback subroutine configured. The subroutine should
; be specified in the format: [[context,]exten,]priority
;
;cc_callback_sub=
;
; When using an ISDN phone and a generic CC agent, Asterisk is unable
; to determine the dialstring that should be used when calling back
; the original caller. Furthermore, if you desire to use any dialstring-
; specific options, such as distinctive ring, you must set this
; configuration option. For non-ISDN phones, it is not necessary to
; set this, since Asterisk can determine the dialstring to use since
; it is identical to the name of the calling device. By default, there
; is no cc_agent_dialstring set.
;
;cc_agent_dialstring=

166
version_1.8-reactNative/pabx/etc/asterisk/cdr.conf

@ -1,166 +0,0 @@
;
; Asterisk Call Detail Record engine configuration
;
; CDR is Call Detail Record, which provides logging services via a variety of
; pluggable backend modules. Detailed call information can be recorded to
; databases, files, etc. Useful for billing, fraud prevention, compliance with
; Sarbanes-Oxley aka The Enron Act, QOS evaluations, and more.
;
[general]
; Define whether or not to use CDR logging. Setting this to "no" will override
; any loading of backend CDR modules. Default is "yes".
;enable=yes
; Define whether or not to log unanswered calls that don't involve an outgoing
; party. Setting this to "yes" will make calls to extensions that don't answer
; and don't set a B side channel (such as by using the Dial application)
; receive CDR log entries. If this option is set to "no", then those log
; entries will not be created. Unanswered Calls which get offered to an
; outgoing line will always receive log entries regardless of this option, and
; that is the intended behaviour.
;unanswered = no
; Define whether or not to log congested calls. Setting this to "yes" will
; report each call that fails to complete due to congestion conditions. Default
; is "no".
;congestion = no
; Normally, CDR's are not closed out until after all extensions are finished
; executing. By enabling this option, the CDR will be ended before executing
; the "h" extension and hangup handlers so that CDR values such as "end" and
; "billsec" may be retrieved inside of of this extension.
; The default value is "no".
;endbeforehexten=no
; Normally, the 'billsec' field logged to the backends (text files or databases)
; is simply the end time (hangup time) minus the answer time in seconds. Internally,
; asterisk stores the time in terms of microseconds and seconds. By setting
; initiatedseconds to 'yes', you can force asterisk to report any seconds
; that were initiated (a sort of round up method). Technically, this is
; when the microsecond part of the end time is greater than the microsecond
; part of the answer time, then the billsec time is incremented one second.
; The default value is "no".
;initiatedseconds=no
; Define the CDR batch mode, where instead of posting the CDR at the end of
; every call, the data will be stored in a buffer to help alleviate load on the
; asterisk server. Default is "no".
;
; WARNING WARNING WARNING
; Use of batch mode may result in data loss after unsafe asterisk termination
; ie. software crash, power failure, kill -9, etc.
; WARNING WARNING WARNING
;
;batch=no
; Define the maximum number of CDRs to accumulate in the buffer before posting
; them to the backend engines. 'batch' must be set to 'yes'. Default is 100.
;size=100
; Define the maximum time to accumulate CDRs in the buffer before posting them
; to the backend engines. If this time limit is reached, then it will post the
; records, regardless of the value defined for 'size'. 'batch' must be set to
; 'yes'. Note that time is in seconds. Default is 300 (5 minutes).
;time=300
; The CDR engine uses the internal asterisk scheduler to determine when to post
; records. Posting can either occur inside the scheduler thread, or a new
; thread can be spawned for the submission of every batch. For small batches,
; it might be acceptable to just use the scheduler thread, so set this to "yes".
; For large batches, say anything over size=10, a new thread is recommended, so
; set this to "no". Default is "no".
;scheduleronly=no
; When shutting down asterisk, you can block until the CDRs are submitted. If
; you don't, then data will likely be lost. You can always check the size of
; the CDR batch buffer with the CLI "cdr status" command. To enable blocking on
; submission of CDR data during asterisk shutdown, set this to "yes". Default
; is "yes".
;safeshutdown=yes
;
;
; CHOOSING A CDR "BACKEND" (what kind of output to generate)
;
; To choose a backend, you have to make sure either the right category is
; defined in this file, or that the appropriate config file exists, and has the
; proper definitions in it. If there are any problems, usually, the entry will
; silently ignored, and you get no output.
;
; Also, please note that you can generate CDR records in as many formats as you
; wish. If you configure 5 different CDR formats, then each event will be logged
; in 5 different places! In the example config files, all formats are commented
; out except for the cdr-csv format.
;
; Here are all the possible back ends:
;
; csv, custom, manager, odbc, pgsql, radius, sqlite, tds
; (also, mysql is available via the asterisk-addons, due to licensing
; requirements)
; (please note, also, that other backends can be created, by creating
; a new backend module in the source cdr/ directory!)
;
; Some of the modules required to provide these backends will not build or install
; unless some dependency requirements are met. Examples of this are pgsql, odbc,
; etc. If you are not getting output as you would expect, the first thing to do
; is to run the command "make menuselect", and check what modules are available,
; by looking in the "2. Call Detail Recording" option in the main menu. If your
; backend is marked with XXX, you know that the "configure" command could not find
; the required libraries for that option.
;
; To get CDRs to be logged to the plain-jane /var/log/asterisk/cdr-csv/Master.csv
; file, define the [csv] category in this file. No database necessary. The example
; config files are set up to provide this kind of output by default.
;
; To get custom csv CDR records, make sure the cdr_custom.conf file
; is present, and contains the proper [mappings] section. The advantage to
; using this backend, is that you can define which fields to output, and in
; what order. By default, the example configs are set up to mimic the cdr-csv
; output. If you don't make any changes to the mappings, you are basically generating
; the same thing as cdr-csv, but expending more CPU cycles to do so!
;
; To get manager events generated, make sure the cdr_manager.conf file exists,
; and the [general] section is defined, with the single variable 'enabled = yes'.
;
; For odbc, make sure all the proper libs are installed, that "make menuselect"
; shows that the modules are available, and the cdr_odbc.conf file exists, and
; has a [global] section with the proper variables defined.
;
; For pgsql, make sure all the proper libs are installed, that "make menuselect"
; shows that the modules are available, and the cdr_pgsql.conf file exists, and
; has a [global] section with the proper variables defined.
;
; For logging to radius databases, make sure all the proper libs are installed, that
; "make menuselect" shows that the modules are available, and the [radius]
; category is defined in this file, and in that section, make sure the 'radiuscfg'
; variable is properly pointing to an existing radiusclient.conf file.
;
; For logging to sqlite databases, make sure the 'cdr.db' file exists in the log directory,
; which is usually /var/log/asterisk. Of course, the proper libraries should be available
; during the 'configure' operation.
;
; For tds logging, make sure the proper libraries are available during the 'configure'
; phase, and that cdr_tds.conf exists and is properly set up with a [global] category.
;
; Also, remember, that if you wish to log CDR info to a database, you will have to define
; a specific table in that databse to make things work! See the doc directory for more details
; on how to create this table in each database.
;
[csv]
usegmtime=yes ; log date/time in GMT. Default is "no"
loguniqueid=yes ; log uniqueid. Default is "no"
loguserfield=yes ; log user field. Default is "no"
accountlogs=yes ; create separate log file for each account code. Default is "yes"
;newcdrcolumns=yes ; Enable logging of post-1.8 CDR columns (peeraccount, linkedid, sequence).
; Default is "no".
;[radius]
;usegmtime=yes ; log date/time in GMT
;loguniqueid=yes ; log uniqueid
;loguserfield=yes ; log user field
; Set this to the location of the radiusclient-ng configuration file
; The default is /etc/radiusclient-ng/radiusclient.conf
;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf

59
version_1.8-reactNative/pabx/etc/asterisk/cdr_adaptive_odbc.conf

@ -1,59 +0,0 @@
; The point of this module is to allow you log whatever you like in terms of
; the CDR variables. Do you want to log uniqueid? Then simply ensure that
; your table has that column. If you don't want the column, ensure that it
; does not exist in the table structure. If you'd like to call uniqueid
; something else in your table, simply provide an alias in the configuration
; file that maps the standard CDR field name (uniqueid) to whatever column
; name you like. Perhaps you'd like some extra CDR values logged that aren't
; in the standard repertoire of CDR variables (some that come to mind are
; certain values used for LCR: route, per_minute_cost, and per_minute_price).
; Simply set those CDR variables in your dialplan, i.e. Set(CDR(route)=27),
; ensure that a corresponding column exists in your table, and cdr_adaptive_odbc
; will do the rest.
;
; This configuration defines the connections and tables for which CDRs may
; be populated. Each context specifies a different CDR table to be used.
;
; The columns in the tables should match up word-for-word (case-insensitive)
; to the CDR variables set in the dialplan. The natural advantage to this
; system is that beyond setting up the configuration file to tell you what
; tables to look at, there isn't anything more to do beyond creating the
; columns for the fields that you want, and populating the corresponding
; CDR variables in the dialplan. For the builtin variables only, you may
; create aliases for the real column name.
;
; Please note that after adding columns to the database, it is necessary to
; reload this module to get the new column names and types read.
;
; Warning: if you specify two contexts with exactly the same connection and
; table names, you will get duplicate records in that table. So be careful.
;
;[first]
;connection=mysql1
;table=cdr
;[second]
;connection=mysql1
;table=extracdr
;[third]
;connection=sqlserver
;table=AsteriskCDR
;schema=public ; for databases which support schemas
;usegmtime=yes ; defaults to no
;alias src => source
;alias channel => source_channel
;alias dst => dest
;alias dstchannel => dest_channel
;
; Any filter specified MUST match exactly or the CDR will be discarded
;filter accountcode => somename
;filter src => 123
; Negative filters are also now available
;filter src != 456
;
; Additionally, we now support setting static values per column. The reason
; for this is to allow different sections to specify different values for
; a certain named column, presumably separated by filters.
;static "Some Special Value" => identifier_code

14
version_1.8-reactNative/pabx/etc/asterisk/cdr_custom.conf

@ -1,14 +0,0 @@
;
; Mappings for custom config file
;
; To get your CSV output in a format tailored to your liking, uncomment the
; following lines and look for the output in the cdr-custom directory (usually
; in /var/log/asterisk). Depending on which mapping you uncomment, you may see
; Master.csv, Simple.csv, or both.
;
;[mappings]
;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration)})},${CSV_QUOTE(${CDR(billsec)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
;
; High Resolution Time for billsec and duration fields
;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration,f)})},${CSV_QUOTE(${CDR(billsec,f)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
;Simple.csv => ${CSV_QUOTE(${EPOCH})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})}

15
version_1.8-reactNative/pabx/etc/asterisk/cdr_manager.conf

@ -1,15 +0,0 @@
;
; Asterisk Call Management CDR
;
[general]
enabled = no
; The "mappings" category can be used to define additional "key: value" pairs
; that will be included in the manager event. (after AccountCode, Source, etc).
;
; Each line like "varname => label" will include a "label: ${CDR(varname)}"
; in the generated event where ${CDR(varname)} its replaced with its value
;
;[mappings]
;rate => Rate
;carrier => Carrier

62
version_1.8-reactNative/pabx/etc/asterisk/cdr_mysql.conf

@ -1,62 +0,0 @@
;
; Note - if the database server is hosted on the same machine as the
; asterisk server, you can achieve a local Unix socket connection by
; setting hostname=localhost
;
; port and sock are both optional parameters. If hostname is specified
; and is not "localhost" (you can use address 127.0.0.1 instead), then
; cdr_mysql will attempt to connect to the port specified or use the
; default port. If hostname is not specified or if hostname is
; "localhost", then cdr_mysql will attempt to connect to the socket file
; specified by sock or otherwise use the default socket file.
;
;[global]
;hostname=database.host.name
;dbname=asteriskcdrdb
;table=cdr
;password=password
;user=asteriskcdruser
;port=3306
;sock=/tmp/mysql.sock
; By default CDRs are logged in the system's time zone
;cdrzone=UTC ; log CDRs with UTC
;usegmtime=yes ;log date/time in GMT. Default is "no"
;cdrzone=America/New_York ; or use a specific time zone
;
; If your system's locale differs from mysql database character set,
; cdr_mysql can damage non-latin characters in CDR variables. Use this
; option to protect your data.
;charset=koi8r
;
; Older versions of cdr_mysql set the calldate field to whenever the
; record was posted, rather than the start date of the call. This flag
; reverts to the old (incorrect) behavior. Note that you'll also need
; to comment out the "start=calldate" alias, below, to use this.
;compat=no
;
; ssl connections (optional)
;ssl_ca=<path to CA cert>
;ssl_cert=<path to cert>
;ssl_key=<path to keyfile>
;
; You may also configure the field names used in the CDR table.
;
[columns]
;static "<value>" => <column>
;alias <cdrvar> => <column>
alias start => calldate
;alias clid => <a_field_not_named_clid>
;alias src => <a_field_not_named_src>
;alias dst => <a_field_not_named_dst>
;alias dcontext => <a_field_not_named_dcontext>
;alias channel => <a_field_not_named_channel>
;alias dstchannel => <a_field_not_named_dstchannel>
;alias lastapp => <a_field_not_named_lastapp>
;alias lastdata => <a_field_not_named_lastdata>
;alias duration => <a_field_not_named_duration>
;alias billsec => <a_field_not_named_billsec>
;alias disposition => <a_field_not_named_disposition>
;alias amaflags => <a_field_not_named_amaflags>
;alias accountcode => <a_field_not_named_accountcode>
;alias userfield => <a_field_not_named_userfield>
;alias uniqueid => <a_field_not_named_uniqueid>

12
version_1.8-reactNative/pabx/etc/asterisk/cdr_odbc.conf

@ -1,12 +0,0 @@
;
; cdr_odbc.conf
;
;[global]
;dsn=MySQL-test
;loguniqueid=yes
;dispositionstring=yes
;table=cdr ;"cdr" is default table name
;usegmtime=no ; set to "yes" to log in GMT
;hrtime=yes ;Enables microsecond accuracy with the billsec and duration fields
;newcdrcolumns=yes ; Enable logging of post-1.8 CDR columns (peeraccount, linkedid, sequence)

16
version_1.8-reactNative/pabx/etc/asterisk/cdr_pgsql.conf

@ -1,16 +0,0 @@
; Sample Asterisk config file for CDR logging to PostgresSQL
;
; Note that you can use TLS connections to your database server.
; This is configured for your PostgreSQL client installation
; on this system (check for pgsessions.conf)
[global]
;hostname=localhost
;port=5432
;dbname=asterisk
;password=password
;user=postgres
;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.
;table=cdr ;SQL table where CDRs will be inserted
;encoding=LATIN9 ; Encoding of logged characters in Asterisk
;timezone=UTC ; Uncomment if you want datetime fields in UTC/GMT

10
version_1.8-reactNative/pabx/etc/asterisk/cdr_sqlite3_custom.conf

@ -1,10 +0,0 @@
;
; Mappings for custom config file
;
[master] ; currently, only file "master.db" is supported, with only one table at a time.
;table => cdr
;columns => calldate, clid, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, userfield, test
;values => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration)}','${CDR(billsec)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'
;Enable High Resolution Times for billsec and duration fields
;values => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration,f)}','${CDR(billsec,f)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'

83
version_1.8-reactNative/pabx/etc/asterisk/cdr_syslog.conf

@ -1,83 +0,0 @@
;
; Asterisk Call Detail Records (CDR) - Syslog Backend
;
; The cdr_syslog module writes CDRs using the facilities provided by syslog.
;
; Not only must you configure cdr_syslog from this file (cdr_syslog.conf) but
; you will also need to make changes to your /etc/syslog.conf before CDRs will
; be written to syslog.
;
; As an example, you can add the following to /etc/syslog.conf:
;
; local4.info /var/log/asterisk-cdr.log
;
; And then instruct syslogd to re-read the configuration file by sending it a
; HUP signal. On Linux this can be done like this:
;
; kill -HUP `cat /var/run/syslogd.pid`
;
; Finally, you will need to uncomment the [cdr-simple] section below, and restart
; Asterisk. When calls are placed, you should start seeing records appear in
; /var/log/asterisk-cdr.log.
[general]
; Facility
;
; The 'facility' keyword specifies the syslog facility to use when writing out
; CDRs.
;
; Accepted values: One of the following:
; user, local0, local1, local2, local3, local4, local5, local6
; and local7.
;
; Note: Depending on your platform, the following may also be
; available:
; auth, authpriv, cron, daemon, ftp, kern, lpr, mail,
; news, syslog, and uucp.
;
; Default value: local4
;facility=local0
; Priority
;
; Use the 'priority' keyword to select which of the syslog priority levels to
; use when logging CDRs.
;
; Accepted values: One of the following:
; alert, crit, debug, emerg, err, info, notice, warning
; Default value: info
;priority=warn
; Note: The settings for 'facility' and 'priority' in the [general] section
; define the default values for all of the logging locations created
; below in separate sections.
;[cdr-master]
;facility = local5
;priority = debug
; Template
;
; The 'template' value allows you to specify a custom format for messages
; written to syslog. This is similar to how cdr_custom is configured.
;
; Allowed values: A diaplan style string.
; Default value: None, this is required field.
;
; Note: Because of the way substitution is done, the only meaningful values
; available when the record is logged are those available via the CDR()
; dialplan function. All other channel variables will be unavailable.
;template = "${CDR(clid)}","${CDR(src)}","${CDR(dst)}","${CDR(dcontext)}","${CDR(channel)}","${CDR(dstchannel)}","${CDR(lastapp)}","${CDR(lastdata)}","${CDR(start)}","${CDR(answer)}","${CDR(end)}","${CDR(duration)}","${CDR(billsec)}","${CDR(disposition)}","${CDR(amaflags)}","${CDR(accountcode)}","${CDR(uniqueid)}","${CDR(userfield)}"
; High Resolution Time for billsec and duration fields
;template = "${CDR(clid)}","${CDR(src)}","${CDR(dst)}","${CDR(dcontext)}","${CDR(channel)}","${CDR(dstchannel)}","${CDR(lastapp)}","${CDR(lastdata)}","${CDR(start)}","${CDR(answer)}","${CDR(end)}","${CDR(duration,f)}","${CDR(billsec,f)}","${CDR(disposition)}","${CDR(amaflags)}","${CDR(accountcode)}","${CDR(uniqueid)}","${CDR(userfield)}"
;[cdr-simple]
; Since we don't specify a facility or priority for this logging location, the
; records will use the defaults specified in the [general] section.
;template = "We received a call from ${CDR(src)}"

77
version_1.8-reactNative/pabx/etc/asterisk/cdr_tds.conf

@ -1,77 +0,0 @@
;
; Asterisk Call Detail Records (CDR) - FreeTDS Backend
;
;[global]
; Connection
;
; Use the 'connection' keyword to specify one of the instance names from your
; 'freetds.conf' file. Note that 'freetds.conf' is not an Asterisk
; configuration file, but one specific to the FreeTDS library. See the FreeTDS
; documentation on 'freetds.conf' for more information:
;
; http://www.freetds.org/userguide/freetdsconf.htm
;
; Accepted values: One of the connections specified in freetds.conf
;connection=ConnectionFromFreeTDSConf
; Database Name
;
; The 'dbname' keyword specifies the database name to use when logging CDRs.
;
; Accepted values: Any valid database name
;dbname=AsteriskCDRs
; Database Table Name
;
; The 'table' keyword identifies which database table is used to log CDRs.
;
; Accepted value: Any valid table name
; Default value: If not specified, a table named 'cdr' is assumed
;table=cdr
; Credentials
;
; The 'username' and 'password' keywords specify the user credentials that
; Asterisk should use when connecting to the database.
;
; Accepted value: Any valid username and password
;username=mangUsr
;password=
; Language
;
; The 'language' keyword changes the language which are used for error and
; information messages returned by SQL Server. Each database and user has their
; own default value, and this default can be overriden here.
;
; Accepted value: Any language installed on the target SQL Server.
; Default value: us_english
;language=us_english
; Character Set
;
; The 'charset' setting is used to change the character set used when connecting
; to the database server. Each database and database user has their own
; character set setting, and this default can be overriden here.
;
; Accepted value: Any valid character set available on the target SQL server.
; Default value: iso_1
;charset=BIG5
; High Resolution Times
;
; The 'hrtime' setting is used to store high resolution (sub second) times for
; billsec and duration fields.
;
; Accepted value: true or false
; Default value: false
;hrtime=false

116
version_1.8-reactNative/pabx/etc/asterisk/cel.conf

@ -1,116 +0,0 @@
;
; Asterisk Channel Event Logging (CEL)
;
; Channel Event Logging is a mechanism to provide fine-grained event information
; that can be used to generate billing information. Such event information can
; be recorded to various backend modules.
;
[general]
; CEL Activation
;
; Use the 'enable' keyword to turn CEL on or off.
;
; Accepted values: yes and no
; Default value: no
;enable=yes
; Application Tracking
;
; Use the 'apps' keyword to specify the list of applications for which you want
; to receive CEL events. This is a comma separated list of Asterisk dialplan
; applications, such as Dial, Queue, and Park.
;
; Accepted values: A comma separated list of Asterisk dialplan applications
; Default value: none
;
; Note: You may also use 'all' which will result in CEL events being reported
; for all Asterisk applications. This may affect Asterisk's performance
; significantly.
apps=dial,park
; Event Tracking
;
; Use the 'events' keyword to specify the list of events which you want to be
; raised when they occur. This is a comma separated list of the values in the
; table below.
;
; Accepted values: A comma separated list of one or more of the following:
; ALL -- Generate entries on all events
; CHAN_START -- The time a channel was created
; CHAN_END -- The time a channel was terminated
; ANSWER -- The time a channel was answered (ie, phone taken off-hook)
; HANGUP -- The time at which a hangup occurred
; BRIDGE_ENTER -- The time a channel was connected into a conference room
; BRIDGE_EXIT -- The time a channel was removed from a conference room
; APP_START -- The time a tracked application was started
; APP_END -- the time a tracked application ended
; PARK_START -- The time a call was parked
; PARK_END -- Unpark event
; BLINDTRANSFER -- When a blind transfer is initiated
; ATTENDEDTRANSFER -- When an attended transfer is initiated
; PICKUP -- This channel picked up the specified channel
; FORWARD -- This channel is being forwarded somewhere else
; LINKEDID_END -- The last channel with the given linkedid is retired
; USER_DEFINED -- Triggered from the dialplan, and has a name given by the
; user
; LOCAL_OPTIMIZE -- A local channel pair is optimizing away.
;
; Default value: none
; (Track no events)
events=APP_START,CHAN_START,CHAN_END,ANSWER,HANGUP,BRIDGE_ENTER,BRIDGE_EXIT
; Date Format
;
; Use the 'dateformat' keyword to specify the date format used when CEL events
; are raised.
;
; Accepted values: A strftime format string (see man strftime)
;
; Example: "%F %T"
; -> This gives the date and time in the format "2009-06-23 17:02:35"
;
; If this option is not specified, the default format is "<seconds>.<microseconds>"
; since epoch. The microseconds field will always be 6 digits in length, meaning it
; may have leading zeros.
;
;dateformat = %F %T
;
; Asterisk Manager Interface (AMI) CEL Backend
;
[manager]
; AMI Backend Activation
;
; Use the 'enable' keyword to turn CEL logging to the Asterisk Manager Interface
; on or off.
;
; Accepted values: yes and no
; Default value: no
;enabled=yes
; Use 'show_user_defined' to put "USER_DEFINED" in the EventName header,
; instead of (by default) just putting the user defined event name there.
; When enabled the UserDefType header is added for user defined events to
; provide the user defined event name.
;
;show_user_defined=yes
;
; RADIUS CEL Backend
;
[radius]
;
; Log date/time in GMT
;usegmtime=yes
;
; Set this to the location of the radiusclient-ng configuration file
; The default is /etc/radiusclient-ng/radiusclient.conf
;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf
;

35
version_1.8-reactNative/pabx/etc/asterisk/cel_custom.conf

@ -1,35 +0,0 @@
;
; Asterisk Channel Event Logging (CEL) - Custom CSV Backend
;
; This is the configuration file for the customizable CSV backend for CEL
; logging.
;
; In order to create custom CSV logs for CEL, uncomment the template below
; (Master.csv) and start Asterisk. Once CEL events are generated, a file will
; appear in the following location:
;
; /var/log/asterisk/cel-custom/Master.csv
;
; (Note that /var/log/asterisk is the default and may differ on your system)
;
; You can also create more than one template if desired. All logs will appear
; in the cel-custom directory under your Asterisk logs directory.
;
;
; Within a mapping, use the CALLERID() and CHANNEL() functions to retrieve
; details from the CEL event. There are also a few variables created by this
; module that can be used in a mapping:
;
; eventtype - The name of the CEL event.
; eventtime - The timestamp of the CEL event.
; eventenum - Like eventtype but is "USER_DEFINED" for a user defined event.
; userdeftype - User defined event type name from CELGenUserEvent().
; eventextra - Extra data included with this CEL event, typically along with
; an event of type USER_DEFINED from CELGenUserEvent().
; BRIDGEPEER - Bridged peer channel name at the time of the CEL event.
; CHANNEL(peer) could also be used.
;
[mappings]
;Master.csv => ${CSV_QUOTE(${eventtype})},${CSV_QUOTE(${eventtime})},${CSV_QUOTE(${CALLERID(name)})},${CSV_QUOTE(${CALLERID(num)})},${CSV_QUOTE(${CALLERID(ANI)})},${CSV_QUOTE(${CALLERID(RDNIS)})},${CSV_QUOTE(${CALLERID(DNID)})},${CSV_QUOTE(${CHANNEL(exten)})},${CSV_QUOTE(${CHANNEL(context)})},${CSV_QUOTE(${CHANNEL(channame)})},${CSV_QUOTE(${CHANNEL(appname)})},${CSV_QUOTE(${CHANNEL(appdata)})},${CSV_QUOTE(${CHANNEL(amaflags)})},${CSV_QUOTE(${CHANNEL(accountcode)})},${CSV_QUOTE(${CHANNEL(uniqueid)})},${CSV_QUOTE(${CHANNEL(linkedid)})},${CSV_QUOTE(${BRIDGEPEER})},${CSV_QUOTE(${CHANNEL(userfield)})},${CSV_QUOTE(${userdeftype})},${CSV_QUOTE(${eventextra})}

108
version_1.8-reactNative/pabx/etc/asterisk/cel_odbc.conf

@ -1,108 +0,0 @@
;
; Asterisk Channel Event Logging (CEL) - Adaptive ODBC Backend
;
; General module options category.
[general]
; Use 'show_user_defined' to put "USER_DEFINED" in the eventtype field,
; instead of (by default) just putting the user defined event name there.
;
;show_user_defined=yes
; This configuration defines the connections and tables for which CEL records
; may be populated. Each context specifies a different CEL table to be used.
;
; The columns in the tables should match up word-for-word (case-insensitive) to
; the CEL variables set in the dialplan. The natural advantage to this system
; is that beyond setting up the configuration file to tell you what tables to
; look at, there isn't anything more to do beyond creating the columns for the
; fields that you want, and populating the corresponding CEL variables in the
; dialplan.
;
; Please note that after adding columns to the database, it is necessary to
; reload this module to get the new column names and types read.
;
; Warning: if you specify two contexts with exactly the same connection and
; table names, you will get duplicate records in that table. So be careful.
;
; CEL FIELDS:
; eventtype
; CHANNEL_START = 1
; CHANNEL_END = 2
; HANGUP = 3
; ANSWER = 4
; APP_START = 5
; APP_END = 6
; BRIDGE_START = 7
; BRIDGE_END = 8
; CONF_START = 9
; CONF_END = 10
; PARK_START = 11
; PARK_END = 12
; BLINDTRANSFER = 13
; ATTENDEDTRANSFER = 14
; TRANSFER = 15
; HOOKFLASH = 16
; 3WAY_START = 17
; 3WAY_END = 18
; CONF_ENTER = 19
; CONF_EXIT = 20
; USER_DEFINED = 21
; LINKEDID_END = 22
; BRIDGE_UPDATE = 23
; PICKUP = 24
; FORWARD = 25
; eventtime (timeval, includes microseconds)
; userdeftype (set only if eventtype == USER_DEFINED)
; cid_name
; cid_num
; cid_ani
; cid_rdnis
; cid_dnid
; exten
; context
; channame
; appname
; appdata
; accountcode
; peeraccount
; uniqueid
; linkedid
; amaflags (an int)
; userfield
; peer
; extra
; The point of this module is to allow you log whatever you like in terms of the
; CEL variables. Do you want to log uniqueid? Then simply ensure that your
; table has that column. If you don't want the column, ensure that it does not
; exist in the table structure. If you'd like to call uniqueid something else
; in your table, simply provide an alias in this file that maps the standard CEL
; field name (uniqueid) to whatever column name you like.
;[first]
;connection=mysql1
;table=cel
;[second]
;connection=mysql1
;table=extracel
;[third]
;connection=sqlserver
;table=AsteriskCEL
;usegmtime=yes ; defaults to no
;allowleapsecond=no ; allow leap second in SQL column for eventtime, default yes.
;alias src => source
;alias channel => source_channel
;alias dst => dest
;alias dstchannel => dest_channel
; Any filter specified MUST match exactly or the event will be discarded
;filter accountcode => somename
;filter src => 123
; Additionally, we now support setting static values per column. Reason
; for this is to allow different sections to specify different values for
; a certain named column, presumably separated by filters.
;static "Some Special Value" => identifier_code

68
version_1.8-reactNative/pabx/etc/asterisk/cel_pgsql.conf

@ -1,68 +0,0 @@
;
; Asterisk Channel Event Logging (CEL) - PostgreSQL Backend
;
; Sample Asterisk config file for CEL logging to PostgreSQL
;
; CEL field names:
;
; eventtype
; CHANNEL_START = 1
; CHANNEL_END = 2
; HANGUP = 3
; ANSWER = 4
; APP_START = 5
; APP_END = 6
; BRIDGE_START = 7
; BRIDGE_END = 8
; CONF_START = 9
; CONF_END = 10
; PARK_START = 11
; PARK_END = 12
; BLINDTRANSFER = 13
; ATTENDEDTRANSFER = 14
; TRANSFER = 15
; HOOKFLASH = 16
; 3WAY_START = 17
; 3WAY_END = 18
; CONF_ENTER = 19
; CONF_EXIT = 20
; USER_DEFINED = 21
; LINKEDID_END = 22
; BRIDGE_UPDATE = 23
; PICKUP = 24
; FORWARD = 25
; eventtime (timeval, includes microseconds)
; userdeftype (set only if eventtype == USER_DEFINED)
; cid_name
; cid_num
; cid_ani
; cid_rdnis
; cid_dnid
; exten
; context
; channame
; appname
; appdata
; accountcode
; peeraccount
; uniqueid
; linkedid
; amaflags (an int)
; userfield
; peer
; extra
[global]
; Use 'show_user_defined' to put "USER_DEFINED" in the eventtype field,
; instead of (by default) just putting the user defined event name there.
;
;show_user_defined=yes
;hostname=localhost
;port=5432
;dbname=asterisk
;password=password
;user=postgres
;table=cel ;SQL table where CEL's will be inserted
;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.

24
version_1.8-reactNative/pabx/etc/asterisk/cel_sqlite3_custom.conf

@ -1,24 +0,0 @@
;
; Asterisk Channel Event Logging (CEL) - SQLite 3 Backend
;
;
; Mappings for sqlite3 config file
;
; Within a mapping, use the CALLERID() and CHANNEL() functions to retrieve
; details from the CEL event. There are also a few variables created by this
; module that can be used in a mapping:
;
; eventtype - The name of the CEL event.
; eventtime - The timestamp of the CEL event.
; eventenum - Like eventtype but is "USER_DEFINED" for a user defined event.
; userdeftype - User defined event type name from CELGenUserEvent().
; eventextra - Extra data included with this CEL event, typically along with
; an event of type USER_DEFINED from CELGenUserEvent().
; BRIDGEPEER - Bridged peer channel name at the time of the CEL event.
; CHANNEL(peer) could also be used.
;
;[master] ; currently, only file "master.db" is supported, with only one table at a time.
;table => cel
;columns => eventtype, eventtime, cidname, cidnum, cidani, cidrdnis, ciddnid, context, exten, channame, appname, appdata, amaflags, accountcode, uniqueid, userfield, peer, userdeftype, eventextra
;values => '${eventtype}','${eventtime}','${CALLERID(name)}','${CALLERID(num)}','${CALLERID(ANI)}','${CALLERID(RDNIS)}','${CALLERID(DNID)}','${CHANNEL(context)}','${CHANNEL(exten)}','${CHANNEL(channame)}','${CHANNEL(appname)}','${CHANNEL(appdata)}','${CHANNEL(amaflags)}','${CHANNEL(accountcode)}','${CHANNEL(uniqueid)}','${CHANNEL(userfield)}','${BRIDGEPEER}','${userdeftype}','${eventextra}'

69
version_1.8-reactNative/pabx/etc/asterisk/cel_tds.conf

@ -1,69 +0,0 @@
;
; Asterisk Channel Event Logging (CEL) - FreeTDS Backend
;
;[global]
; Connection
;
; Use the 'connection' keyword to specify one of the instance names from your
; 'freetds.conf' file. Note that 'freetds.conf' is not an Asterisk
; configuration file, but one specific to the FreeTDS library. See the FreeTDS
; documentation on 'freetds.conf' for more information:
;
; http://www.freetds.org/userguide/freetdsconf.htm
;
; Accepted values: One of the connections specified in freetds.conf
;connection=ConnectionFromFreeTDSConf
; Database Name
;
; The 'dbname' keyword specifies the database name to use when logging CEL
; records.
;
; Accepted values: Any valid database name
;dbname=MalicoHN
; Database Table Name
;
; The 'table' keyword identifies which database table is used to log CEL
; records.
;
; Accepted value: Any valid table name
; Default value: If not specified, a table named 'cel' is assumed
;table=cel
; Credentials
;
; The 'username' and 'password' keywords specify the user credentials that
; Asterisk should use when connecting to the database.
;
; Accepted value: Any valid username and password
;username=mangUsr
;password=
; Language
;
; The 'language' keyword changes the language which are used for error and
; information messages returned by SQL Server. Each database and user has their
; own default value, and this default can be overriden here.
;
; Accepted value: Any language installed on the target SQL Server.
; Default value: Server default
;language=us_english
; Character Set
;
; The 'charset' setting is used to change the character set used when connecting
; to the database server. Each database and database user has their own
; character set setting, and this default can be overriden here.
;
; Accepted value: Any valid character set available on the target server.
; Default value: Server setting
;charset=BIG5

1720
version_1.8-reactNative/pabx/etc/asterisk/chan_dahdi.conf

File diff suppressed because it is too large Load Diff

69
version_1.8-reactNative/pabx/etc/asterisk/chan_mobile.conf

@ -1,69 +0,0 @@
;
; chan_mobile.conf
; configuration file for chan_mobile
;
[general]
interval=30 ; Number of seconds between trying to connect to devices.
; The following is a list of adapters we use.
; id must be unique and address is the bdaddr of the adapter from hciconfig.
; Each adapter may only have one device (headset or phone) connected at a time.
; Add an [adapter] entry for each adapter you have.
[adapter]
id=blue
address=00:09:DD:60:01:A3
;forcemaster=yes ; attempt to force adapter into master mode. default is no.
;alignmentdetection=yes ; enable this if you sometimes get 'white noise' on asterisk side of the call
; its a bug in the bluetooth adapter firmware, enabling this will compensate for it.
; default is no.
[adapter]
id=dlink
address=00:80:C8:35:52:78
; The following is a list of the devices we deal with.
; Every device listed below will be available for calls in and out of Asterisk.
; Each device needs an adapter=xxxx entry which determines which bluetooth adapter is used.
; Use the CLI command 'mobile search' to discover devices.
; Use the CLI command 'mobile show devices' to see device status.
;
; To place a call out through a mobile phone use Dial(Mobile/[device]/NNN.....) or Dial(Mobile/gn/NNN......) in your dialplan.
; To call a headset use Dial(Mobile/[device]).
[LGTU550]
address=00:E0:91:7F:46:44 ; the address of the phone
port=4 ; the rfcomm port number (from mobile search)
context=incoming-mobile ; dialplan context for incoming calls
adapter=dlink ; adapter to use
group=1 ; this phone is in channel group 1
;sms=no ; support SMS, defaults to yes
;nocallsetup=yes ; set this only if your phone reports that it supports call progress notification, but does not do it. Motorola L6 for example.
[blackberry]
address=00:60:57:32:7E:B2
port=2
context=incoming-mobile
adapter=dlink
group=1
;blackberry=yes ; set this if you are using a blackberry device
[6310i]
address=00:60:57:32:7E:B1
port=13
context=incoming-mobile
adapter=dlink
group=1 ; this phone is in channel group 1 also.
[headset]
address=00:0B:9E:11:AE:C6
port=1
type=headset ; This is a headset, not a Phone !
adapter=blue
[headset1]
address=00:0B:9E:11:74:A5
port=1
type=headset
adapter=dlink

12
version_1.8-reactNative/pabx/etc/asterisk/cli.conf

@ -1,12 +0,0 @@
;
; Asterisk CLI configuration
;
[startup_commands]
;
; Any commands listed in this section will get automatically executed
; when Asterisk starts as a daemon or foreground process (-c).
;
;sip set debug on = yes
;core set verbose 3 = yes
;core set debug 1 = yes

203
version_1.8-reactNative/pabx/etc/asterisk/cli_aliases.conf

@ -1,203 +0,0 @@
;
; CLI Aliases configuration
;
; This module also registers a "cli show aliases" CLI command to list
; configured CLI aliases.
[general]
; Here you define what alias templates you want to use. You can also define
; multiple templates to use as well. If you do, and there is a conflict, then
; the first alias defined will win.
;
template = friendly ; By default, include friendly aliases
;template = asterisk_1dot2 ; Asterisk 1.2 style syntax
;template = asterisk_1dot4 ; Asterisk 1.4 style syntax
;template = individual_custom ; see [individual_custom] example below which
; includes a list of aliases from an external
; file
; Because the Asterisk CLI syntax follows a "module verb argument" syntax,
; sometimes we run into an issue between being consistant with this format
; in the core system, and maintaining system friendliness. In order to get
; around this we're providing some useful aliases by default.
;
[friendly]
hangup request=channel request hangup
originate=channel originate
help=core show help
pri intense debug span=pri set debug intense span
reload=module reload
pjsip reload=module reload res_pjsip.so res_pjsip_authenticator_digest.so res_pjsip_endpoint_identifier_ip.so res_pjsip_mwi.so res_pjsip_notify.so res_pjsip_outbound_publish.so res_pjsip_publish_asterisk.so res_pjsip_outbound_registration.so
; CLI Alias Templates
; -------------------
;
; You can define several alias templates.
; It works with context templates like all other configuration files
;
;[asterisk](!)
; To create an alias you simply set the variable name as the alias and variable
; value as the real CLI command you want executed
;
;die die die=stop now
;[asterisk_1dot6](asterisk)
; Alias for making voicemail reload actually do module reload app_voicemail.so
;voicemail reload=module reload app_voicemail.so
; This will make the CLI command "mr" behave as though it is "module reload".
;mr=module reload
;
;
; In addition, you could also include a flat file of aliases which is loaded by
; the [individual_custom] template in the [general] section.
;
;[individual_custom]
;#include "/etc/asterisk/aliases"
; Implemented CLI Alias Templates
; -------------------------------
;
; Below here we have provided you with some templates, easily allowing you to
; utilize previous Asterisk CLI commands with any version of Asterisk. In this
; way you will be able to use Asterisk 1.2 and 1.4 style CLI syntax with any
; version Asterisk going forward into the future.
;
; We have also separated out the vanilla syntax into a context template which
; allows you to keep your custom changes separate of the standard templates
; we have provided you. In this way you can clearly see your custom changes,
; and also allowing you to combine various templates as you see fit.
;
; The naming scheme we have used is recommended, but certainly is not enforced
; by Asterisk. If you wish to use the provided templates, simply define the
; context name which does not utilize the '_tpl' at the end. For example,
; if you would like to use the Asterisk 1.2 style syntax, define in the
; [general] section
[asterisk_1dot2_tpl](!)
show channeltypes=core show channeltypes
show channeltype=core show channeltype
show manager command=manager show command
show manager commands=manager show commands
show manager connected=manager show connected
show manager eventq=manager show eventq
rtp no debug=rtp set debug off
rtp rtcp debug ip=rtcp debug ip
rtp rtcp debug=rtcp debug
rtp rtcp no debug=rtcp debug off
rtp rtcp stats=rtcp stats
rtp rtcp no stats=rtcp stats off
stun no debug=stun debug off
udptl no debug=udptl debug off
show image formats=core show image formats
show file formats=core show file formats
show applications=core show applications
show functions=core show functions
show switches=core show switches
show hints=core show hints
show globals=core show globals
show function=core show function
show application=core show application
set global=core set global
show dialplan=dialplan show
show codecs=core show codecs
show audio codecs=core show audio codecs
show video codecs=core show video codecs
show image codecs=core show image codecs
show codec=core show codec
moh classes show=moh show classes
moh files show=moh show files
agi no debug=agi debug off
show agi=agi show
dump agihtml=agi dumphtml
show features=feature show
show indications=indication show
answer=console answer
hangup=console hangup
flash=console flash
dial=console dial
mute=console mute
unmute=console unmute
transfer=console transfer
send text=console send text
autoanswer=console autoanswer
oss boost=console boost
console=console active
save dialplan=dialplan save
add extension=dialplan add extension
remove extension=dialplan remove extension
add ignorepat=dialplan add ignorepat
remove ignorepat=dialplan remove ignorepat
include context=dialplan add include
dont include=dialplan remove include
extensions reload=dialplan reload
show translation=core show translation
convert=file convert
show queue=queue show
add queue member=queue add member
remove queue member=queue remove member
ael no debug=ael nodebug
sip debug=sip set debug
sip no debug=sip set debug off
show voicemail users=voicemail show users
show voicemail zones=voicemail show zones
iax2 trunk debug=iax2 set debug trunk
iax2 jb debug=iax2 set debug jb
iax2 no debug=iax2 set debug off
iax2 no trunk debug=iax2 set debug trunk off
iax2 no jb debug=iax2 set debug jb off
show agents=agent show
show agents online=agent show online
show memory allocations=memory show allocations
show memory summary=memory show summary
show version=core show version
show version files=core show file version
show profile=core show profile
clear profile=core clear profile
soft hangup=channel request hangup
[asterisk_1dot2](asterisk_1dot2_tpl)
; add any additional custom commands you want below here, for example:
;die quickly=stop now
[asterisk_1dot4_tpl](!)
cdr status=cdr show status
rtp debug=rtp set debug on
rtcp debug=rtcp set debug on
rtcp stats=rtcp set stats on
stun debug=stun set debug on
udptl debug=udptl set debug on
core show globals=dialplan show globals
core set global=dialplan set global
core set chanvar=dialplan set chanvar
agi dumphtml=agi dump html
ael debug=ael set debug
funcdevstate list=devstate list
sip history=sip set history on
skinny debug=skinny set debug on
mgcp set debug=mgcp set debug on
abort shutdown=core abort shutdown
stop now=core stop now
stop gracefully=core stop gracefully
stop when convenient=core stop when convenient
restart now=core restart now
restart gracefully=core restart gracefully
restart when convenient=core restart when convenient
soft hangup=channel request hangup
[asterisk_1dot4](asterisk_1dot4_tpl)
; add any additional custom commands you want below here.
[asterisk_11_tpl](!)
jabber list nodes=xmpp list nodes
jabber purge nodes=xmpp purge nodes
jabber delete node=xmpp delete node
jabber create collection=xmpp create collection
jabber create leaf=xmpp create leaf
jabber set debug=xmpp set debug
jabber show connections=xmpp show connections
jabber show buddies=xmpp show buddies
features reload=module reload features
[asterisk_11](asterisk_11_tpl)
; add any additional custom commands you want below here.

82
version_1.8-reactNative/pabx/etc/asterisk/cli_permissions.conf

@ -1,82 +0,0 @@
;
; CLI permissions configuration example for Asterisk
;
; All the users that you want to connect with asterisk using
; rasterisk, should have write/read access to the
; asterisk socket (asterisk.ctl). You could change the permissions
; of this file in 'asterisk.conf' config parameter: 'astctlpermissions' (0666)
; found on the [files] section.
;
; general options:
;
; default_perm = permit | deny
; This is the default permissions to apply for a user that
; does not has a permissions definided.
;
; user options:
; permit = <command name> | all ; allow the user to run 'command' |
; ; allow the user to run 'all' the commands
; deny = <command name> | all ; disallow the user to run 'command' |
; ; disallow the user to run 'all' commands.
;
[general]
default_perm=permit ; To leave asterisk working as normal
; we should set this parameter to 'permit'
;
; Follows the per-users permissions configs.
;
; This list is read in the sequence that is being written, so
; In this example the user 'eliel' is allow to run only the following
; commands:
; sip show peer
; core set debug
; core set verbose
; If the user is not specified, the default_perm option will be apply to
; every command.
;
; Notice that you can also use regular expressions to allow or deny access to a
; certain command like: 'core show application D*'. In this example the user will be
; allowed to view the documentation for all the applications starting with 'D'.
; Another regular expression could be: 'channel originate SIP/[0-9]* extension *'
; allowing the user to use 'channel originate' on a sip channel and with the 'extension'
; parameter and avoiding the use of the 'application' parameter.
;
; We can also use the templates syntax:
; [supportTemplate](!)
; deny=all
; permit=sip show ; all commands starting with 'sip show' will be allowed
; permit=core show
;
; You can specify permissions for a local group instead of a user,
; just put a '@' and we will know that is a group.
; IMPORTANT NOTE: Users permissions overwrite group permissions.
;
;[@adm]
;deny=all
;permit=sip
;permit=core
;
;
;[eliel]
;deny=all
;permit=sip show peer
;deny=sip show peers
;permit=core set
;
;
;User 'tommy' inherits from template 'supportTemplate':
; deny=all
; permit=sip show
; permit=core show
;[tommy](supportTemplate)
;permit=core set debug
;permit=dialplan show
;
;
;[mark]
;deny=all
;permit=all
;
;

211
version_1.8-reactNative/pabx/etc/asterisk/codecs.conf

@ -1,211 +0,0 @@
[speex]
; CBR encoding quality [0..10]
; used only when vbr = false
quality => 3
; codec complexity [0..10]
; tradeoff between cpu/quality
complexity => 2
; perceptual enhancement [true / false]
; improves clarity of decoded speech
enhancement => true
; voice activity detection [true / false]
; reduces bitrate when no voice detected, used only for CBR
; (implicit in VBR/ABR)
vad => true
; variable bit rate [true / false]
; uses bit rate proportionate to voice complexity
vbr => true
; available bit rate [bps, 0 = off]
; encoding quality modulated to match this target bit rate
; not recommended with dtx or pp_vad - may cause bandwidth spikes
abr => 0
; VBR encoding quality [0-10]
; floating-point values allowed
vbr_quality => 4
; discontinuous transmission [true / false]
; stops transmitting completely when silence is detected
; pp_vad is far more effective but more CPU intensive
dtx => false
; preprocessor configuration
; these options only affect Speex v1.1.8 or newer
; enable preprocessor [true / false]
; allows dsp functionality below but incurs CPU overhead
preprocess => false
; preproc voice activity detection [true / false]
; more advanced equivalent of DTX, based on voice frequencies
pp_vad => false
; preproc automatic gain control [true / false]
pp_agc => false
pp_agc_level => 8000
; preproc denoiser [true / false]
pp_denoise => false
; preproc dereverb [true / false]
pp_dereverb => false
pp_dereverb_decay => 0.4
pp_dereverb_level => 0.3
[plc]
; for all codecs which do not support native PLC
; this determines whether to perform generic PLC
; there is a minor performance penalty for this.
; By default plc is applied only when the 2 codecs
; in a channel are different.
genericplc => true
; Apply generic plc to channels even if the 2 codecs
; are the same. This forces transcoding via slin so
; the performance impact should be considered.
; Ignored if genericplc is not also enabled.
genericplc_on_equal_codecs => false
; Generate custom formats for formats requiring attributes.
; After defining the custom format, the name used in defining
; the format can be used throughout Asterisk in the format 'allow'
; and 'disallow' options.
;
; Example: silk8 is a predefined custom format in this config file.
; Once this config file is loaded, silk8 can be used anywhere a
; peer's codec capabilities are defined.
;
; In sip.conf 'silk8' can be defined as a capability for a peer.
; [peer1]
; type=peer
; host=dynamic
; disallow=all
; allow=silk8 ;custom codec defined in codecs.conf
;
; LIMITATIONS
; Custom formats can only be defined at startup. Any changes to this
; file made after startup will not take into effect until after Asterisk
; is restarted.
;
; Default Custom SILK format definitions, only one custom SILK format per
; sample rate is allowed.
[silk8]
type=silk
samprate=8000
fec=true ; turn on or off encoding with forward error correction.
; On recommended, off by default.
packetloss_percentage=10 ; Estimated packet loss percentage in uplink direction. This
; affects how much redundancy is built in when using fec.
; The higher the percentage, the larger amount of bandwidth is
; used. Default is 0%, 10% is recommended when fec is in use.
maxbitrate=10000 ; Use the table below to make sure a useful bitrate is choosen
; for maxbitrate. If not set or value is not within the bounds
; of the encoder, a default value is chosen.
;
; sample rate | bitrate range
; 8khz | 5000 - 20000 bps
; 12khz | 7000 - 25000 bps
; 16khz | 8000 - 30000 bps
; 24khz | 20000- 40000 bps
;
;dtx=true ; Encode using discontinuous transmission mode or not. Turning this
; on will save bandwidth during periods of silence at the cost of
; increased computational complexity. Off by default.
[silk12]
type=silk
samprate=12000
maxbitrate=12000
fec=true
packetloss_percentage=10;
[silk16]
type=silk
samprate=16000
maxbitrate=20000
fec=true
packetloss_percentage=10;
[silk24]
type=silk
samprate=24000
maxbitrate=30000
fec=true
packetloss_percentage=10;
; Default custom CELT codec definitions. Only one custom CELT definition is allowed
; per a sample rate.
;[celt44]
;type=celt
;samprate=44100 ; The samplerate in hz. This option is required.
;framesize=480 ; The framesize option represents the duration of each frame in samples.
; This must be a factor of 2. This option is only advertised in an SDP
; when it is set. Otherwise a default of framesize of 480 is assumed
; internally
;[celt48]
;type=celt
;samprate=48000
;[celt32]
;type=celt
;samprate=32000
;============================ OPUS Section Options ============================
;
; NOTE: Accurate documentation corresponding to your downloaded version of
; codec_opus is available from Asterisk's CLI:
;
; *CLI> config show help codec_opus opus
;
;[opus]
;type= ; Must be of type "opus" (default: "")
;packet_loss= ; Encoder's packet loss percentage. Can be any number between 0
; and 100, inclusive. A higher value results in more loss
; resistance. (default: 0)
;complexity= ; Encoder's computational complexity. Can be any number between 0
; and 10, inclusive. Note, 10 equals the highest complexity.
; (default: 10)
;max_bandwidth= ; Encoder's maximum bandwidth allowed. Sets an upper bandwidth
; bound on the encoder. Can be any of the following: narrow,
; medium, wide, super_wide, full. (default: full)
;signal= ; Encoder's signal type. Aids in mode selection on the encoder: Can
; be any of the following: auto, voice, music. (default: auto)
;application= ; Encoder's application type. Can be any of the following: voip,
; audio, low_delay. (default: voip)
;max_playback_rate= ; Override the maximum playback rate in the offer's SDP.
; Any value between 8000 and 48000 (inclusive) is valid,
; however typically it should match one of the usual opus
; bandwidths. (default: 48000)
;bitrate= ; Override the maximum average bitrate in the offer's SDP. Any value
; between 500 and 512000 is valid. The following values are also
; allowed: auto, max. (default: auto)
;cbr= ; Override the constant bit rate parameter in the offer's SDP. A value of
; 0/false/no represents a variable bit rate whereas 1/true/yes represents
; a constant bit rate. (default: no)
;fec= ; Override the use inband fec parameter in the offer's SDP. A value of
; 0/false/no represents disabled whereas 1/true/yes represents enabled.
; (default: yes)
;dtx= ; Override the use dtx parameter in the offer's SDP. A value of 0/false/no
; represents disabled whereas 1/true/yes represents enabled. (default: no)
;=============================== OPUS Examples ================================
;
;[opus]
;type=opus
;max_playback_rate=8000 ; Limit the maximum playback rate on the encoder
;fec=no ; No inband fec
;[myopus]
;type=opus
;max_bandwidth=wide ; Maximum encoded bandwidth set to wide band (0-8000 Hz
; ; audio bandwidth at 16Khz sample rate)
;cbr=yes ; Negotiate a constant bit rate

395
version_1.8-reactNative/pabx/etc/asterisk/confbridge.conf

@ -1,395 +0,0 @@
[general]
; The general section of this config
; is not currently used, but reserved
; for future use.
;
; --- Default Information ---
; The default_user and default_bridge sections are applied
; automatically to all ConfBridge instances invoked without
; a user, or bridge argument. No menu is applied by default.
;
; Note that while properties of the default_user or default_bridge
; profile can be overridden, if removed, they will be automatically
; added and made available to the dialplan upon module load.
;
; --- ConfBridge User Profile Options ---
[default_user]
type=user
;admin=yes ; Sets if the user is an admin or not. Off by default.
;marked=yes ; Sets if this is a marked user or not. Off by default.
;startmuted=yes; Sets if all users should start out muted. Off by default
;music_on_hold_when_empty=yes ; Sets whether MOH should be played when only
; one person is in the conference or when the
; the user is waiting on a marked user to enter
; the conference. Off by default.
;music_on_hold_class=default ; The MOH class to use for this user.
;quiet=yes ; When enabled enter/leave prompts and user intros are not played.
; There are some prompts, such as the prompt to enter a PIN number,
; that must be played regardless of what this option is set to.
; Off by default
;announce_user_count=yes ; Sets if the number of users should be announced to the
; caller. Off by default.
;announce_user_count_all=yes ; Sets if the number of users should be announced to
; all the other users in the conference when someone joins.
; This option can be either set to 'yes' or a number.
; When set to a number, the announcement will only occur
; once the user count is above the specified number.
;announce_only_user=yes ; Sets if the only user announcement should be played
; when a channel enters a empty conference. On by default.
;wait_marked=yes ; Sets if the user must wait for a marked user to enter before
; joining the conference. Off by default.
;end_marked=yes ; This option will kick every user with this option set in their
; user profile after the last Marked user exists the conference.
;dsp_drop_silence=yes ; This option drops what Asterisk detects as silence from
; entering into the bridge. Enabling this option will drastically
; improve performance and help remove the buildup of background
; noise from the conference. Highly recommended for large conferences
; due to its performance enhancements.
;dsp_talking_threshold=128 ; Average magnitude threshold to determine talking.
;
; The minimum average magnitude per sample in a frame for the
; DSP to consider talking/noise present. A value below this
; level is considered silence. This value affects several
; operations and should not be changed unless the impact on
; call quality is fully understood.
;
; What this value affects internally:
;
; 1. Audio is only mixed out of a user's incoming audio
; stream if talking is detected. If this value is set too
; high the user will hear himself talking.
;
; 2. When talk detection AMI events are enabled, this value
; determines when talking has begun which results in an
; AMI event to fire. If this value is set too low AMI
; events may be falsely triggered by variants in room
; noise.
;
; 3. The 'drop_silence' option depends on this value to
; determine when the user's audio should be mixed into the
; bridge after periods of silence. If this value is too
; high the user's speech will get discarded as they will
; be considered silent.
;
; Valid values are 1 through 2^15.
; By default this value is 160.
;dsp_silence_threshold=2000 ; The number of milliseconds of silence necessary to declare
; talking stopped.
;
; The time in milliseconds of sound falling below the
; 'dsp_talking_threshold' option when a user is considered to
; stop talking. This value affects several operations and
; should not be changed unless the impact on call quality is
; fully understood.
;
; What this value affects internally:
;
; 1. When talk detection AMI events are enabled, this value
; determines when the user has stopped talking after a
; period of talking. If this value is set too low AMI
; events indicating the user has stopped talking may get
; falsely sent out when the user briefly pauses during mid
; sentence.
;
; 2. The 'drop_silence' option depends on this value to
; determine when the user's audio should begin to be
; dropped from the conference bridge after the user stops
; talking. If this value is set too low the user's audio
; stream may sound choppy to the other participants. This
; is caused by the user transitioning constantly from
; silence to talking during mid sentence.
;
; The best way to approach this option is to set it slightly
; above the maximum amount of milliseconds of silence a user
; may generate during natural speech.
;
; Valid values are 1 through 2^31.
; By default this value is 2500ms.
;talk_detection_events=yes ; This option sets whether or not notifications of when a user
; begins and ends talking should be sent out as events over AMI.
; By default this option is off.
;denoise=yes ; Sets whether or not a denoise filter should be applied
; to the audio before mixing or not. Off by default. Requires
; func_speex to be built and installed. Do not confuse this option
; with drop_silence. Denoise is useful if there is a lot of background
; noise for a user as it attempts to remove the noise while preserving
; the speech. This option does NOT remove silence from being mixed into
; the conference and does come at the cost of a slight performance hit.
;jitterbuffer=yes ; Enabling this option places a jitterbuffer on the user's audio stream
; before audio mixing is performed. This is highly recommended but will
; add a slight delay to the audio. This option is using the JITTERBUFFER
; dialplan function's default adaptive jitterbuffer. For a more fine tuned
; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
; on the user before entering the ConfBridge application.
;pin=1234 ; Sets if this user must enter a PIN number before entering
; the conference. The PIN will be prompted for.
;announce_join_leave=yes ; When enabled, this option will prompt the user for a
; name when entering the conference. After the name is
; recorded, it will be played as the user enters and exists
; the conference. This option is off by default.
;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user
; will be prompted to review their recording before
; entering the conference. During this phase, the recording
; may be listened to, re-recorded, or accepted as is. This
; option is off by default.
;dtmf_passthrough=yes ; Sets whether or not DTMF should pass through the conference.
; This option is off by default.
;announcement=</path/to/file> ; Play a sound file to the user when they join the conference.
;timeout=3600 ; When set non-zero, this specifies the number of seconds that the participant
; may stay in the conference before being automatically ejected. When the user
; is ejected from the conference, the user's channel will have the CONFBRIDGE_RESULT
; variable set to "TIMEOUT". A value of 0 indicates that there is no timeout.
; Default: 0
; --- ConfBridge Bridge Profile Options ---
[default_bridge]
type=bridge
;max_members=50 ; This option limits the number of participants for a single
; conference to a specific number. By default conferences
; have no participant limit. After the limit is reached, the
; conference will be locked until someone leaves. Note however
; that an Admin user will always be alowed to join the conference
; regardless if this limit is reached or not.
;record_conference=yes ; Records the conference call starting when the first user
; enters the room, and ending when the last user exits the room.
; The default recorded filename is
; 'confbridge-<name of conference bridge>-<start time>.wav
; and the default format is 8khz slinear. This file will be
; located in the configured monitoring directory in asterisk.conf.
;record_file=</path/to/file> ; When record_conference is set to yes, the specific name of the
; record file can be set using this option. Note that since multiple
; conferences may use the same bridge profile, this may cause issues
; depending on the configuration. It is recommended to only use this
; option dynamically with the CONFBRIDGE() dialplan function. This
; allows the record name to be specified and a unique name to be chosen.
; By default, the record_file is stored in Asterisk's spool/monitor directory
; with a unique filename starting with the 'confbridge' prefix.
;internal_sample_rate=auto ; Sets the internal native sample rate the
; conference is mixed at. This is set to automatically
; adjust the sample rate to the best quality by default.
; Other values can be anything from 8000-192000. If a
; sample rate is set that Asterisk does not support, the
; closest sample rate Asterisk does support to the one requested
; will be used.
;maximum_sample_rate=none ; Sets the maximum sample rate the conference
; is mixed at. This is set to no maximum by default.
; Values can be anything from 8000-192000.
;mixing_interval=40 ; Sets the internal mixing interval in milliseconds for the bridge. This
; number reflects how tight or loose the mixing will be for the conference.
; In order to improve performance a larger mixing interval such as 40ms may
; be chosen. Using a larger mixing interval comes at the cost of introducing
; larger amounts of delay into the bridge. Valid values here are 10, 20, 40,
; or 80. By default 20ms is used.
;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants.
; Note that participants wanting to view and be the source of a video feed
; _MUST_ be sharing the same video codec. Also, using video in conjunction with
; with the jitterbuffer currently results in the audio being slightly out of sync
; with the video. This is a result of the jitterbuffer only working on the audio
; stream. It is recommended to disable the jitterbuffer when video is used.
;
; --- MODES ---
; none: No video sources are set by default in the conference. It is still
; possible for a user to be set as a video source via AMI or DTMF action
; at any time.
;
; follow_talker: The video feed will follow whoever is talking and providing video.
;
; last_marked: The last marked user to join the conference with video capabilities
; will be the single source of video distributed to all participants.
; If multiple marked users are capable of video, the last one to join
; is always the source, when that user leaves it goes to the one who
; joined before them.
;
; first_marked: The first marked user to join the conference with video capabilities
; is the single source of video distribution among all participants. If
; that user leaves, the marked user to join after them becomes the source.
;language=en ; Set the language used for announcements to the conference.
; Default is en (English).
;regcontext=conferences ; The name of the context into which to register conference names as extensions.
; All sounds in the conference are customizable using the bridge profile options below.
; Simply state the option followed by the filename or full path of the filename after
; the option. Example: sound_had_joined=conf-hasjoin This will play the conf-hasjoin
; sound file found in the sounds directory when announcing someone's name is joining the
; conference.
;sound_join ; The sound played to everyone when someone enters the conference.
;sound_leave ; The sound played to everyone when someone leaves the conference.
;sound_has_joined ; The sound played before announcing someone's name has
; joined the conference. This is used for user intros.
; Example "_____ has joined the conference"
;sound_has_left ; The sound played when announcing someone's name has
; left the conference. This is used for user intros.
; Example "_____ has left the conference"
;sound_kicked ; The sound played to a user who has been kicked from the conference.
;sound_muted ; The sound played when the mute option is toggled on using DTMF menu.
;sound_unmuted ; The sound played when the mute option is toggled off using DTMF menu.
;sound_only_person ; The sound played when the user is the only person in the conference.
;sound_only_one ; The sound played to a user when there is only one other
; person is in the conference.
;sound_there_are ; The sound played when announcing how many users there
; are in a conference.
;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are"
; when announcing how many users there are in the conference.
; The sounds are stringed together like this.
; "sound_there_are" <number of participants> "sound_other_in_party"
;sound_place_into_conference ; The sound played when someone is placed into the conference
; after waiting for a marked user. This sound is now deprecated
; since it was only ever used improperly and correcting that bug
; made it completely unused.
;sound_wait_for_leader ; The sound played when a user is placed into a conference that
; can not start until a marked user enters.
;sound_leader_has_left ; The sound played when the last marked user leaves the conference.
;sound_get_pin ; The sound played when prompting for a conference pin number.
;sound_invalid_pin ; The sound played when an invalid pin is entered too many times.
;sound_locked ; The sound played to a user trying to join a locked conference.
;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode.
;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode.
;sound_error_menu ; The sound played when an invalid menu option is entered.
;sound_begin ; The sound played to the conference when the first marked user enters the conference.
; --- ConfBridge Menu Options ---
; The ConfBridge application also has the ability to
; apply custom DTMF menus to each channel using the
; application. Like the User and Bridge profiles
; a menu is passed in to ConfBridge as an argument in
; the dialplan.
;
; Below is a list of menu actions that can be assigned
; to a DTMF sequence.
;
; To have the first DTMF digit in a sequence be the '#' character, you need to
; escape it. If it is not escaped then normal config file processing will
; think it is a directive like #include. For example:
; \#1=toggle_mute ; Pressing #1 will toggle the mute setting.
;
; A single DTMF sequence can have multiple actions associated with it. This is
; accomplished by stringing the actions together and using a ',' as the delimiter.
; Example: Both listening and talking volume is reset when '5' is pressed.
; 5=reset_talking_volume, reset_listening_volume
;
; playback(<name of audio file>&<name of audio file>)
; Playback will play back an audio file to a channel
; and then immediately return to the conference.
; This file can not be interupted by DTMF.
; Mutliple files can be chained together using the
; '&' character.
; playback_and_continue(<name of playback prompt>&<name of playback prompt>)
; playback_and_continue will
; play back a prompt while continuing to
; collect the dtmf sequence. This is useful
; when using a menu prompt that describes all
; the menu options. Note however that any DTMF
; during this action will terminate the prompts
; playback. Prompt files can be chained together
; using the '&' character as a delimiter.
; toggle_mute ; Toggle turning on and off mute. Mute will make the user silent
; to everyone else, but the user will still be able to listen in.
; no_op ; This action does nothing (No Operation). Its only real purpose exists for
; being able to reserve a sequence in the config as a menu exit sequence.
; decrease_listening_volume ; Decreases the channel's listening volume.
; increase_listening_volume ; Increases the channel's listening volume.
; reset_listening_volume ; Reset channel's listening volume to default level.
; decrease_talking_volume ; Decreases the channel's talking volume.
; increase_talking_volume ; Icreases the channel's talking volume.
; reset_talking_volume ; Reset channel's talking volume to default level.
;
; dialplan_exec(context,exten,priority) ; The dialplan_exec action allows a user
; to escape from the conference and execute
; commands in the dialplan. Once the dialplan
; exits the user will be put back into the
; conference. The possibilities are endless!
; leave_conference ; This action allows a user to exit the conference and continue
; execution in the dialplan.
;
; admin_kick_last ; This action allows an Admin to kick the last participant from the
; conference. This action will only work for admins which allows
; a single menu to be used for both users and admins.
;
; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
; unlocking the conference. Non admins can not use
; this action even if it is in their menu.
; set_as_single_video_src ; This action allows any user to set themselves as the
; single video source distributed to all participants.
; This will make the video feed stick to them regardless
; of what the video_mode is set to.
; release_as_single_video_src ; This action allows a user to release themselves as
; the video source. If video_mode is not set to "none"
; this action will result in the conference returning to
; whatever video mode the bridge profile is using.
;
; Note that this action will have no effect if the user
; is not currently the video source. Also, the user is
; not guaranteed by using this action that they will not
; become the video source again. The bridge will return
; to whatever operation the video_mode option is set to
; upon release of the video src.
; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
; state for all non-admins within a conference.
; Subsequent non-admins joining a muted conference will
; start muted. All admin users are unaffected by this
; option. Note that all users, regardless of their admin
; status, are notified that the conference is muted when
; the state is toggled.
; participant_count ; This action plays back the number of participants currently
; in a conference
[sample_user_menu]
type=menu
*=playback_and_continue(conf-usermenu)
*1=toggle_mute
1=toggle_mute
*4=decrease_listening_volume
4=decrease_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
*7=decrease_talking_volume
7=decrease_talking_volume
*8=leave_conference
8=leave_conference
*9=increase_talking_volume
9=increase_talking_volume
[sample_admin_menu]
type=menu
*=playback_and_continue(conf-adminmenu)
*1=toggle_mute
1=toggle_mute
*2=admin_toggle_conference_lock ; only applied to admin users
2=admin_toggle_conference_lock ; only applied to admin users
*3=admin_kick_last ; only applied to admin users
3=admin_kick_last ; only applied to admin users
*4=decrease_listening_volume
4=decrease_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
*7=decrease_talking_volume
7=decrease_talking_volume
*8=no_op
8=no_op
*9=increase_talking_volume
9=increase_talking_volume

46
version_1.8-reactNative/pabx/etc/asterisk/config_test.conf

@ -1,46 +0,0 @@
; Config to test config parsing
; global and item have values that differ from defaults
; global_defaults and item_defualts are to show all defaults are set
; there should be an option for every default type, and a custom type
[global]
intopt=-1
uintopt=1
timelenopt1=1ms
timelenopt2=1s
timelenopt3=1m
timelenopt4=1h
doubleopt=0.1
sockaddropt=1.2.3.4:1234
boolopt=true
boolflag1=true
boolflag2=false
boolflag3=true
deny=0.0.0.0/0
permit=1.2.3.4/32
codecopt=!all,ulaw,g729
stropt=test
customopt=yes
[global_defaults]
[item]
intopt=-1
uintopt=1
timelenopt1=1
timelenopt2=1
timelenopt3=1
timelenopt4=1
doubleopt=0.1
sockaddropt=1.2.3.4:1234
boolopt=true
boolflag1=true
boolflag2=false
boolflag3=true
acldenyopt=0.0.0.0/0
aclpermitopt=1.2.3.4/32
codecopt=!all,ulaw,g729
stropt=test
customopt=yes
[item_defaults]

97
version_1.8-reactNative/pabx/etc/asterisk/console.conf

@ -1,97 +0,0 @@
;
; Configuration for chan_console, a cross-platform console channel driver.
;
[general]
; Set this option to "yes" to enable automatically answering calls on the
; console. This is very useful if the console is used as an intercom.
; The default value is "no".
;
;autoanswer = no
; Set the default context to use for outgoing calls. This can be overridden by
; dialing some extension@context, unless the overridecontext option is enabled.
; The default is "default".
;
;context = default
; Set the default extension to use for outgoing calls. The default is "s".
;
;extension = s
; Set the default CallerID for created channels.
;
;callerid = MyName Here <(256) 428-6000>
; Set the default language for created channels.
;
;language = en
; If you set overridecontext to 'yes', then the whole dial string
; will be interpreted as an extension, which is extremely useful
; to dial SIP, IAX and other extensions which use the '@' character.
; The default is "no".
;
;overridecontext = no ; if 'no', the last @ will start the context
; if 'yes' the whole string is an extension.
; Default Music on Hold class to use when this channel is placed on hold in
; the case that the music class is not set on the channel with
; Set(CHANNEL(musicclass)=whatever) in the dialplan and the peer channel
; putting this one on hold did not suggest a class to use.
;
;mohinterpret=default
; ----------------------------- JITTER BUFFER CONFIGURATION --------------------------
; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of an
; Console channel. Defaults to "no". An enabled jitterbuffer will
; be used only if the sending side can create and the receiving
; side can not accept jitter. The Console channel can't accept jitter,
; thus an enabled jitterbuffer on the receive Console side will always
; be used if the sending side can create jitter.
; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
; resynchronized. Useful to improve the quality of the voice, with
; big jumps in/broken timestamps, usually sent from exotic devices
; and programs. Defaults to 1000.
; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a Console
; channel. Two implementations are currently available - "fixed"
; (with size always equals to jbmax-size) and "adaptive" (with
; variable size, actually the new jb of IAX2). Defaults to fixed.
; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
; The option represents the number of milliseconds by which the new
; jitter buffer will pad its size. the default is 40, so without
; modification, the new jitter buffer will set its size to the jitter
; value plus 40 milliseconds. increasing this value may help if your
; network normally has low jitter, but occasionally has spikes.
; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
; ----------------------------------------------------------------------------------
;
; Any configuration context defined beyond the [general] section configures
; specific devices for use.
;
[default]
input_device = default ; When configuring an input device and output device,
output_device = default ; use the name that you see when you run the "console
; list available" CLI command. If you say "default", the
; system default input and output devices will be used.
autoanswer = no
context = default
extension = s
callerid = MyName Here <(256) 428-6000>
language = en
overridecontext = no
mohinterpret = default
active = yes ; This option should only be set for one console.
; It means that it is the active console to be
; used from the Asterisk CLI.

34
version_1.8-reactNative/pabx/etc/asterisk/dbsep.conf

@ -1,34 +0,0 @@
#
# Configuration file for dbsep.cgi
#
# The purpose of this file is to provide realtime access to a database,
# possibly through ODBC, without needing to load the ODBC drivers into
# Asterisk, since there are several backend drivers which are rather
# buggy.
#
# We accomplish this separation by using the res_config_curl realtime
# driver to connect to a server running dbsep.cgi (or another, which
# implements the same protocol).
#
# This file contains the information necessary to configure dbsep.cgi.
#
#
# Once installed to a web server, you'll need to preload func_curl.so
# and res_config_curl.so in modules.conf and configure extconfig.conf:
#
# voicemail => curl,http://server/path/to/dbsep.cgi/voicemail
# sippeers => curl,http://server/path/to/dbsep.cgi/sippeers
#
# The Data Source Name, as specified by the Perl DBI module.
# Typically, this will be along the lines of 'DBI:mysql:astdbname[:dbhostname]' or 'DBI:Pg:dbname=astdbname;hostname=dbhostname'
dsn=somedsn
# Connected database user
dbuser=someuser
# And its password
dbpass=password
# For most databases, this is fine. Set to 'no' for Sybase or MS SQL Server.
backslash_is_escape=yes

5
version_1.8-reactNative/pabx/etc/asterisk/dnsmgr.conf

@ -1,5 +0,0 @@
[general]
;enable=yes ; enable creation of managed DNS lookups
; default is 'no'
;refreshinterval=1200 ; refresh managed DNS lookups every <n> seconds
; default is 300 (5 minutes)

42
version_1.8-reactNative/pabx/etc/asterisk/dsp.conf

@ -1,42 +0,0 @@
[default]
;
; Length of sound (in milliseconds) before a period of silence is considered
; to be a change from talking to silence or a period of noise converts silence
; to talking. [default=256]
;
;silencethreshold=256
; DTMF Reverse Twist and Normal Twist is the difference in power between the row and column energies.
;
; Normal Twist is where the row energy is greater than the column energy.
; Reverse Twist is where the column energy is greater.
;
; Power level difference between frequencies for different Administrations/RPOAs
; Power Gain equiv
; normal reverse dB's
; AT&T(default) 6.31 2.51 8dB(normal), 4dB(reverse)
; NTT 3.16 3.16 Max. 5dB
; Danish 3.98 3.98 Max. 6dB
; Australian 10.0 10.0 Max. 10dB
; Brazilian 7.94 7.94 Max. 9dB
; ETSI 3.98 3.98 Max. 6dB
;previous version compatible AT&T values
; RADIO_RELAX disabled, and relaxdtmf=no
; 6.30 2.50 7.99dB(normal), 3.98dB(reverse)
; RADIO_RELAX disabled, and relaxdtmf=yes
; 6.30 4.00 7.99dB(normal), 6.02dB(reverse)
; RADIO_RELAX enabled, and relaxdtmf=no
; 6.30 2.50 7.99dB(normal), 3.984dB(reverse)
; RADIO_RELAX enabled, and relaxdtmf=yes
; 6.30 6.50 7.99dB(normal), 8.13dB(reverse)
;If you don't know what these mean, don't change them.
;dtmf_normal_twist=6.31
;dtmf_reverse_twist=2.51
;relax_dtmf_normal_twist=6.31
;relax_dtmf_reverse_twist=3.98
;successive number hits/misses of 12.75ms before a digit/nodigit is considered valid
;dtmf_hits_to_begin=2
;dtmf_misses_to_end=3

275
version_1.8-reactNative/pabx/etc/asterisk/dundi.conf

@ -1,275 +0,0 @@
;
; DUNDi configuration file
;
; For more information about DUNDi, see http://www.dundi.com
;
;
[general]
;
; The "general" section contains general parameters relating
; to the operation of the dundi client and server.
;
; The first part should be your complete contact information
; should someone else in your peer group need to contact you.
;
;department=Your Department
;organization=Your Company, Inc.
;locality=Your City
;stateprov=ST
;country=US
;email=your@email.com
;phone=+12565551212
;
;
; Specify bind address and port number. Default is
; 4520
;
;bindaddr=0.0.0.0
;port=4520
;
; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of the tos parameter.
;tos=ef
;
; Our entity identifier. (It should generally be the MAC address of the
; machine it's running on. Defaults to the first eth address, but you
; can override it here, as long as you set it to the MAC of *something*
; you own!) The EID can be overridden by a setting in asterisk.conf
; or by setting this option.
;
;entityid=00:07:E9:3B:76:60
;
; Peers shall cache our query responses for the specified time
; in seconds. Default is 3600.
;
;cachetime=3600
;
; This defines the max depth (hops) in which to search the DUNDi system.
; Note that the maximum time that we will wait for a response is
; (2000 + 200 * ttl) ms.
;
ttl=32
;
; If we don't get ACK to our DPDISCOVER within 2000ms and autokill is set
; to yes then we cancel the whole thing (that's enough time for one
; retransmission only). This is used to keep things from stalling for a long
; time for a host that is not available, but would be ill advised for bad
; connections. In addition to 'yes' or 'no' you can also specify a number
; of milliseconds. See 'qualify' for individual peers to turn on for just
; a specific peer.
;
autokill=yes
;
; pbx_dundi creates a rotating key called "secret", under the family
; 'secretpath'. The default family is dundi (resulting in
; the key being held at dundi/secret).
;
;secretpath=dundi
;
; The 'storehistory' option (also changeable at runtime with
; 'dundi store history on' and 'dundi store history off') will
; cause the DUNDi engine to keep track of the last several
; queries and the amount of time each query took to execute
; for the purpose of tracking slow nodes. This option is
; off by default due to performance impacts.
;
;storehistory=yes
[mappings]
;
; The "mappings" section maps DUNDi contexts
; to contexts on the local asterisk system. Remember
; that numbers that are made available under the e164
; DUNDi context are regulated by the DUNDi General Peering
; Agreement (GPA) if you are a member of the DUNDi E.164
; Peering System.
;
; dundi_context => [local_context,weight,tech,dest{,options}]
;
; 'dundi_context' is the name of the context being requested
; within the DUNDi request
;
; 'local_context' is the name of the context on the local system
; in which numbers can be looked up for which responses shall be given.
;
; 'weight' is the weight to use for the responses provided from this
; mapping. The number must be >= 0 and < 60000. Since it is totally
; valid to receive multiple responses to a query, responses received
; with a lower weight are tried first. Note that the weight has a
; special meaning in the e164 context - see the GPA for more details.
;
; 'tech' is the technology to use (IAX2, SIP, H323)
;
; 'dest' is the Dial application's channel technology resource destination
; to supply for reaching that number. The following variables can be used
; in the destination string and will be automatically substituted:
; ${NUMBER}: The number being requested
; ${IPADDR}: The IP address to connect to
; ${SECRET}: The current IAX2 rotating secret key to be used
;
; Further options may include:
;
; nounsolicited: No unsolicited calls of any type permitted via this
; route
; nocomunsolicit: No commercial unsolicited calls permitted via
; this route
; residential: This number is known to be a residence
; commercial: This number is known to be a business
; mobile: This number is known to be a mobile phone
; nocomunsolicit: No commercial unsolicited calls permitted via
; this route
; nopartial: Do not search for partial matches
;
; There *must* exist an entry in mappings for DUNDi to respond
; to any request, although it may be empty.
;
;empty_context =>
;
;e164 => dundi-e164-canonical,0,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
;e164 => dundi-e164-customers,100,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
;e164 => dundi-e164-via-pstn,400,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
;
;digexten => default,0,IAX2,guest@lappy/${NUMBER}
;
; Weights for mappings can be set a few different ways:
;
; 1) It can be set as a static number.
;testmap1 => context1,222,IAX2,guest@peer1/${NUMBER}
;
; 2) It can be an Asterisk global variable.
;testmap2 => context2,${DUNDITESTVAR},IAX2,guest@peer2${NUMBER}
;
; 3) It can be retrieved using a dialplan function. This can be extremely
; useful if you want to let an external script decide what the weight
; in a response should be.
;testmap3 => context3,${SHELL(echo 123)},IAX2,guest@peer3/${NUMBER}
;
; The built in variables ${SECRET}, ${IPADDR} and ${NUMBER} can also be
; passed to the weight. For example, you could pass the ${NUMBER} value
; to your SHELL() script and use that to dynamically return a weight.
;
; Note when using a global variable or dialplan function to set the
; weight for a mapping that response caching should be disabled if you
; plan for these values to change frequently at all. If the results are
; cached then any change in value will not take effect until the cache
; has expired.
;
;
; The remaining sections represent the peers that we fundamentally trust.
; The section name specifies the peer's entityid. You can specify which
; DUNDi contexts with which you want the trust to be established.
;
; inkey - What key they will be authenticating to us with
;
; outkey - What key we use to authenticate to them
;
; host - What their host is (DNS name, IP address, or dynamic)
;
; port - The port where their host is listening (default: 4520)
;
; ustothem - Explicitly specify the entityid we use with this peer.
;
; order - What search order to use. May be 'primary', 'secondary',
; 'tertiary' or 'quartiary'. In large systems, it is beneficial
; to only query one up-stream host in order to maximize caching
; value. Adding one with primary and one with secondary gives you
; redundancy without sacrificing performance.
;
; include - Includes this peer when searching a particular context
; for lookup (set "all" to perform all lookups with that
; host. This is also the context in which peers are permitted
; to precache.
;
; noinclude - Disincludes this peer when searching a particular context
; for lookup (set "all" to perform no lookups with that
; host.
;
; permit - Permits this peer to search a given DUNDi context on
; the local system. Set "all" to permit this host to
; lookup all contexts. This is also a context for which
; we will create/forward PRECACHE commands.
;
; deny - Denies this peer to search a given DUNDi context on
; the local system. Set "all" to deny this host to
; lookup all contexts.
;
; model - inbound, outbound, or symmetric for whether we receive
; requests only, transmit requests only, or do both.
;
; precache - Utilize/Permit precaching with this peer (to pre
; cache means to provide an answer when no request
; was made and is used so that machines with few
; routes can push those routes up to a higher level).
; outgoing means we send precache routes to this peer,
; incoming means we permit this peer to send us
; precache routes. symmetric means we do both.
;
; Note: You cannot mix symmetric/outbound model with symmetric/inbound
; precache, nor can you mix symmetric/inbound model with symmetric/outbound
; precache.
;
; qualify - Enable qualifying the peer to determine reachable status.
; Set to yes, no, or number of milliseconds for qualifying
; the peer's reachable status.
;
; register - Enable registering with the peer. This presupposes that the
; peer's host option for us is dynamic. (yes/no value)
;
; The '*' peer is special and matches an unspecified entity
;
;
; Sample Primary e164 DUNDi peer
;
;[00:50:8B:F3:75:BB]
;model = symmetric
;host = 64.215.96.114
;inkey = digium
;outkey = misery
;include = e164
;permit = e164
;qualify = yes
;
; Sample Secondary e164 DUNDi peer
;
;[00:A0:C9:96:92:84]
;model = symmetric
;host = misery.digium.com
;inkey = misery
;outkey = ourkey
;include = e164
;permit = e164
;qualify = yes
;order = secondary
;
; Sample "push mode" downstream host
;
;[00:0C:76:96:75:28]
;model = inbound
;host = dynamic
;precache = inbound
;inkey = littleguy
;outkey = ourkey
;include = e164 ; In this case used only for precaching
;permit = e164
;qualify = yes
;
; Sample "push mode" upstream host
;
;[00:07:E9:3B:76:60]
;model = outbound
;precache = outbound
;host = 216.207.245.34
;register = yes
;inkey = dhcp34
;permit = all ; In this case used only for precaching
;include = all
;qualify = yes
;outkey=foo
;[*]
;

22
version_1.8-reactNative/pabx/etc/asterisk/enum.conf

@ -1,22 +0,0 @@
;
; ENUM Configuration for resolving phone numbers over DNS
;
; Sample config for Asterisk
; This file is reloaded at "module reload enum" in the CLI
;
[general]
;
; The search list for domains may be customized. Domains are searched
; in the order they are listed here.
;
search => e164.arpa
;
; If you'd like to use the E.164.org public ENUM registry in addition
; to the official e164.arpa one, uncomment the following line
;
;search => e164.org
;
; As there are more H323 drivers available you have to select to which
; drive a H323 URI will map. Default is "H323".
;
h323driver => H323

111
version_1.8-reactNative/pabx/etc/asterisk/extconfig.conf

@ -1,111 +0,0 @@
;
; Static and realtime external configuration
; engine configuration
;
; See https://wiki.asterisk.org/wiki/display/AST/Realtime+Database+Configuration
; for basic table formatting information.
;
[settings]
;
; Static configuration files:
;
; file.conf => driver,database[,table[,priority]]
;
; maps a particular configuration file to the given
; database driver, database and table (or uses the
; name of the file as the table if not specified)
;
; Uncomment to load queues.conf via the odbc engine.
;
;queues.conf => odbc,asterisk,ast_config
;extensions.conf => sqlite,asterisk,ast_config
;
; The following files CANNOT be loaded from Realtime storage:
; asterisk.conf
; extconfig.conf (this file)
; logger.conf
;
; Additionally, the following files cannot be loaded from
; Realtime storage unless the storage driver is loaded
; early using 'preload' statements in modules.conf:
; manager.conf
; cdr.conf
; rtp.conf
;
; Named ACLs specified in realtime also can not be used
; from manager.conf unless the storage driver is preloaded.
; Attempting to use a realtime stored named ACL before the
; driver is loaded will result in an invalid ACL which
; rejects all addresses.
;
; Realtime configuration engine
;
; maps a particular family of realtime
; configuration to a given database driver,
; database and table (or uses the name of
; the family if the table is not specified
;
;example => odbc,asterisk,alttable,1
;example => mysql,asterisk,alttable,2
;example2 => ldap,"dc=oxymium,dc=net",example2
;
; Additionally, priorities are now supported for use as failover methods
; for retrieving realtime data. If one connection fails to retrieve any
; information, the next sequential priority will be tried next. This
; especially works well with ODBC connections, since res_odbc now caches
; when connection failures occur and prevents immediately retrying those
; connections until after a specified timeout. Note: priorities must
; start at 1 and be sequential (i.e. if you have only priorities 1, 2,
; and 4, then 4 will be ignored, because there is no 3).
;
;
; Possible driver backends:
;
; "odbc" is shown in the examples below, but is not the only valid realtime
; engine. Here are several of the possible options:
; odbc ... res_config_odbc
; sqlite ... res_config_sqlite
; sqlite3 ... res_config_sqlite3
; pgsql ... res_config_pgsql
; curl ... res_config_curl
; ldap ... res_config_ldap
; mysql ... res_config_mysql (available via add-ons in menuselect)
;
; Note: The res_config_pgsql and res_config_sqlite backends configure the
; database used in their respective configuration files and ignore the
; database name configured in this file.
;
;iaxusers => odbc,asterisk
;iaxpeers => odbc,asterisk
;sippeers => odbc,asterisk
;sipregs => odbc,asterisk ; (avoid sipregs if possible, e.g. by using a view)
;ps_endpoints => odbc,asterisk
;ps_auths => odbc,asterisk
;ps_aors => odbc,asterisk
;ps_domain_aliases => odbc,asterisk
;ps_endpoint_id_ips => odbc,asterisk
;ps_outbound_publishes => odbc,asterisk
;ps_inbound_publications = odbc,asterisk
;ps_asterisk_publications = odbc,asterisk
;voicemail => odbc,asterisk
;extensions => odbc,asterisk
;meetme => mysql,general
;queues => odbc,asterisk
;queue_members => odbc,asterisk
;queue_rules => odbc,asterisk
;acls => odbc,asterisk
;musiconhold => mysql,general
;queue_log => mysql,general
;
;
; While most dynamic realtime engines are automatically used when defined in
; this file, 'extensions', distinctively, is not. To activate dynamic realtime
; extensions, you must turn them on in each respective context within
; extensions.conf with a switch statement. The syntax is:
; switch => Realtime/[[db_context@]tablename]/<opts>
; The only option available currently is the 'p' option, which disallows
; extension pattern queries to the database. If you have no patterns defined
; in a particular context, this will save quite a bit of CPU time. However,
; note that using dynamic realtime extensions is not recommended anymore as a
; best practice; instead, you should consider writing a static dialplan with
; proper data abstraction via a tool like func_odbc.

456
version_1.8-reactNative/pabx/etc/asterisk/extensions.ael

@ -1,456 +0,0 @@
//
// Example AEL config file
//
//
// Static extension configuration file, used by
// the pbx_ael module. This is where you configure all your
// inbound and outbound calls in Asterisk.
//
// This configuration file is reloaded
// - With the "ael reload" command in the CLI
// - With the "reload" command (that reloads everything) in the CLI
// The "Globals" category contains global variables that can be referenced
// in the dialplan by using the GLOBAL dialplan function:
// ${GLOBAL(VARIABLE)}
// ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid
// Unix/Linux environmental variables are reached with the ENV dialplan
// function: ${ENV(VARIABLE)}
//
// NOTE! NOTE! NOTE!
// Asterisk by default will load both extensions.conf and extensions.ael files.
// Upon loading these files the dialplans generated from both with be merged,
// so you must make sure that you don't have any overlapping contexts or global
// variables. If you do, then unexpected behavior may result when the data is
// merged.
// NOTE! NOTE! NOTE!
globals {
CONSOLE-AEL="Console/dsp"; // Console interface for demo
//CONSOLE-AEL=Zap/1;
//CONSOLE-AEL=Phone/phone0;
IAXINFO-AEL=guest; // IAXtel username/password
//IAXINFO-AEL="myuser:mypass";
OUTBOUND-TRUNK="Zap/g2"; // Trunk interface
//
// Note the 'g2' in the OUTBOUND-TRUNK variable above. It specifies which group (defined
// in chan_dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use in
// the specified group. The four possible options are:
//
// g: select the lowest-numbered non-busy DAHDI channel
// (aka. ascending sequential hunt group).
// G: select the highest-numbered non-busy DAHDI channel
// (aka. descending sequential hunt group).
// r: use a round-robin search, starting at the next highest channel than last
// time (aka. ascending rotary hunt group).
// R: use a round-robin search, starting at the next lowest channel than last
// time (aka. descending rotary hunt group).
//
OUTBOUND-TRUNKMSD=1; // MSD digits to strip (usually 1 or 0)
//OUTBOUND-TRUNK2=IAX2/user:pass@provider;
};
//
// Any category other than "General" and "Globals" represent
// extension contexts, which are collections of extensions.
//
// Extension names may be numbers, letters, or combinations
// thereof. If an extension name is prefixed by a '_'
// character, it is interpreted as a pattern rather than a
// literal. In patterns, some characters have special meanings:
//
// X - any digit from 0-9
// Z - any digit from 1-9
// N - any digit from 2-9
// [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
// . - wildcard, matches anything remaining (e.g. _9011. matches
// anything starting with 9011 excluding 9011 itself)
// ! - wildcard, causes the matching process to complete as soon as
// it can unambiguously determine that no other matches are possible
//
// For example the extension _NXXXXXX would match normal 7 digit dialings,
// while _1NXXNXXXXXX would represent an area code plus phone number
// preceded by a one.
//
// Each step of an extension is ordered by priority, which must
// always start with 1 to be considered a valid extension. The priority
// "next" or "n" means the previous priority plus one, regardless of whether
// the previous priority was associated with the current extension or not.
// The priority "same" or "s" means the same as the previously specified
// priority, again regardless of whether the previous entry was for the
// same extension. Priorities may be immediately followed by a plus sign
// and another integer to add that amount (most useful with 's' or 'n').
// Priorities may then also have an alias, or label, in
// parenthesis after their name which can be used in goto situations
//
// Contexts contain several lines, one for each step of each
// extension, which can take one of two forms as listed below,
// with the first form being preferred. One may include another
// context in the current one as well, optionally with a
// date and time. Included contexts are included in the order
// they are listed.
//
//context name {
// exten-name => {
// application(arg1,arg2,...);
//
// Timing list for includes is
//
// <time range>|<days of week>|<days of month>|<months>
//
// includes {
// daytime|9:00-17:00|mon-fri|*|*;
// };
//
// ignorepat can be used to instruct drivers to not cancel dialtone upon
// receipt of a particular pattern. The most commonly used example is
// of course '9' like this:
//
// ignorepat => 9;
//
// so that dialtone remains even after dialing a 9.
//};
//
// Sample entries for extensions.conf
//
//
context ael-dundi-e164-canonical {
//
// List canonical entries here
//
// 12564286000 => &ael-std-exten(6000,IAX2/foo);
// _125642860XX => Dial(IAX2/otherbox/${EXTEN:7});
};
context ael-dundi-e164-customers {
//
// If you are an ITSP or Reseller, list your customers here.
//
//_12564286000 => Dial(SIP/customer1);
//_12564286001 => Dial(IAX2/customer2);
};
context ael-dundi-e164-via-pstn {
//
// If you are freely delivering calls to the PSTN, list them here
//
//_1256428XXXX => Dial(DAHDI/G2/${EXTEN:7}); // Expose all of 256-428
//_1256325XXXX => Dial(DAHDI/G2/${EXTEN:7}); // Ditto for 256-325
};
context ael-dundi-e164-local {
//
// Context to put your dundi IAX2 or SIP user in for
// full access
//
includes {
ael-dundi-e164-canonical;
ael-dundi-e164-customers;
ael-dundi-e164-via-pstn;
};
};
context ael-dundi-e164-switch {
//
// Just a wrapper for the switch
//
switches {
DUNDi/e164;
};
};
context ael-dundi-e164-lookup {
//
// Locally to lookup, try looking for a local E.164 solution
// then try DUNDi if we don't have one.
//
includes {
ael-dundi-e164-local;
ael-dundi-e164-switch;
};
//
};
//
// DUNDi can also be implemented as a Macro instead of using
// the Local channel driver.
//
macro ael-dundi-e164(exten) {
//
// ARG1 is the extension to Dial
//
goto ${exten}|1;
return;
};
//
// Here are the entries you need to participate in the IAXTEL
// call routing system. Most IAXTEL numbers begin with 1-700, but
// there are exceptions. For more information, and to sign
// up, please go to www.gnophone.com or www.iaxtel.com
//
context ael-iaxtel700 {
_91700XXXXXXX => Dial(IAX2/${IAXINFO-AEL}@iaxtel.com/${EXTEN:1}@iaxtel);
};
//
// The SWITCH statement permits a server to share the dialplan with
// another server. Use with care: Reciprocal switch statements are not
// allowed (e.g. both A -> B and B -> A), and the switched server needs
// to be on-line or else dialing can be severly delayed.
//
context ael-iaxprovider {
switches {
// IAX2/user:[key]@myserver/mycontext;
};
};
context ael-trunkint {
//
// International long distance through trunk
//
includes {
ael-dundi-e164-lookup;
};
_9011. => {
&ael-dundi-e164(${EXTEN:4});
Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
};
};
context ael-trunkld {
//
// Long distance context accessed through trunk
//
includes {
ael-dundi-e164-lookup;
};
_91NXXNXXXXXX => {
&ael-dundi-e164(${EXTEN:1});
Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
};
};
context ael-trunklocal {
//
// Local seven-digit dialing accessed through trunk interface
//
_9NXXXXXX => {
Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
};
};
context ael-trunktollfree {
//
// Long distance context accessed through trunk interface
//
_91800NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
_91888NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
_91877NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
_91866NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
};
context ael-international {
//
// Master context for international long distance
//
ignorepat => 9;
includes {
ael-longdistance;
ael-trunkint;
};
};
context ael-longdistance {
//
// Master context for long distance
//
ignorepat => 9;
includes {
ael-local;
ael-trunkld;
};
};
context ael-local {
//
// Master context for local, toll-free, and iaxtel calls only
//
ignorepat => 9;
includes {
ael-default;
ael-trunklocal;
ael-iaxtel700;
ael-trunktollfree;
ael-iaxprovider;
};
};
//
// You can use an alternative switch type as well, to resolve
// extensions that are not known here, for example with remote
// IAX switching you transparently get access to the remote
// Asterisk PBX
//
// switch => IAX2/user:password@bigserver/local
//
// An "lswitch" is like a switch but is literal, in that
// variable substitution is not performed at load time
// but is passed to the switch directly (presumably to
// be substituted in the switch routine itself)
//
// lswitch => Loopback/12${EXTEN}@othercontext
//
// An "eswitch" is like a switch but the evaluation of
// variable substitution is performed at runtime before
// being passed to the switch routine.
//
// eswitch => IAX2/context@${CURSERVER}
macro ael-std-exten-ael( ext , dev ) {
Dial(${dev}/${ext},20);
switch(${DIALSTATUS}) {
case BUSY:
Voicemail(${ext},b);
break;
default:
Voicemail(${ext},u);
};
catch a {
VoiceMailMain(${ext});
return;
};
return;
};
context ael-demo {
s => {
Wait(1);
Answer();
Set(TIMEOUT(digit)=5);
Set(TIMEOUT(response)=10);
restart:
Background(demo-congrats);
instructions:
for (x=0; ${x} < 3; x=${x} + 1) {
Background(demo-instruct);
WaitExten();
};
};
2 => {
Background(demo-moreinfo);
goto s|instructions;
};
3 => {
Set(LANGUAGE()=fr);
goto s|restart;
};
1000 => {
goto ael-default|s|1;
};
500 => {
Playback(demo-abouttotry);
Dial(IAX2/guest@misery.digium.com/s@default);
Playback(demo-nogo);
goto s|instructions;
};
600 => {
Playback(demo-echotest);
Echo();
Playback(demo-echodone);
goto s|instructions;
};
_1234 => &ael-std-exten-ael(${EXTEN}, "IAX2");
8500 => {
VoicemailMain();
goto s|instructions;
};
# => {
Playback(demo-thanks);
Hangup();
};
t => goto #|1;
i => Playback(invalid);
};
//
// If you wish to use AEL for your default context, remove it
// from extensions.conf (or change its name or comment it out)
// and then uncomment the one here.
//
context ael-default {
// By default we include the demo. In a production system, you
// probably don't want to have the demo there.
includes {
ael-demo;
};
//
// Extensions like the two below can be used for FWD, Nikotel, sipgate etc.
// Note that you must have a [sipprovider] section in sip.conf whereas
// the otherprovider.net example does not require such a peer definition
//
//_41X. => Dial(SIP/${EXTEN:2}@sipprovider,,r);
//_42X. => Dial(SIP/user:passwd@${EXTEN:2}@otherprovider.net,30,rT);
// Real extensions would go here. Generally you want real extensions to be
// 4 or 5 digits long (although there is no such requirement) and start with a
// single digit that is fairly large (like 6 or 7) so that you have plenty of
// room to overlap extensions and menu options without conflict. You can alias
// them with names, too, and use global variables
// 6245 => {
// hint(SIP/Grandstream1&SIP/Xlite1,Joe Schmoe); // Channel hints for presence
// Dial(SIP/Grandstream1,20,rt); // permit transfer
// Dial(${HINT}/5245},20,rtT); // Use hint as listed
// switch(${DIALSTATUS}) {
// case BUSY:
// Voicemail(6245,b);
// return;
// default:
// Voicemail(6245,u);
// return;
// };
// };
// 6361 => Dial(IAX2/JaneDoe,,rm); // ring without time limit
// 6389 => Dial(MGCP/aaln/1@192.168.0.14);
// 6394 => Dial(Local/6275/n); // this will dial ${MARK}
// 6275 => &ael-stdexten(6275,${MARK}); // assuming ${MARK} is something like DAHDI/2
// mark => goto 6275|1; // alias mark to 6275
// 6536 => &ael-stdexten(6236,${WIL}); // Ditto for wil
// wil => goto 6236|1;
//
// Some other handy things are an extension for checking voicemail via
// voicemailmain
//
// 8500 => {
// VoicemailMain();
// Hangup();
// };
//
// Or a conference room (you'll need to edit meetme.conf to enable this room)
//
// 8600 => Meetme(1234);
//
// Or playing an announcement to the called party, as soon it answers
//
// 8700 => Dial(${MARK},30,A(/path/to/my/announcemsg))
//
// For more information on applications, just type "show applications" at your
// friendly Asterisk CLI prompt.
//
// 'show application <command>' will show details of how you
// use that particular application in this file, the dial plan.
//
}

882
version_1.8-reactNative/pabx/etc/asterisk/extensions.conf

@ -1,882 +0,0 @@
; extensions.conf - the Asterisk dial plan
;
; Static extension configuration file, used by
; the pbx_config module. This is where you configure all your
; inbound and outbound calls in Asterisk.
;
; This configuration file is reloaded
; - With the "dialplan reload" command in the CLI
; - With the "reload" command (that reloads everything) in the CLI
;
; The "General" category is for certain variables.
;
[general]
;
; If static is set to no, or omitted, then the pbx_config will rewrite
; this file when extensions are modified. Remember that all comments
; made in the file will be lost when that happens.
;
; XXX Not yet implemented XXX
;
static=yes
;
; if static=yes and writeprotect=no, you can save dialplan by
; CLI command "dialplan save" too
;
writeprotect=no
;
; If autofallthrough is set, then if an extension runs out of
; things to do, it will terminate the call with BUSY, CONGESTION
; or HANGUP depending on Asterisk's best guess. This is the default.
;
; If autofallthrough is not set, then if an extension runs out of
; things to do, Asterisk will wait for a new extension to be dialed
; (this is the original behavior of Asterisk 1.0 and earlier).
;
;autofallthrough=no
;
;
;
; If extenpatternmatchnew is set (true, yes, etc), then a new algorithm that uses
; a Trie to find the best matching pattern is used. In dialplans
; with more than about 20-40 extensions in a single context, this
; new algorithm can provide a noticeable speedup.
; With 50 extensions, the speedup is 1.32x
; with 88 extensions, the speedup is 2.23x
; with 138 extensions, the speedup is 3.44x
; with 238 extensions, the speedup is 5.8x
; with 438 extensions, the speedup is 10.4x
; with 10,000 extensions, the speedup is 374x
; Basically, the new algorithm provides a flat response
; time, no matter the number of extensions.
;
; By default, the old pattern matcher is used.
;
; ****This is a new feature! *********************
; The new pattern matcher is for the brave, the bold, and
; the desperate. If you have large dialplans (more than about 50 extensions
; in a context), and/or high call volume, you might consider setting
; this value to "yes" !!
; Please, if you try this out, and are forced to return to the
; old pattern matcher, please report your reasons in a bug report
; on https://issues.asterisk.org. We have made good progress in providing
; something compatible with the old matcher; help us finish the job!
;
; This value can be switched at runtime using the cli command "dialplan set extenpatternmatchnew true"
; or "dialplan set extenpatternmatchnew false", so you can experiment to your hearts content.
;
;extenpatternmatchnew=no
;
; If clearglobalvars is set, global variables will be cleared
; and reparsed on a dialplan reload, or Asterisk reload.
;
; If clearglobalvars is not set, then global variables will persist
; through reloads, and even if deleted from the extensions.conf or
; one of its included files, will remain set to the previous value.
;
; NOTE: A complication sets in, if you put your global variables into
; the AEL file, instead of the extensions.conf file. With clearglobalvars
; set, a "reload" will often leave the globals vars cleared, because it
; is not unusual to have extensions.conf (which will have no globals)
; load after the extensions.ael file (where the global vars are stored).
; So, with "reload" in this particular situation, first the AEL file will
; clear and then set all the global vars, then, later, when the extensions.conf
; file is loaded, the global vars are all cleared, and then not set, because
; they are not stored in the extensions.conf file.
;
clearglobalvars=no
;
; User context is where entries from users.conf are registered. The
; default value is 'default'
;
;userscontext=default
;
; You can include other config files, use the #include command
; (without the ';'). Note that this is different from the "include" command
; that includes contexts within other contexts. The #include command works
; in all asterisk configuration files.
;#include "filename.conf"
;#include <filename.conf>
;#include filename.conf
;
; You can execute a program or script that produces config files, and they
; will be inserted where you insert the #exec command. The #exec command
; works on all asterisk configuration files. However, you will need to
; activate them within asterisk.conf with the "execincludes" option. They
; are otherwise considered a security risk.
;#exec /opt/bin/build-extra-contexts.sh
;#exec /opt/bin/build-extra-contexts.sh --foo="bar"
;#exec </opt/bin/build-extra-contexts.sh --foo="bar">
;#exec "/opt/bin/build-extra-contexts.sh --foo=\"bar\""
;
; The "Globals" category contains global variables that can be referenced
; in the dialplan with the GLOBAL dialplan function:
; ${GLOBAL(VARIABLE)}
; ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid
; Unix/Linux environmental variables can be reached with the ENV dialplan
; function: ${ENV(VARIABLE)}
;
[globals]
CONSOLE=Console/dsp ; Console interface for demo
;CONSOLE=DAHDI/1
;CONSOLE=Phone/phone0
IAXINFO=guest ; IAXtel username/password
;IAXINFO=myuser:mypass
TRUNK=DAHDI/G2 ; Trunk interface
;
; Note the 'G2' in the TRUNK variable above. It specifies which group (defined
; in chan_dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use
; in the specified group. The four possible options are:
;
; g: select the lowest-numbered non-busy DAHDI channel
; (aka. ascending sequential hunt group).
; G: select the highest-numbered non-busy DAHDI channel
; (aka. descending sequential hunt group).
; r: use a round-robin search, starting at the next highest channel than last
; time (aka. ascending rotary hunt group).
; R: use a round-robin search, starting at the next lowest channel than last
; time (aka. descending rotary hunt group).
;
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
;TRUNK=IAX2/user:pass@provider
;FREENUMDOMAIN=mydomain.com ; domain to send on outbound
; freenum calls (uses outbound-freenum
; context)
;
; WARNING WARNING WARNING WARNING
; If you load any other extension configuration engine, such as pbx_ael.so,
; your global variables may be overridden by that file. Please take care to
; use only one location to set global variables, and you will likely save
; yourself a ton of grief.
; WARNING WARNING WARNING WARNING
;
; Any category other than "General" and "Globals" represent
; extension contexts, which are collections of extensions.
;
; Extension names may be numbers, letters, or combinations
; thereof. If an extension name is prefixed by a '_'
; character, it is interpreted as a pattern rather than a
; literal. In patterns, some characters have special meanings:
;
; X - any digit from 0-9
; Z - any digit from 1-9
; N - any digit from 2-9
; [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
; . - wildcard, matches anything remaining (e.g. _9011. matches
; anything starting with 9011 excluding 9011 itself)
; ! - wildcard, causes the matching process to complete as soon as
; it can unambiguously determine that no other matches are possible
;
; For example, the extension _NXXXXXX would match normal 7 digit dialings,
; while _1NXXNXXXXXX would represent an area code plus phone number
; preceded by a one.
;
; Each step of an extension is ordered by priority, which must always start
; with 1 to be considered a valid extension. The priority "next" or "n" means
; the previous priority plus one, regardless of whether the previous priority
; was associated with the current extension or not. The priority "same" or "s"
; means the same as the previously specified priority, again regardless of
; whether the previous entry was for the same extension. Priorities may be
; immediately followed by a plus sign and another integer to add that amount
; (most useful with 's' or 'n'). Priorities may then also have an alias, or
; label, in parentheses after their name which can be used in goto situations.
;
; Contexts contain several lines, one for each step of each extension. One may
; include another context in the current one as well, optionally with a date
; and time. Included contexts are included in the order they are listed.
; Switches may also be included within a context. The order of matching within
; a context is always exact extensions, pattern match extensions, includes, and
; switches. Includes are always processed depth-first. So for example, if you
; would like a switch "A" to match before context "B", simply put switch "A" in
; an included context "C", where "C" is included in your original context
; before "B".
;
;[context]
;exten => someexten,{priority|label{+|-}offset}[(alias)],application(arg1,arg2,...)
;
; Timing list for includes is
;
; <time range>,<days of week>,<days of month>,<months>[,<timezone>]
;
; Note that ranges may be specified to wrap around the ends. Also, minutes are
; fine-grained only down to the closest even minute.
;
;include => daytime,9:00-17:00,mon-fri,*,*
;include => weekend,*,sat-sun,*,*
;include => weeknights,17:02-8:58,mon-fri,*,*
;
; ignorepat can be used to instruct drivers to not cancel dialtone upon receipt
; of a particular pattern. The most commonly used example is of course '9'
; like this:
;
;ignorepat => 9
;
; so that dialtone remains even after dialing a 9. Please note that ignorepat
; only works with channels which receive dialtone from the PBX, such as DAHDI,
; Phone, and VPB. Other channels, such as SIP and MGCP, which generate their
; own dialtone and converse with the PBX only after a number is complete, are
; generally unaffected by ignorepat (unless DISA or another method is used to
; generate a dialtone after answering the channel).
;
;
; Sample entries for extensions.conf
;
;
[dundi-e164-canonical]
;include => stdexten
;
; List canonical entries here
;
;exten => 12564286000,1,Gosub(6000,stdexten(IAX2/foo))
;exten => 12564286000,n,Goto(default,s,1) ; exited Voicemail
;exten => _125642860XX,1,Dial(IAX2/otherbox/${EXTEN:7})
[dundi-e164-customers]
;
; If you are an ITSP or Reseller, list your customers here.
;
;exten => _12564286000,1,Dial(SIP/customer1)
;exten => _12564286001,1,Dial(IAX2/customer2)
[dundi-e164-via-pstn]
;
; If you are freely delivering calls to the PSTN, list them here
;
;exten => _1256428XXXX,1,Dial(DAHDI/G2/${EXTEN:7}) ; Expose all of 256-428
;exten => _1256325XXXX,1,Dial(DAHDI/G2/${EXTEN:7}) ; Ditto for 256-325
[dundi-e164-local]
;
; Context to put your dundi IAX2 or SIP user in for
; full access
;
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn
[dundi-e164-switch]
;
; Just a wrapper for the switch
;
switch => DUNDi/e164
[dundi-e164-lookup]
;
; Locally to lookup, try looking for a local E.164 solution
; then try DUNDi if we don't have one.
;
include => dundi-e164-local
include => dundi-e164-switch
;
; DUNDi can also be implemented as a Macro instead of using
; the Local channel driver.
;
[macro-dundi-e164]
;
; ARG1 is the extension to Dial
;
; Extension "s" is not a wildcard extension that matches "anything".
; In macros, it is the start extension. In most other cases,
; you have to goto "s" to execute that extension.
;
; Note: In old versions of Asterisk the PBX in some cases defaulted to
; extension "s" when a given extension was wrong (like in AMI originate).
; This is no longer the case.
;
; For wildcard matches, see above - all pattern matches start with
; an underscore.
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup
;
; Here are the entries you need to participate in the IAXTEL
; call routing system. Most IAXTEL numbers begin with 1-700, but
; there are exceptions. For more information, and to sign
; up, please go to www.gnophone.com or www.iaxtel.com
;
[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)
;
; The SWITCH statement permits a server to share the dialplan with
; another server. Use with care: Reciprocal switch statements are not
; allowed (e.g. both A -> B and B -> A), and the switched server needs
; to be on-line or else dialing can be severly delayed.
;
[iaxprovider]
;switch => IAX2/user:[key]@myserver/mycontext
[trunkint]
;
; International long distance through trunk
;
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})
[trunkld]
;
; Long distance context accessed through trunk
;
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[trunklocal]
;
; Local seven-digit dialing accessed through trunk interface
;
exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[trunktollfree]
;
; Long distance context accessed through trunk interface
;
exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[international]
;
; Master context for international long distance
;
ignorepat => 9
include => longdistance
include => trunkint
[longdistance]
;
; Master context for long distance
;
ignorepat => 9
include => local
include => trunkld
[local]
;
; Master context for local, toll-free, and iaxtel calls only
;
ignorepat => 9
include => default
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
;Include parkedcalls (or the context you define in features conf)
;to enable call parking.
include => parkedcalls
;
; You can use an alternative switch type as well, to resolve
; extensions that are not known here, for example with remote
; IAX switching you transparently get access to the remote
; Asterisk PBX
;
; switch => IAX2/user:password@bigserver/local
;
; An "lswitch" is like a switch but is literal, in that
; variable substitution is not performed at load time
; but is passed to the switch directly (presumably to
; be substituted in the switch routine itself)
;
; lswitch => Loopback/12${EXTEN}@othercontext
;
; An "eswitch" is like a switch but the evaluation of
; variable substitution is performed at runtime before
; being passed to the switch routine.
;
; eswitch => IAX2/context@${CURSERVER}
; The following two contexts are a template to enable the ability to dial
; ISN numbers. For more information about what an ISN number is, please see
; http://www.freenum.org.
;
; This is the dialing hook. use:
; include => outbound-freenum
[outbound-freenum]
; We'll add more digits as needed. The purpose is to dial things
; like extension numbers at domains (ITAD number) so we're matching
; on lengths of 1 through 6 prior to the separator (the asterisk [*])
;
exten => _X*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
[outbound-freenum2]
; This is the handler which performs the dialing logic. It is called
; from the [outbound-freenum] context
;
exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)}) ; make sure the suffix is all digits as well
same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != "${SUFFIX}"]?fn-CONGESTION,1)
; filter out bad characters per the README-SERIOUSLY.best-practices.txt document
same => n,Set(TIMEOUT(absolute)=10800)
same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,,1,freenum.org)}) ; perform our lookup with freenum.org
same => n,GotoIf($["${isnresult}" != ""]?from)
same => n,Set(DIALSTATUS=CONGESTION)
same => n,Goto(fn-CONGESTION,1)
same => n(from),Set(__SIPFROMUSER=${CALLERID(num)})
same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" = ""]?dial) ; check if we set the FREENUMDOMAIN global variable in [global]
same => n,Set(__SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)}) ; if we did set it, then we'll use it for our outbound dialing domain
same => n(dial),Dial(SIP/${isnresult},40)
same => n,Goto(fn-${DIALSTATUS},1)
exten => fn-BUSY,1,Busy()
exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
same => n,Congestion()
[macro-trunkdial]
;
; Standard trunk dial macro (hangs up on a dialstatus that should
; terminate call)
; ${ARG1} - What to dial
;
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup()
exten => s-BUSY,1,Hangup()
exten => _s-.,1,NoOp
[stdexten]
;
; Standard extension subroutine:
; ${EXTEN} - Extension
; ${ARG1} - Device(s) to ring
; ${ARG2} - Optional context in Voicemail
;
; Note that the current version will drop through to the next priority in the
; case of their pressing '#'. This gives more flexibility in what do to next:
; you can prompt for a new extension, or drop the call, or send them to a
; general delivery mailbox, or...
;
; The use of the LOCAL() function is purely for convenience. Any variable
; initially declared as LOCAL() will disappear when the innermost Gosub context
; in which it was declared returns. Note also that you can declare a LOCAL()
; variable on top of an existing variable, and its value will revert to its
; previous value (before being declared as LOCAL()) upon Return.
;
exten => _X.,50000(stdexten),NoOp(Start stdexten)
exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
exten => _X.,n,Set(LOCAL(dev)=${ARG1})
exten => _X.,n,Set(LOCAL(cntx)=${ARG2})
exten => _X.,n,Set(LOCAL(mbx)=${ext}${IF($[!${ISNULL(${cntx})}]?@${cntx})})
exten => _X.,n,Dial(${dev},20) ; Ring the interface, 20 seconds maximum
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => stdexten-NOANSWER,1,VoiceMail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
exten => stdexten-NOANSWER,n,Return() ; If they press #, return to start
exten => stdexten-BUSY,1,VoiceMail(${mbx},b) ; If busy, send to voicemail w/ busy announce
exten => stdexten-BUSY,n,Return() ; If they press #, return to start
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoiceMailMain(${mbx}) ; If they press *, send the user into VoicemailMain
exten => a,n,Return()
[stdPrivacyexten]
;
; Standard extension subroutine:
; ${ARG1} - Extension
; ${ARG2} - Device(s) to ring
; ${ARG3} - Optional DONTCALL context name to jump to (assumes the s,1 extension-priority)
; ${ARG4} - Optional TORTURE context name to jump to (assumes the s,1 extension-priority)`
; ${ARG5} - Context in voicemail (if empty, then "default")
;
; See above note in stdexten about priority handling on exit.
;
exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
exten => _X.,n,Set(LOCAL(ext)=${ARG1})
exten => _X.,n,Set(LOCAL(dev)=${ARG2})
exten => _X.,n,Set(LOCAL(dontcntx)=${ARG3})
exten => _X.,n,Set(LOCAL(tortcntx)=${ARG4})
exten => _X.,n,Set(LOCAL(cntx)=${ARG5})
exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
exten => _X.,n,Dial(${dev},20,p) ; Ring the interface, 20 seconds maximum, call screening
; option (or use P for databased call _X.creening)
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => stdexten-NOANSWER,1,VoiceMail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
exten => stdexten-NOANSWER,n,NoOp(Finish stdPrivacyexten NOANSWER)
exten => stdexten-NOANSWER,n,Return() ; If they press #, return to start
exten => stdexten-BUSY,1,VoiceMail(${mbx},b) ; If busy, send to voicemail w/ busy announce
exten => stdexten-BUSY,n,NoOp(Finish stdPrivacyexten BUSY)
exten => stdexten-BUSY,n,Return() ; If they press #, return to start
exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1) ; Callee chose to send this call to a telemarketer torture script.
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoiceMailMain(${mbx}) ; If they press *, send the user into VoicemailMain
exten => a,n,Return()
[macro-page]
;
; Paging macro:
;
; Check to see if SIP device is in use and DO NOT PAGE if they are
;
; ${ARG1} - Device to page
exten => s,1,ChanIsAvail(${ARG1},s) ; s is for ANY call
exten => s,n,GotoIf($[${AVAILSTATUS} = "1"]?autoanswer:fail)
exten => s,n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!!
exten => s,n,Dial(${ARG1})
exten => s,n(fail),Hangup()
[internal_acme]
exten => _20XX,1,NoOp(${CALLERID(num)})
exten => _20XX,n,NoOp(${CALLERID(name)})
exten => _20XX,n,Dial(SIP/2${EXTEN},60,tr)
exten => _20XX,n,Hangup
[ramais_ws]
exten => _X.,1,NoOp(chamada entre ramais ws)
exten => _X.,n,Wait(1)
exten => _X.,n,Dial(SIP/${EXTEN},120,tr)
exten => _X.,n,Hangup()
exten => _X.,n,Set(TRANSFER_DESTINATION=${EXTEN})
exten => _X.,n,Read(DTMF_TO_TRANSFER,beep,3)
exten => _X.,n,GotoIf($[${DTMF_TO_TRANSFER}) = "#"]?transferir:nao_transferir)
exten => _X.,n(transferir),NoOp(Transferindo chamada para ${TRANSFER_DESTINATION})
exten => _X.,n,Macro(dial,${TRANSFER_DESTINATION})
exten => _X.,n,Hangup()
exten => _X.,n(nao_transferir),NoOp(Nao foi pressionado o # no DTFM)
[demo]
include => stdexten
;
; We start with what to do when a call first comes in.
;
;exten => s,1,Wait(2) ; Wait a second, just for fun
; same => n,Set(FOLDERAUDIO=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S):0:4}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S):4:2}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S):6:2}/)
; same => n,NoOp(${FOLDERAUDIO})
; same => n,MixMonitor(/home/admin/${FOLDERAUDIO}/${UNIQUEID}.wav,,/var/lib/asterisk/agi-bin/wav2mp3 ^{UNIQUEID}.wav /home/admin/^{FOLDERAUDIO}/)
; same => n,Answer() ; Answer the line
; same => n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
; same => n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
; same => n(restart),BackGround(demo-congrats) ; Play a congratulatory message
; same => n(instruct),BackGround(demo-instruct) ; Play some instructions
; same => n,WaitExten() ; Wait for an extension to be dialed.
exten => _10XX,1,NoOp(>>>> Chamando Ramal ...)
exten => _10XX,n,Set(FOLDERAUDIO=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S):0:4}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S):4:2}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S):6:2}/)
exten => _10XX,n,NoOp(${FOLDERAUDIO})
exten => _10XX,n,MixMonitor(/home/debian/${FOLDERAUDIO}/${UNIQUEID}.wav,,/var/lib/asterisk/agi-bin/wav2mp3 ^{UNIQUEID}.wav /home/debian/^{FOLDERAUDIO}/)
exten => _10XX,n,Dial(SIP/${EXTEN:1},60,Tr)
exten => _10XX,n,Hangup
exten => _20XX,1,NoOp($CALLERID(num))
exten => _20XX,n,NoOp($CALLERID(name))
exten => _20XX,n,Hangup
;exten => 1000,1,Goto(demo,s,1)
;
; We also create an example user, 1234, who is on the console and has
; voicemail, etc.
;
exten => 1234,1,Playback(transfer,skip) ; "Please hold while..."
; (but skip if channel is not up)
exten => 1234,n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}))
exten => 1234,n,Goto(default,s,1) ; exited Voicemail
exten => 1235,1,VoiceMail(1234,u) ; Right to voicemail
exten => 1236,1,Dial(Console/dsp) ; Ring forever
exten => 1236,n,VoiceMail(1234,b) ; Unless busy
;
; # for when they're done with the demo
;
exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo"
exten => #,n,Hangup() ; Hang them up.
;
; A timeout and "invalid extension rule"
;
exten => t,1,Goto(#,1) ; If they take too long, give up
exten => i,1,Playback(invalid) ; "That's not valid, try again"
;
; Create an extension, 500, for dialing the
; Asterisk demo.
;
exten => 500,1,Playback(demo-abouttotry) ; Let them know what's going on
exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default) ; Call the Asterisk demo
exten => 500,n,Playback(demo-nogo) ; Couldn't connect to the demo site
exten => 500,n,Goto(s,6) ; Return to the start over message.
;
; Create an extension, 600, for evaluating echo latency.
;
exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
exten => 600,n,Echo() ; Do the echo test
exten => 600,n,Playback(demo-echodone) ; Let them know it's over
exten => 600,n,Goto(s,6) ; Start over
;
; You can use the Macro Page to intercom a individual user
exten => 76245,1,Macro(page,SIP/Grandstream1)
; or if your peernames are the same as extensions
exten => _7XXX,1,Macro(page,SIP/${EXTEN})
;
;
; System Wide Page at extension 7999
;
exten => 7999,1,Set(TIMEOUT(absolute)=60)
exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)
; Give voicemail at extension 8500
;
exten => 8500,1,VoiceMailMain()
exten => 8500,n,Goto(s,6)
;
; Here's what a phone entry would look like (IXJ for example)
;
;exten => 1265,1,Dial(Phone/phone0,15)
;exten => 1265,n,Goto(s,5)
;
; The page context calls up the page macro that sets variables needed for auto-answer
; It is in is own context to make calling it from the Page() application as simple as
; Local/{peername}@page
;
[page]
exten => _X.,1,Macro(page,SIP/${EXTEN})
;[mainmenu]
;
; Example "main menu" context with submenu
;
;exten => s,1,Answer
;exten => s,n,Background(thanks) ; "Thanks for calling press 1 for sales, 2 for support, ..."
;exten => s,n,WaitExten
;exten => 1,1,Goto(submenu,s,1)
;exten => 2,1,Hangup
;include => default
;
;[submenu]
;exten => s,1,Ringing ; Make them comfortable with 2 seconds of ringback
;exten => s,n,Wait,2
;exten => s,n,Background(submenuopts) ; "Thanks for calling the sales department. Press 1 for steve, 2 for..."
;exten => s,n,WaitExten
;exten => 1,1,Goto(default,steve,1)
;exten => 2,1,Goto(default,mark,2)
[public]
;
; ATTENTION: If your Asterisk is connected to the internet and you do
; not have allowguest=no in sip.conf, everybody out there may use your
; public context without authentication. In that case you want to
; double check which services you offer to the world.
;
include => demo
[default]
;
; By default we include the demo. In a production system, you
; probably don't want to have the demo there.
;
include => demo
;
; An extension like the one below can be used for FWD, Nikotel, sipgate etc.
; Note that you must have a [sipprovider] section in sip.conf
;
;exten => _41X.,1,Dial(SIP/${FILTER(0-9,${EXTEN:2})}@sipprovider,,r)
; Real extensions would go here. Generally you want real extensions to be
; 4 or 5 digits long (although there is no such requirement) and start with a
; single digit that is fairly large (like 6 or 7) so that you have plenty of
; room to overlap extensions and menu options without conflict. You can alias
; them with names, too, and use global variables
;exten => 6245,hint,SIP/Grandstream1&SIP/Xlite1(Joe Schmoe) ; Channel hints for presence
;exten => 6245,1,Dial(SIP/Grandstream1,20,rt) ; permit transfer
;exten => 6245,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed
;exten => 6245,n,VoiceMail(6245,u) ; Voicemail (unavailable)
;exten => 6245,s+1,Hangup ; s+1, same as n
;exten => 6245,dial+101,VoiceMail(6245,b) ; Voicemail (busy)
;exten => 6361,1,Dial(IAX2/JaneDoe,,rm) ; ring without time limit
;exten => 6389,1,Dial(MGCP/aaln/1@192.168.0.14)
;exten => 6390,1,Dial(JINGLE/caller/callee) ; Dial via jingle using labels
;exten => 6391,1,Dial(JINGLE/asterisk@digium.com/mogorman@astjab.org) ;Dial via jingle using asterisk as the transport and calling mogorman.
;exten => 6394,1,Dial(Local/6275/n) ; this will dial ${MARK}
;exten => 6275,1,Gosub(${EXTEN},stdexten(${MARK}))
; assuming ${MARK} is something like DAHDI/2
;exten => 6275,n,Goto(default,s,1) ; exited Voicemail
;exten => mark,1,Goto(6275,1) ; alias mark to 6275
;exten => 6536,1,Gosub(${EXTEN},stdexten(${WIL}))
; Ditto for wil
;exten => 6536,n,Goto(default,s,1) ; exited Voicemail
;exten => wil,1,Goto(6236,1)
;If you want to subscribe to the status of a parking space, this is
;how you do it. Subscribe to extension 6600 in sip, and you will see
;the status of the first parking lot with this extensions' help
;exten => 6600,hint,park:701@parkedcalls
;exten => 6600,1,noop
;
;To subscribe to the availability of a free member in the 'markq' queue.
;Note: '_avail' is added to the QueueName
;exten => 8501,hint,Queue:markq_avail
;exten => 8501,1,Queue(markq)
;
; You can also monitor the status of a queue by providing a hint for a
; particular queue name.
;exten => 8502,hint,Queue:markq
;exten => 8502,1,Queue(markq)
;
; Some other handy things are an extension for checking voicemail via
; voicemailmain
;
;exten => 8500,1,VoicemailMain
;exten => 8500,n,Hangup
;
; Or a conference room (you'll need to edit meetme.conf to enable this room)
;
;exten => 8600,1,Meetme(1234)
;
; Or playing an announcement to the called party, as soon it answers
;
;exten = 8700,1,Dial(${MARK},30,A(/path/to/my/announcemsg))
;
; example of a compartmentalized company called "acme"
;
; this is the context that your incoming IAX/SIP trunk dumps you in...
;[acme-incoming]
;exten => s,1,Wait(1)
;exten => s,n,Answer()
;exten => s,n(menu),Playback(acme/vm-brief-menu)
;exten => s,n(exten),Background(vm-enter-num-to-call)
;exten => s,n,WaitExten(5)
;exten => s,n(goodbye),Playback(vm-goodbye)
;exten => s,n(end),Hangup()
;
;include => acme-extens
;
;exten => i,1,Playback(vm-invalid)
;exten => i,n,Goto(s,exten) ; optionally, transfer to operator
;
;exten => t,1,Goto(s,goodbye)
;
; this is the context our internal SIP hardphones use (see sip.conf)
;
;[acme-internal]
;exten => s,1,Answer()
;exten => s,n(exten),Background(vm-enter-num-to-call)
;exten => s,n,WaitExten(5)
;exten => s,n(goodbye),Playback(vm-goodbye)
;exten => s,n(end),Hangup()
;
;include => trunkint
;include => trunkld
;include => trunklocal
;
;include => acme-extens
;
; you can test what your system sounds like to outside callers by dialing this
;exten => 777,1,DISA(no-password,acme-incoming)
;
; grouping of acme's extensions... never used directly, always included.
;
;[acme-extens]
;include => stdexten
;exten => 111,1,Gosub(111,stdexten(SIP/pete_1,acme))
;exten => 111,n,Goto(s,exten)
;
;exten => 112,1,Gosub(112,stdexten(SIP/nancy_1,acme))
;exten => 112,n,Goto(s,end)
;
; end of acme example
;
; Time context: you can patch this in via the following.
;
; [acme-internal]
; ...
; exten => 777,1,Gosub(time)
; exten => 777,n,Hangup()
;
; ...
; include => time
;
; Note: if you're geographically spread out, you can have SIP extensions
; specify their own local timezone in sip.conf as:
;
; [boi]
; type=friend
; context=acme-internal
; callerid="Boise Ofc. <2083451111>"
; ...
; ; use system-wide default timezone of MST7MDT
;
; [lws]
; type=friend
; context=acme-internal
; callerid="Lewiston Ofc. <2087431111>"
; ...
; setvar=timezone=PST8PDT
;
; "timezone" isn't a 'reserved' name in any way, and other places where
; the timezone is significant (e.g. calls to "SayUnixTime()", etc) will
; require modification as well. Note that voicemail.conf already has
; a mechanism for timezones.
;
[time]
exten => _X.,30000(time),NoOp(Time: ${EXTEN} ${timezone})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
; the amount of delay is set for English; you may need to adjust this time
; for other languages if there's no pause before the synchronizing beep.
exten => _X.,n,Set(FUTURETIME=$[${EPOCH} + 12])
exten => _X.,n,SayUnixTime(${FUTURETIME},Zulu,HNS)
exten => _X.,n,SayPhonetic(z)
; use the timezone associated with the extension (sip only), or system-wide
; default if one hasn't been set.
exten => _X.,n,SayUnixTime(${FUTURETIME},${timezone},HNS)
exten => _X.,n,Playback(spy-local)
exten => _X.,n,WaitUntil(${FUTURETIME})
exten => _X.,n,Playback(beep)
exten => _X.,n,Return()
;
; ANI context: use in the same way as "time" above
;
[ani]
exten => _X.,40000(ani),NoOp(ANI: ${EXTEN})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
exten => _X.,n,Playback(vm-from)
exten => _X.,n,SayDigits(${CALLERID(ani)})
exten => _X.,n,Wait(1.25)
exten => _X.,n,SayDigits(${CALLERID(ani)}) ; playback again in case of missed digit
exten => _X.,n,Return()
; For more information on applications, just type "core show applications" at your
; frien

240
version_1.8-reactNative/pabx/etc/asterisk/extensions.lua

@ -1,240 +0,0 @@
CONSOLE = "Console/dsp" -- Console interface for demo
--CONSOLE = "DAHDI/1"
--CONSOLE = "Phone/phone0"
IAXINFO = "guest" -- IAXtel username/password
--IAXINFO = "myuser:mypass"
TRUNK = "DAHDI/G2"
TRUNKMSD = 1
-- TRUNK = "IAX2/user:pass@provider"
--
-- Extensions are expected to be defined in a global table named 'extensions'.
-- The 'extensions' table should have a group of tables in it, each
-- representing a context. Extensions are defined in each context. See below
-- for examples.
--
-- Extension names may be numbers, letters, or combinations thereof. If
-- an extension name is prefixed by a '_' character, it is interpreted as
-- a pattern rather than a literal. In patterns, some characters have
-- special meanings:
--
-- X - any digit from 0-9
-- Z - any digit from 1-9
-- N - any digit from 2-9
-- [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
-- . - wildcard, matches anything remaining (e.g. _9011. matches
-- anything starting with 9011 excluding 9011 itself)
-- ! - wildcard, causes the matching process to complete as soon as
-- it can unambiguously determine that no other matches are possible
--
-- For example the extension _NXXXXXX would match normal 7 digit
-- dialings, while _1NXXNXXXXXX would represent an area code plus phone
-- number preceded by a one.
--
-- If your extension has special characters in it such as '.' and '!' you must
-- explicitly make it a string in the tabale definition:
--
-- ["_special."] = function;
-- ["_special!"] = function;
--
-- There are no priorities. All extensions to asterisk appear to have a single
-- priority as if they consist of a single priority.
--
-- Each context is defined as a table in the extensions table. The
-- context names should be strings.
--
-- One context may be included in another context using the 'includes'
-- extension. This extension should be set to a table containing a list
-- of context names. Do not put references to tables in the includes
-- table.
--
-- include = {"a", "b", "c"};
--
-- Channel variables can be accessed thorugh the global 'channel' table.
--
-- v = channel.var_name
-- v = channel["var_name"]
-- v.value
-- v:get()
--
-- channel.var_name = "value"
-- channel["var_name"] = "value"
-- v:set("value")
--
-- channel.func_name(1,2,3):set("value")
-- value = channel.func_name(1,2,3):get()
--
-- channel["func_name(1,2,3)"]:set("value")
-- channel["func_name(1,2,3)"] = "value"
-- value = channel["func_name(1,2,3)"]:get()
--
-- Note the use of the ':' operator to access the get() and set()
-- methods.
--
-- Also notice the absence of the following constructs from the examples above:
-- channel.func_name(1,2,3) = "value" -- this will NOT work
-- value = channel.func_name(1,2,3) -- this will NOT work as expected
--
--
-- Dialplan applications can be accessed through the global 'app' table.
--
-- app.Dial("DAHDI/1")
-- app.dial("DAHDI/1")
-- app["dial"]("DAHDI/1")
--
-- More examples can be found below.
--
-- An autoservice is automatically run while lua code is executing. The
-- autoservice can be stopped and restarted using the autoservice_stop() and
-- autoservice_start() functions. The autservice should be running before
-- starting long running operations. The autoservice will automatically be
-- stopped before executing applications and dialplan functions and will be
-- restarted afterwards. The autoservice_status() function can be used to
-- check the current status of the autoservice and will return true if an
-- autoservice is currently running.
--
-- Note about naming conflicts:
-- Lua allows you to refer to table entries using the '.' notation,
-- I.E. app.goto(something), only if the entry doesn't conflict with an Lua
-- reserved word. In the 'goto' example, with Lua 5.1 or earlier, 'goto' is
-- not a reserved word so you'd be calling the Asterisk dialplan application
-- 'goto'. Lua 5.2 however, introduced the 'goto' control statement which
-- makes 'goto' a reserved word. This casues the interpreter to fail parsing
-- the file and pbx_lua.so will fail to load. The same applies to any use of
-- Lua tables including extensions, channels and any tables you create.
--
-- There are two ways around this: Since Lua is case-sensitive, you can use
-- capitalized names, I.E. app.Goto(something) to refer to the Asterisk apps,
-- functions, etc. Or you can use the full syntax, I.E. app["goto"](something).
-- Both syntaxes are backwards compatible with earlier Lua versions. To make
-- your Lua dialplans easier to maintain and to reduce the chance of future
-- conflicts you may want to use the app["goto"](something) syntax for all
-- table accesses.
--
function outgoing_local(c, e)
app.dial("DAHDI/1/" .. e, "", "")
end
function demo_instruct()
app.background("demo-instruct")
app.waitexten()
end
function demo_congrats()
app.background("demo-congrats")
demo_instruct()
end
-- Answer the chanel and play the demo sound files
function demo_start(context, exten)
app.wait(1)
app.answer()
channel.TIMEOUT("digit"):set(5)
channel.TIMEOUT("response"):set(10)
-- app.set("TIMEOUT(digit)=5")
-- app.set("TIMEOUT(response)=10")
demo_congrats(context, exten)
end
function demo_hangup()
app.playback("demo-thanks")
app.hangup()
end
extensions = {
demo = {
s = demo_start;
["2"] = function()
app.background("demo-moreinfo")
demo_instruct()
end;
["3"] = function ()
channel.LANGUAGE():set("fr") -- set the language to french
demo_congrats()
end;
["1000"] = function()
-- See the naming conflict note above.
app['goto']("default", "s", 1)
end;
["1234"] = function()
app.playback("transfer", "skip")
-- do a dial here
end;
["1235"] = function()
app.voicemail("1234", "u")
end;
["1236"] = function()
app.dial("Console/dsp")
app.voicemail(1234, "b")
end;
["#"] = demo_hangup;
t = demo_hangup;
i = function()
app.playback("invalid")
demo_instruct()
end;
["500"] = function()
app.playback("demo-abouttotry")
app.dial("IAX2/guest@misery.digium.com/s@default")
app.playback("demo-nogo")
demo_instruct()
end;
["600"] = function()
app.playback("demo-echotest")
app.echo()
app.playback("demo-echodone")
demo_instruct()
end;
["8500"] = function()
app.voicemailmain()
demo_instruct()
end;
};
default = {
-- by default, do the demo
include = {"demo"};
};
public = {
-- ATTENTION: If your Asterisk is connected to the internet and you do
-- not have allowguest=no in sip.conf, everybody out there may use your
-- public context without authentication. In that case you want to
-- double check which services you offer to the world.
--
include = {"demo"};
};
["local"] = {
["_NXXXXXX"] = outgoing_local;
};
}
hints = {
demo = {
[1000] = "SIP/1000";
[1001] = "SIP/1001";
};
default = {
["1234"] = "SIP/1234";
};
}

158
version_1.8-reactNative/pabx/etc/asterisk/extensions_minivm.conf

@ -1,158 +0,0 @@
; MINI-VOICEMAIL dialplan example
; ---------------------------------------------------------------------------------------
; ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
;
;
; This is an example on how to use the Mini-Voicemail system to build
; voicemail systems.
;
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
; A macro to test the MINIVMACCOUNT dialplan function
; Currently, accountcode and pincode is not used in the application
; They where added to be used in dialplan scripting
;
;
[macro-minivmfunctest]
exten => s,1,set(account=${ARGV1})
exten => minivm,n,verbose(1,-------------------- Minivm Function test - Accoutn ${account} -------------)
exten => s,n,verbose(1,---- Has account: ${MINIVMACCOUNT(${account}:hasaccount)})
exten => s,n,verbose(1,---- Fullname: ${MINIVMACCOUNT(${account}:fullname)})
exten => s,n,verbose(1,---- Email: ${MINIVMACCOUNT(${account}:email)})
exten => s,n,verbose(1,---- Pager: ${MINIVMACCOUNT(${account}:pager)})
exten => s,n,verbose(1,---- E-mail template: ${MINIVMACCOUNT(${account}:etemplate)})
exten => s,n,verbose(1,---- Pager template: ${MINIVMACCOUNT(${account}:ptemplate)})
exten => s,n,verbose(1,---- Account code: ${MINIVMACCOUNT(${account}:accountcode)})
exten => s,n,verbose(1,---- Path: ${MINIVMACCOUNT(${account}:path)})
exten => s,n,verbose(1,---- Pincode: ${MINIVMACCOUNT(${account}:pincode)})
exten => s,n,verbose(1,---- Time zone: ${MINIVMACCOUNT(${account}:timezone)})
exten => s,n,verbose(1,---- Language: ${MINIVMACCOUNT(${account}:language)})
; This requires setvar=customerclass=gold in the account configuration
exten => s,n,verbose(1,---- Var:customerclass: ${MINIVMACCOUNT(${account}:customerclass)})
[minivm-scenario1]
; minivmtest tests the dialplan function MINIVMACCOUNT
; Check the output in the console with verbose set
exten => minivmtest,1,answer
exten => minivmtest,n,wait(0.5)
exten => minivmtest,n,set(ACCOUNT=do-not-spam-me@example.com)
exten => minivmtest,n,macro(minivmfunctest, ${ACCOUNT})
exten => minivmtest,n,playback(beep)
exten => minivmtest,n,hangup
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
; "minivm" tests a full scenario
; Remember that users may hangup
; This works both for users with accounts in minivm.conf and by just giving an e-mail address
; without configuring an account
exten => minivm,1,answer
exten => minivm,n,wait(0.5) ; Wait for Voip channels to settle
exten => minivm,n,set(account=oej@example.com)
exten => minivm,n,noop(------------------------------------------- Minivm Greet -------------)
exten => minivm,n,minivmgreet(${account})
exten => minivm,n,verbose(1,-- MINIVM_GREET_STATUS = ${MINIVM_GREET_STATUS} )
exten => minivm,n,noop(------------------------------------------- Minivm Record -------------)
exten => minivm,n,minivmRecord(${account},b)
exten => minivm,n,goto(minivmcleanup,1)
; Cleanup after recording or hangup
exten => minivmcleanup,1,noop(------------------------------------------- Minivm Notify -------------)
;Increment voicemail counter with 1. The counter will be used in the e-mail message
;and in the filename
exten => minivmcleanup,n,gotoif($[${MINIVM_RECORD_STATUS} != SUCCESS]?minivmrecordfailure,1)
exten => minivmcleanup,n,set(MINIVMCOUNTER(${account}:voicemailcounter:inc)=1)
exten => minivmcleanup,n,set(MVM_COUNTER = ${MINIVMCOUNTER(${account}:voicemailcounter)})
exten => minivmcleanup,n,minivmNotify(${account})
exten => minivmcleanup,n,verbose(1,-- MINIVM_NOTIFY_STATUS = ${MINIVM_NOTIFY_STATUS} )
; Now, clean up after sending voicemail
exten => minivmcleanup,n,noop(------------------------------------------- Minivm Delete -------------)
exten => minivmcleanup,n,minivmdelete()
exten => minivmcleanup,n,verbose(1,-- MINIVM_DELETE_STATUS = ${MINIVM_DELETE_STATUS} )
;Recording failed
exten => minivmrecordfailure,1,playback(vm-sorry)
exten => minivmrecordfailure,n,wait(1)
exten => minivmrecordfailure,n,hangup
; If the user hangs up during the recording, we need to clean up
; And send notifications
exten => h,1,gotoif($[x${MINIVM_DELETE_STATUS} != x] ?h,stop)
exten => h,n,noop(------------------------------------------- HANGUP during voicemail recording -------------)
exten => h,n,goto(minivmcleanup,1)
exten => h,n(stop),noop(---Minivm DONE----)
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
; Extension to record a greeting message
; Call this like:
; macro(recordgreetings,alice@atlanta.example.com)
;
[macro-recordgreetings]
exten => s,1,answer
exten => s,n,wait(0.5)
exten => s,n,set(account=${ARGV1])
; This file give extra options not available here, needs to be edited
; Change of password does not work
exten => s,n(menu),background(vm-options)
exten => 1,1,setvar(option=u)
exten => 1,n,macro(minivmrec,${account},${option})
exten => 1,n,goto(menu)
exten => 2,1,setvar(option=b)
exten => 2,n,macro(minivmrec,${account},${option})
exten => 2,n,goto(menu)
exten => 3,1,setvar(option=n)
exten => 3,n,macro(minivmrec,${account},${option})
exten => 3,n,goto(menu)
exten => 4,1,setvar(option=t)
exten => 4,n,macro(minivmrec,${account},${option})
exten => 4,n,goto(menu)
exten => *,1,playback(vm-thankyou)
exten => *,n,wait(1)
exten => *,n,hangup
exten => i,1,playback(invalid)
exten => i,n,goto(menu)
[macro-minivmrec]
exten => s,1,gotoif(${MINIVMACCOUNT(${account}:hasaccount)}?record)
; Account is not configured in minivm.conf or realtime
; Phony message, add something useful here
exten => s,n,playback(privacy-incorrect)
exten => s,n,macroreturn
exten => record,1,minivmappmess(${ARGV1},${ARGV2})
exten => record,n,noop(Recording status: ${MINIVM_APPMESS_STATUS})
exten => record,n,macroreturn
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
; To set a counter and use a template for voicemail to users without acounts
; use something like this
;
; email address is in the "account" channel variable. Set from ast_db or a script
; based on called ID
exten => sendvoicemail,1,answer
exten => sendvoicemail,n,wait(0.5)
exten => sendvoicemail,n,set(domain=${CUT(account,@,2)})
exten => sendvoicemail,n,set(country=${CUT(domain,.,2)})
exten => sendvoicemail,n,minivmgreet(${account})
exten => sendvoicemail,n,minivmRecord(${account},b)
exten => sendvoicemail,n,goto(sendvmcleanup)
exten => sendvmcleanup,1,gotoif($[${MINIVM_RECORD_STATUS} != SUCCESS]?done)
; The counter is set in the domain directory, so we don't create one directory per user
; The counter has the email in the name of the counter, increase it
; Set the MVM_COUNTER variable that we use in the template
exten => sendvmcleanup,n,set(MINIVMCOUNTER(${account}:voicemailcounter:inc)=1)
exten => sendvmcleanup,n,set(MVM_COUNTER = ${MINIVMCOUNTER(${account}:voicemailcounter)})
; Increase a domain counter too, to see how many voicemails are sent to this domain
; This is just for statistics
exten => sendvmcleanup,n,set(MINIVMCOUNTER(${domain}:${domain}-all:inc) = 1)
; Send voicemail in e-mail with country-specific template
; The template need to be defined in minivm.conf
;
exten => sendvmcleanup,n,minivmNotify(${account}, ${country}_email)
exten => sendvmcleanup,n,minivmDelete()
exten => sendvmcleanup,n(done),wait(0.5)
exten => sendvmcleanup,n,hangup
exten => h,1,gotoif($[${MINIVM_RECORD_STATUS} = SUCCESS]?sendvmcleanup,1))

122
version_1.8-reactNative/pabx/etc/asterisk/features.conf

@ -1,122 +0,0 @@
;
; Sample Call Features (transfer, monitor/mixmonitor, etc) configuration
;
; Note: From Asterisk 12 - All parking lot configuration is now done in res_parking.conf
[general]
;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call
; (default is 3 seconds)
;xfersound = beep ; to indicate an attended transfer is complete
;xferfailsound = beeperr ; to indicate a failed transfer
;pickupexten = *8 ; Configure the pickup extension. (default is *8)
;pickupsound = beep ; to indicate a successful pickup (default: no sound)
;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound)
;featuredigittimeout = 1000 ; Max time (ms) between digits for
; feature activation (default is 1000 ms)
;recordingfailsound = beeperr ; indicates that a one-touch monitor or one-touch mixmonitor feature failed
; to be applied to the call. (default: no sound)
;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds.
;atxferdropcall = no ; If someone does an attended transfer, then hangs up before the transfer
; target answers, then by default, the system will try to call back the
; person that did the transfer. If this is set to "yes", the ringing
; transfer target is immediately transferred to the transferee.
;atxferloopdelay = 10 ; Number of seconds to sleep between retries (if atxferdropcall = no)
;atxfercallbackretries = 2 ; Number of times to attempt to send the call back to the transferer.
; By default, this is 2.
;transferdialattempts = 3 ; Number of times that a transferer may attempt to dial an extension before
; being kicked back to the original call.
;transferretrysound = "beep" ; Sound to play when a transferer fails to dial a valid extension.
;transferinvalidsound = "beeperr" ; Sound to play when a transferer fails to dial a valid extension and is out of retries.
;atxferabort = *1 ; cancel the attended transfer
;atxfercomplete = *2 ; complete the attended transfer, dropping out of the call
;atxferthreeway = *3 ; complete the attended transfer, but stay in the call. This will turn the call into a multi-party bridge
;atxferswap = *4 ; swap to the other party. Once an attended transfer has begun, this options may be used multiple times
; Note that the DTMF features listed below only work when two channels have answered and are bridged together.
; They can not be used while the remote party is ringing or in progress. If you require this feature you can use
; chan_local in combination with Answer to accomplish it.
[featuremap]
;blindxfer => #1 ; Blind transfer (default is #) -- Make sure to set the T and/or t option in the Dial() or Queue() app call!
;disconnect => *0 ; Disconnect (default is *) -- Make sure to set the H and/or h option in the Dial() or Queue() app call!
;automon => *1 ; One Touch Record a.k.a. Touch Monitor -- Make sure to set the W and/or w option in the Dial() or Queue() app call!
;atxfer => *2 ; Attended transfer -- Make sure to set the T and/or t option in the Dial() or Queue() app call!
;parkcall => #72 ; Park call (one step parking) -- Make sure to set the K and/or k option in the Dial() app call!
;automixmon => *3 ; One Touch Record a.k.a. Touch MixMonitor -- Make sure to set the X and/or x option in the Dial() or Queue() app call!
[applicationmap]
; Note that the DYNAMIC_FEATURES channel variable must be set to use the features
; defined here. The value of DYNAMIC_FEATURES should be the names of the features
; to allow the channel to use separated by '#'. For example:
;
; Set(__DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3)
;
; (Note: The two leading underscores allow these feature settings to be set
; on the outbound channels, as well. Otherwise, only the original channel
; will have access to these features.)
;
; The syntax for declaring a dynamic feature is any of the following:
;
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]]
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,"<AppArguments>"[,MOH_Class]]
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>([<AppArguments>])[,MOH_Class]
;
; FeatureName -> This is the name of the feature used when setting the
; DYNAMIC_FEATURES variable to enable usage of this feature.
; DTMF_sequence -> This is the key sequence used to activate this feature.
; ActivateOn -> This is the channel of the call that the application will be executed
; on. Valid values are "self" and "peer". "self" means run the
; application on the same channel that activated the feature. "peer"
; means run the application on the opposite channel from the one that
; has activated the feature.
; ActivatedBy -> ActivatedBy is no longer honored. The feature is activated by which
; channel DYNAMIC_FEATURES includes the feature is on. Use a pre-dial
; handler to set different values for DYNAMIC_FEATURES on the channels.
; Historic values are: "caller", "callee", and "both".
; Application -> This is the application to execute.
; AppArguments -> These are the arguments to be passed into the application. If you need
; commas in your arguments, you should use either the second or third
; syntax, above.
; MOH_Class -> This is the music on hold class to play while the idle
; channel waits for the feature to complete. If left blank,
; no music will be played.
;
;
; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk
; applications. When applications are used in extensions.conf, they are executed
; by the PBX core. In this case, these applications are executed outside of the
; PBX core, so it does *not* make sense to use any application which has any
; concept of dialplan flow. Examples of this would be things like Goto,
; Background, WaitExten, and many more. The exceptions to this are Gosub and
; Macro routines which must complete for the call to continue.
;
; Enabling these features means that the PBX needs to stay in the media flow and
; media will not be re-directed if DTMF is sent in the media stream.
;
; Example Usage:
;
;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and callee to play
; ;tt-monkeys to the opposite channel
;
; Set arbitrary channel variables, based upon CALLERID number (Note that the application
; argument contains commas)
;retrieveinfo => #8,peer,Set(ARRAY(CDR(mark),CDR(name))=${ODBC_FOO(${CALLERID(num)})})
;
;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to pause monitoring
; ;on their channel
;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring
; ;on their channel
; Dynamic Feature Groups:
; Dynamic feature groups are groupings of features defined in [applicationmap]
; that can have their own custom key mappings. To give a channel access to a dynamic
; feature group, add the group name to the value of the DYNAMIC_FEATURES variable.
;
; example:
; [myGroupName] ; defines the group named myGroupName
; testfeature => #9 ; associates testfeature with the group and the keycode '#9'.
; pauseMonitor => ; associates pauseMonitor with the group and uses the keycode specified
; ; in the [applicationmap].

34
version_1.8-reactNative/pabx/etc/asterisk/festival.conf

@ -1,34 +0,0 @@
;
; Festival Configuration
;
[general]
;
; Host which runs the festival server (default : localhost);
;
;host=localhost
;
; Port on host where the festival server runs (default : 1314)
;
;port=1314
;
; Use cache (yes, no - defaults to no)
;
;usecache=yes
;
; If usecache=yes, a directory to store waveform cache files.
; The cache is never cleared (yet), so you must take care of cleaning it
; yourself (just delete any or all files from the cache).
; THIS DIRECTORY *MUST* EXIST and must be writable from the asterisk process.
; Defaults to /tmp/
;
;cachedir=/var/lib/asterisk/festivalcache/
;
; Festival command to send to the server.
; Defaults to: (tts_textasterisk "%s" 'file)(quit)\n
; %s is replaced by the desired text to say. The command MUST end with a
; (quit) directive, or the cache handling mechanism will hang. Do not
; forget the \n at the end.
;
;festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n
;
;

107
version_1.8-reactNative/pabx/etc/asterisk/followme.conf

@ -1,107 +0,0 @@
; Find-Me / Follow-Me Configuration File
[general]
;
featuredigittimeout=>5000
; The number of ms to wait for a digit input for the callee on whether to take the call or
; not before we consider them "done" entering digits.
;
enable_callee_prompt=>true
; Enable prompting a callee to either accept or reject the forwarded call.
; If disabled, the optional prompting for caller name (option 'a') is
; likewise disabled. Enabled by default.
;
takecall=>1
; The global default keypress for the callee to take taking the current call. This can be
; a single digit or multiple digits. Default is "1".
; Note this string must not be a substring of declinecall.
;
declinecall=>2
; The global default keypress for the callee to decline taking the current call. This can
; be a single digit or multiple digits. Default is "2".
; Note this string must not be a substring of takecall.
;
call_from_prompt=>followme/call-from
; The global default for the 'Incoming call from' message.
;
norecording_prompt=>followme/no-recording
; The global default for the 'You have an incoming call' message when the caller elects
; not to leave their name or the option isn't set for them to do so.
;
options_prompt=>followme/options
; The global default for the 'Press 1 to accept this call or press 2 to decline it' message.
;
pls_hold_prompt=>followme/pls-hold-while-try
; The global default for 'Please hold while we try and connect your call' message.
;
status_prompt=>followme/status
; The global default for 'The party you're calling isn't at their desk' message.
;
sorry_prompt=>followme/sorry
; The global default for 'I'm sorry, but we were unable to locate your party' message.
;
connecting_prompt=>
; The global default sound file name for 'Please say hello to the caller' message.
; Setting to an empty string skips playing the prompt. The default is no prompt
; file name.
[default]
musicclass=>default
; The moh class that should be used for the caller while they are waiting to be connected.
context=>default
; The context to dial the numbers from
number=>01233456,25
; The a follow-me number to call. The format is:
; number=> <number to call[&2nd #[&...]]>[,<timeout value in seconds>[,<order in follow-me>]]
; You can specify as many of these numbers as you like. They will be dialed in the
; order that you specify them in the config file OR as specified with the order field
; on the number prompt. As you can see from the example, forked dialing of multiple
; numbers in the same step is supported with this application if you'd like to dial
; multiple numbers in the same followme step.
;
; The timeout value is the amount of time allowed between the time the dialing step
; starts and the callee answers. The callee then has until the timeout of the last
; step to make a choice on whether to take the call or not. That being the case,
; you may want to make the timeout on the last step longer to give enough time to
; make the choice to accept or not.
enable_callee_prompt=>true
; Enable prompting the callee to accept the forwarded call. The default
; is the global value.
takecall=>1
; The keypress for the callee to take taking the current call. This can be
; a single digit or multiple digits. Default is the global default.
; Note this string must not be a substring of declinecall.
;
declinecall=>2
; The keypress for the callee to decline taking the current call. This can
; be a single digit or multiple digits. Default is the global default.
; Note this string must not be a substring of takecall.
;
call_from_prompt=>followme/call-from
; The 'Incoming call from' message prompt. Default is the global default.
;
norecording_prompt=>followme/no-recording
; The 'You have an incoming call' message prompt when the caller elects
; not to leave their name or the option isn't set for them to do so. Default
; is the global default.
;
options_prompt=>followme/options
; The 'Press 1 to accept this call or press 2 to decline it' message prompt.
; Default is the global default.
;
pls_hold_prompt=>followme/pls-hold-while-try
; The 'Please hold while we try and connect your call' message prompt.
; Default is the global default.
;
status_prompt=>followme/status
; The 'The party you're calling isn't at their desk' message prompt.
; Default is the global default.
;
sorry_prompt=>followme/sorry
; The 'I'm sorry, but we were unable to locate your party' message prompt. Default
; is the global default.
;
connecting_prompt=>
; The sound file name for 'Please say hello to the caller' message. Default is the
; global default.
;

112
version_1.8-reactNative/pabx/etc/asterisk/func_odbc.conf

@ -1,112 +0,0 @@
;
; func_odbc.conf
;
[general]
;
; Asterisk uses separate connections for every database operation.
; If single_db_connection is enabled then func_odbc will use a single
; database connection per DSN.
; This option exists for those who expect that a second func_odbc call
; works on the same connection. That allows you to do a LAST_INSERT_ID()
; in a second func_odbc call.
; Note that you'll need additional dialplan locks for this behaviour to work.
; There are better ways: using stored procedures/functions instead.
; This option is enabled by default.
;single_db_connection=yes
;
;
; Each context is a separately defined function. By convention, all
; functions are entirely uppercase, so the defined contexts should also
; be all-uppercase, but there is nothing that enforces this. All functions
; are case-sensitive, however.
;
; For substitution, you have ${ARG1}, ${ARG2} ... ${ARGn}
; for the arguments to each SQL statement.
;
; In addition, for write statements, you have ${VAL1}, ${VAL2} ... ${VALn}
; parsed, just like arguments, for the values. In addition, if you want the
; whole value, never mind the parsing, you can get that with ${VALUE}.
;
;
; If you have data which may potentially contain single ticks, you may wish
; to use the dialplan function SQL_ESC() to escape the data prior to its
; inclusion in the SQL statement.
;
;
; The following options are available in this configuration file:
;
; dsn An alias for "writehandle."
; readhandle A comma-separated list of DSNs (from res_odbc.conf) to use when
; executing the readsql statement. Each DSN is tried, in
; succession, until the statement succeeds. You may specify up to
; 5 DSNs per function class. If not specified, it will default to
; the value of "writehandle" or "dsn," if specified.
; writehandle A comma-separated list of DSNs (from res_odbc.conf) to use when
; executing the writesql statement. The same rules apply as to
; readhandle.
; readsql The statement to execute when reading from the function class.
; writesql The statement to execute when writing to the function class.
; insertsql The statement to execute when writing to the function class
; succeeds, but initially indicates that 0 rows were affected.
; prefix Normally, all function classes are prefixed with "ODBC" to keep
; them uniquely named. You may choose to change this prefix, which
; may be useful to segregate a collection of certain function
; classes from others.
; escapecommas This option may be used to turn off the default behavior of
; escaping commas which occur within a field. If commas are
; escaped (the default behavior), then fields containing commas
; will be treated as a single value when assigning to ARRAY() or
; HASH(). If commas are not escaped, then values will be separated
; at the comma within fields. Please note that turning this option
; off is incompatible with the functionality of HASH().
; synopsis Appears in the synopsis field for the command
; 'core show function <function name>'
; syntax Appears in the syntax field for the command
; 'core show function <function name>'
; mode This option may be set to 'multirow' to allow the function
; specified to return more than a single row. However, this
; changes the way that func_odbc normally works. Instead of the
; invocation of the function returning a row, it returns an opaque
; ID, which may be passed to ODBC_FETCH() to return each row in
; turn. ODBC_FETCH_STATUS returns SUCCESS or FAILURE, to indicate
; whether any results were stored, and you should call ODBC_Finish
; on the ID to clean up any remaining results when you are done
; with the query. Also, the variable ODBCROWS is set initially,
; which may be used in an iterative fashion to return each row in
; the result.
; Please note that multirow queries are isolated to the channel,
; and rows may not be fetched outside of the channel where the
; query was initially performed. Additionally, as the results are
; associated with a channel, mode=multirow is incompatible with
; the global space.
; rowlimit Rowlimit limits the total number of rows which can be stored for
; that query. For mode=multirow, otherwise, func_odbc will
; attempt to store all rows in the resultset, up to the maximum
; amount of memory. In normal mode, rowlimit can be set to allow
; additional rows to be fetched, rather than just the first one.
; These additional rows can be returned by using the name of the
; function which was called to retrieve the first row as an
; argument to ODBC_FETCH().
; ODBC_SQL - Allow an SQL statement to be built entirely in the dialplan
[SQL]
writehandle=mysql1
readsql=${ARG1}
; ODBC_ANTISOLICIT - A blacklist for known solicitors.
[ANTISOLICIT]
dsn=mysql1,mysql2 ; Use mysql1 as the primary handle, but fall back to mysql2
; if mysql1 is down. Supports up to 5 comma-separated
; DSNs. "dsn" may also be specified as "readhandle" and
; "writehandle", if it is important to separate reads and
; writes to different databases.
readsql=SELECT COUNT(*) FROM known_solicitors WHERE callerid='${SQL_ESC(${ARG1})}'
syntax=<callerid>
synopsis=Check if a specified callerid is contained in the known solicitors database
; ODBC_PRESENCE - Retrieve and update presence
[PRESENCE]
writehandle=mysql1
readsql=SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}'
writesql=UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}'

32
version_1.8-reactNative/pabx/etc/asterisk/hep.conf

@ -1,32 +0,0 @@
;
; res_hep Module configuration for Asterisk
;
;
; Note that this configuration file is consumed by res_hep, which is responsible
; for the HEPv3 protocol manipulation and managing the connection to the Homer
; capture server. Additional modules provide specific messages to be sent to
; the Homer server:
; - res_hep_pjsip: Send SIP messages transmitted/received by the PJSIP stack
; - res_hep_rtcp: Send RTCP information (all channels)
;
; All settings are currently set in the general section.
[general]
enabled = no ; Enable/disable forwarding of packets to a
; HEP server. Default is "yes".
capture_address = 192.168.1.1:9061 ; The address of the HEP capture server.
capture_password = foo ; If specified, the authorization passsword
; for the HEP server. If not specified, no
; authorization password will be sent.
capture_id = 1234 ; A unique integer identifier for this
; server. This ID will be embedded sent
; with each packet from this server.
uuid_type = call-id ; Specify the preferred source for the Homer
; correlation UUID. Valid options are:
; - 'call-id' for the PJSIP or chan_sip SIP
; Call-ID
; - 'channel' for the Asterisk channel name
; Note: If 'call-id' is specified but the
; channel is not PJSIP or chan_sip then the
; Asterisk channel name will be used instead.

133
version_1.8-reactNative/pabx/etc/asterisk/http.conf

@ -1,133 +0,0 @@
;
; Asterisk Built-in mini-HTTP server
;
;
; Note about Asterisk documentation:
; If Asterisk was installed from a tarball, then the HTML documentation should
; be installed in the static-http/docs directory which is
; (/var/lib/asterisk/static-http/docs) on linux by default. If the Asterisk
; HTTP server is enabled in this file by setting the "enabled", "bindaddr",
; and "bindport" options, then you should be able to view the documentation
; remotely by browsing to:
; http://<server_ip>:<bindport>/static/docs/index.html
;
[general]
;
; The name of the server, advertised in both the Server field in HTTP
; response message headers, as well as the <address /> element in certain HTTP
; response message bodies. If not furnished here, "Asterisk/{version}" will be
; used as a default value for the Server header field and the <address />
; element. Setting this property to a blank value will result in the omission
; of the Server header field from HTTP response message headers and the
; <address /> element from HTTP response message bodies.
;
servername=Asterisk
;
; Whether HTTP/HTTPS interface is enabled or not. Default is no.
; This also affects manager/rawman/mxml access (see manager.conf)
;
enabled=yes
;
; Address to bind to, both for HTTP and HTTPS. You MUST specify
; a bindaddr in order for the HTTP server to run. There is no
; default value.
;
bindaddr=0.0.0.0
;
; Port to bind to for HTTP sessions (default is 8088)
;
bindport=8088
;
; Prefix allows you to specify a prefix for all requests
; to the server. The default is blank. If uncommented
; all requests must begin with /asterisk
;
;prefix=asterisk
;
; sessionlimit specifies the maximum number of httpsessions that will be
; allowed to exist at any given time. (default: 100)
;
;sessionlimit=100
;
; session_inactivity specifies the number of milliseconds to wait for
; more data over the HTTP connection before closing it.
;
; Default: 30000
;session_inactivity=30000
;
; session_keep_alive specifies the number of milliseconds to wait for
; the next HTTP request over a persistent connection.
;
; Set to 0 to disable persistent HTTP connections.
; Default: 15000
;session_keep_alive=15000
;
; Whether Asterisk should serve static content from static-http
; Default wis no.
;
enable_static=yes
;
; Whether Asterisk should serve a status page showing the running
; configuration of this built-in HTTP server.
; Default is yes.
;
;enable_status=no
;
; Redirect one URI to another. This is how you would set a
; default page.
; Syntax: redirect=<from here> <to there>
; For example, if you are using the Asterisk-gui,
; it is convenient to enable the following redirect:
;
redirect = / /static/config/index.html
;
; HTTPS support. In addition to enabled=yes, you need to
; explicitly enable tls, define the port to use,
; and have a certificate somewhere.
tlsenable=no ; enable tls - default no.
tlsbindaddr=0.0.0.0:8089 ; address and port to bind to - default is bindaddr and port 8089.
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlsprivatekey=/etc/asterisk/keys/asterisk.pem
; If no path is given for tlscertfile or tlsprivatekey, default is to look in current
; directory. If no tlsprivatekey is given, default is to search tlscertfile for private key.
;
; To produce a certificate you can e.g. use openssl. This places both the cert and
; private in same .pem file.
; openssl req -new -x509 -days 365 -nodes -out /tmp/foo.pem -keyout /tmp/foo.pem
;
; tlscipher= ; The list of allowed ciphers
; ; if none are specified the following cipher
; ; list will be used instead:
; ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:
; ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:
; kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:
; ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:
; ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:
; DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:
; AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:
; AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:
; !EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
;
; tlsdisablev1=yes ; Disable TLSv1 support - if not set this defaults to "yes"
; tlsdisablev11=yes ; Disable TLSv1.1 support - if not set this defaults to "no"
; tlsdisablev12=yes ; Disable TLSv1.2 support - if not set this defaults to "no"
;
; tlsservercipherorder=yes ; Use the server preference order instead of the client order
; ; Defaults to "yes"
;
; The post_mappings section maps URLs to real paths on the filesystem. If a
; POST is done from within an authenticated manager session to one of the
; configured POST mappings, then any files in the POST will be placed in the
; configured directory.
;
;[post_mappings]
;
; NOTE: You need a valid HTTP AMI mansession_id cookie with the manager
; config permission to POST files.
;
; In this example, if the prefix option is set to "asterisk", then using the
; POST URL: /asterisk/uploads will put files in /var/lib/asterisk/uploads/.
;uploads = /var/lib/asterisk/uploads/
;

665
version_1.8-reactNative/pabx/etc/asterisk/iax.conf

@ -1,665 +0,0 @@
;
; Inter-Asterisk eXchange v2 (IAX2) Channel Driver configuration
;
; This configuration is read when the chan_iax2.so module is loaded, and is
; re-read when the module is reloaded, such as when invoking the CLI command:
;
; *CLI> iax2 reload
;
; General settings, like port number to bind to, and an option address (the
; default is to bind to all local addresses).
[general]
; Listener Addresses
;
; Use the 'bindaddr' and 'bindport' options to specify on which address and port
; the IAX2 channel driver will listen for incoming requests.
;
;
;bindport=4569 ; The default port to listen on
; NOTE: bindport must be specified BEFORE bindaddr or
; may be specified on a specific bindaddr if followed by
; colon and port (e.g. bindaddr=192.168.0.1:4569) or for
; IPv6 the address needs to be in brackets then colon
; and port (e.g. bindaddr=[2001:db8::1]:4569).
;bindaddr=192.168.0.1 ; You can specify 'bindaddr' more than once to bind to
; multiple addresses, but the first will be the
; default. IPv6 addresses are accepted.
;
; Set 'iaxcompat' to yes if you plan to use layered switches or some other
; scenario which may cause some delay when doing a lookup in the dialplan. It
; incurs a small performance hit to enable it. This option causes Asterisk to
; spawn a separate thread when it receives an IAX2 DPREQ (Dialplan Request)
; instead of blocking while it waits for a response.
;
; Accepted values: yes, no
; Default value: no
;
;iaxcompat=yes
;
;
; Disable UDP checksums (if nochecksums is set, then no checkums will
; be calculated/checked on systems supporting this feature)
;
; Accepted values: yes, no
; Default value: no
;
;nochecksums=yes
;
;
; For increased security against brute force password attacks enable
; 'delayreject' which will delay the sending of authentication reject for REGREQ
; or AUTHREP if there is a password.
;
; Accepted values: yes, no
; Default value: no
;
;delayreject=yes
;
;
; You may specify a global default AMA flag for iaxtel calls. These flags are
; used in the generation of call detail records.
;
; Accepted values: default, omit, billing, documentation
; Default value: default
;
;amaflags=billing
;
;
; ADSI (Analog Display Services Interface) can be enabled if you have (or may
; have) ADSI compatible CPE equipment.
;
; Accepted values: yes, no
; Default value: no
;
;adsi=yes
;
;
; Whether or not to perform an SRV lookup on outbound calls.
;
; Accepted values: yes, no
; Default value: no
;
;srvlookup=yes
;
;
; You may specify a default account for Call Detail Records (CDRs) in addition to
; specifying on a per-user basis.
;
; Accepted values: Any string value up to 19 characters in length
; Default value: <empty>
;
;accountcode=lss0101
;
;
; You may specify a global default language for users. This can be specified
; also on a per-user basis. If omitted, will fallback to English (en).
;
; Accepted values: A language tag such as 'en' or 'es'
; Default value: en
;
;language=en
;
;
; This option specifies a preference for which music-on-hold class this channel
; should listen to when put on hold if the music class has not been set on the
; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer
; channel putting this one on hold did not suggest a music class.
;
; If this option is set to "passthrough", then the hold message will always be
; passed through as signalling instead of generating hold music locally.
;
; This option may be specified globally, or on a per-user or per-peer basis.
;
; Accepted values: passthrough, or any music-on-hold class name
; Default value: <empty>
;
;mohinterpret=default
;
;
; The 'mohsuggest' option specifies which music on hold class to suggest to the
; peer channel when this channel places the peer on hold. It may be specified
; globally or on a per-user or per-peer basis.
;
;mohsuggest=default
;
;
; Specify bandwidth of low, medium, or high to control which codecs are used
; in general.
;
bandwidth=low
;
;
; You can also fine tune codecs here using "allow" and "disallow" clauses with
; specific codecs. Use "all" to represent all formats.
;
;allow=all
;disallow=g723.1
disallow=lpc10
;allow=gsm
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Jitter Buffer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; You can adjust several parameters relating to the jitter buffer. The jitter
; buffer's function is to compensate for varying network delay.
;
; All of the jitter buffer settings are in milliseconds. The jitter buffer
; works for INCOMING audio only - the outbound audio will be dejittered by the
; jitter buffer at the other end.
;
; jitterbuffer=yes|no: global default as to whether you want
; the jitter buffer at all.
;
; maxjitterbuffer: a maximum size for the jitter buffer.
; Setting a reasonable maximum here will prevent the call delay
; from rising to silly values in extreme situations; you'll hear
; SOMETHING, even though it will be jittery.
;
; resyncthreshold: when the jitterbuffer notices a significant change in delay
; that continues over a few frames, it will resync, assuming that the change in
; delay was caused by a timestamping mix-up. The threshold for noticing a
; change in delay is measured as twice the measured jitter plus this resync
; threshold.
; Resyncing can be disabled by setting this parameter to -1.
;
; maxjitterinterps: the maximum number of interpolation frames the jitterbuffer
; should return in a row. Since some clients do not send CNG/DTX frames to
; indicate silence, the jitterbuffer will assume silence has begun after
; returning this many interpolations. This prevents interpolating throughout
; a long silence.
;
; jittertargetextra: number of milliseconds by which the new jitter buffer
; will pad its size. the default is 40, so without modification, the new
; jitter buffer will set its size to the jitter value plus 40 milliseconds.
; increasing this value may help if your network normally has low jitter,
; but occasionally has spikes.
;
jitterbuffer=no
;maxjitterbuffer=1000
;maxjitterinterps=10
;resyncthreshold=1000
;jittertargetextra=40
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; IAX2 Encryption
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Enable IAX2 encryption. The default is no.
;
;encryption=yes
;
;
; Force encryption insures no connection is established unless both sides
; support encryption. By turning this option on, encryption is automatically
; turned on as well. The default is no.
;
;forceencryption=yes
;
; This option defines the maximum payload in bytes an IAX2 trunk can support at
; a given time. The best way to explain this is to provide an example. If the
; maximum number of calls to be supported is 800, and each call transmits 20ms
; frames of audio using ulaw:
;
; (8000hz / 1000ms) * 20ms * 1 byte per sample = 160 bytes per frame
;
; The maximum load in bytes is:
;
; (160 bytes per frame) * (800 calls) = 128000 bytes
;
; Once this limit is reached, calls may be dropped or begin to lose audio.
; Depending on the codec in use and number of channels to be supported this value
; may need to be raised, but in most cases the default value is large enough.
;
; trunkmaxsize = 128000 ; defaults to 128000 bytes, which supports up to 800
; calls of ulaw at 20ms a frame.
; With a large amount of traffic on IAX2 trunks, there is a risk of bad voice
; quality when allowing the Linux system to handle fragmentation of UDP packets.
; Depending on the size of each payload, allowing the OS to handle fragmentation
; may not be very efficient. This setting sets the maximum transmission unit for
; IAX2 UDP trunking. The default is 1240 bytes which means if a trunk's payload
; is over 1240 bytes for every 20ms it will be broken into multiple 1240 byte
; messages. Zero disables this functionality and let's the OS handle
; fragmentation.
;
; trunkmtu = 1240 ; trunk data will be sent in 1240 byte messages.
; trunkfreq sets how frequently trunk messages are sent in milliseconds. This
; value is 20ms by default, which means the trunk will send all the data queued
; to it in the past 20ms. By increasing the time between sending trunk messages,
; the trunk's payload size will increase as well. Note, depending on the size
; set by trunkmtu, messages may be sent more often than specified. For example
; if a trunk's message size grows to the trunkmtu size before 20ms is reached
; that message will be sent immediately. Acceptable values are between 10ms and
; 1000ms.
;
; trunkfreq=20 ; How frequently to send trunk msgs (in ms). This is 20ms by
; default.
; Should we send timestamps for the individual sub-frames within trunk frames?
; There is a small bandwidth use for these (less than 1kbps/call), but they
; ensure that frame timestamps get sent end-to-end properly. If both ends of
; all your trunks go directly to TDM, _and_ your trunkfreq equals the frame
; length for your codecs, you can probably suppress these. The receiver must
; also support this feature, although they do not also need to have it enabled.
;
; trunktimestamps=yes
; Minimum and maximum amounts of time that IAX2 peers can request as a
; registration expiration interval (in seconds).
; minregexpire = 60
; maxregexpire = 60
; IAX2 helper threads
; Establishes the number of iax helper threads to handle I/O.
; iaxthreadcount = 10
; Establishes the number of extra dynamic threads that may be spawned to handle I/O
; iaxmaxthreadcount = 100
;
; We can register with another IAX2 server to let him know where we are
; in case we have a dynamic IP address for example
;
; Register with tormenta using username marko and password secretpass
;
;register => marko:secretpass@tormenta.linux-support.net
;
; Register joe at remote host with no password
;
;register => joe@remotehost:5656
;
; Register marko at tormenta.linux-support.net using RSA key "torkey"
;
;register => marko:[torkey]@tormenta.linux-support.net
;
; Sample Registration for iaxtel
;
; Visit http://www.iaxtel.com to register with iaxtel. Replace "user"
; and "pass" with your username and password for iaxtel. Incoming
; calls arrive at the "s" extension of "default" context.
;
;register => user:pass@iaxtel.com
;
; Sample Registration for IAX2 + FWD
;
; To register using IAX2 with FWD, it must be enabled by visiting the URL
; http://www.fwdnet.net/index.php?section_id=112
;
; Note that you need an extension in you default context which matches
; your free world dialup number. Please replace "FWDNumber" with your
; FWD number and "passwd" with your password.
;
;register => FWDNumber:passwd@iax.fwdnet.net
;
; Through the use of the res_stun_monitor module, Asterisk has the ability to detect when the
; perceived external network address has changed. When the stun_monitor is installed and
; configured, chan_iax will renew all outbound registrations when the monitor detects any sort
; of network change has occurred. By default this option is enabled, but only takes effect once
; res_stun_monitor is configured. If res_stun_monitor is enabled and you wish to not
; generate all outbound registrations on a network change, use the option below to disable
; this feature.
;
; subscribe_network_change_event = yes ; on by default
;
; You can enable authentication debugging to increase the amount of
; debugging traffic.
;
;authdebug = yes
;
; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of these parameters.
;tos=ef
;cos=5
;
; If regcontext is specified, Asterisk will dynamically create and destroy
; a NoOp priority 1 extension for a given peer who registers or unregisters
; with us. The actual extension is the 'regexten' parameter of the registering
; peer or its name if 'regexten' is not provided. More than one regexten
; may be supplied if they are separated by '&'. Patterns may be used in
; regexten.
;
;regcontext=iaxregistrations
;
; If we don't get ACK to our NEW within 2000ms, and autokill is set to yes,
; then we cancel the whole thing (that's enough time for one retransmission
; only). This is used to keep things from stalling for a long time for a host
; that is not available, but would be ill advised for bad connections. In
; addition to 'yes' or 'no' you can also specify a number of milliseconds.
; See 'qualify' for individual peers to turn on for just a specific peer.
;
autokill=yes
;
; codecpriority controls the codec negotiation of an inbound IAX2 call.
; This option is inherited to all user entities. It can also be defined
; in each user entity separately which will override the setting in general.
;
; The valid values are:
;
; caller - Consider the callers preferred order ahead of the host's.
; host - Consider the host's preferred order ahead of the caller's.
; disabled - Disable the consideration of codec preference altogether.
; (this is the original behaviour before preferences were added)
; reqonly - Same as disabled, only do not consider capabilities if
; the requested format is not available the call will only
; be accepted if the requested format is available.
;
; The default value is 'host'
;
;codecpriority=host
;
; allowfwdownload controls whether this host will serve out firmware to
; IAX2 clients which request it. This has only been used for the IAXy,
; and it has been recently proven that this firmware distribution method
; can be used as a source of traffic amplification attacks. Also, the
; IAXy firmware has not been updated for at least 18 months, so unless
; you are provisioning IAXys in a secure network, we recommend that you
; leave this option to the default, off.
;
;allowfwdownload=yes
;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list
; just like friends added from the config file only on a
; as-needed basis? (yes|no)
;rtsavesysname=yes ; Save systemname in realtime database at registration
; Default = no
;rtupdate=yes ; Send registry updates to database using realtime? (yes|no)
; If set to yes, when a IAX2 peer registers successfully,
; the IP address, the origination port, the registration period,
; and the username of the peer will be set to database via realtime.
; If not present, defaults to 'yes'.
;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule
; as if it had just registered? (yes|no|<seconds>)
; If set to yes, when the registration expires, the friend will
; vanish from the configuration until requested again.
; If set to an integer, friends expire within this number of
; seconds instead of the registration interval.
;rtignoreregexpire=yes ; When reading a peer from Realtime, if the peer's registration
; has expired based on its registration interval, used the stored
; address information regardless. (yes|no)
;parkinglot=edvina ; Default parkinglot for IAX2 peers and users
; This can also be configured per device
; Parkinglots are defined in features.conf
;
; The following two options are used to disable call token validation for the
; purposes of interoperability with IAX2 endpoints that do not yet support it.
;
; Call token validation can be set as optional for a single IP address or IP
; address range by using the 'calltokenoptional' option. 'calltokenoptional' is
; only a global option.
;
;calltokenoptional=209.16.236.73/255.255.255.0
;
; By setting 'requirecalltoken=no', call token validation becomes optional for
; that peer/user. By setting 'requirecalltoken=auto', call token validation
; is optional until a call token supporting peer registers successfully using
; call token validation. This is used as an indication that from now on, we
; can require it from this peer. So, requirecalltoken is internally set to yes.
; requirecalltoken may only be used in peer/user/friend definitions,
; not in the global scope.
; By default, 'requirecalltoken=yes'.
;
;requirecalltoken=no
;
;
; These options are used to limit the amount of call numbers allocated to a
; single IP address. Before changing any of these values, it is highly encouraged
; to read the user guide associated with these options first. In most cases, the
; default values for these options are sufficient.
;
; The 'maxcallnumbers' option limits the amount of call numbers allowed for each
; individual remote IP address. Once an IP address reaches it's call number
; limit, no more new connections are allowed until the previous ones close. This
; option can be used in a peer definition as well, but only takes effect for
; the IP of a dynamic peer after it completes registration.
;
;maxcallnumbers=512
;
; The 'maxcallnumbers_nonvalidated' is used to set the combined number of call
; numbers that can be allocated for connections where call token validation
; has been disabled. Unlike the 'maxcallnumbers' option, this limit is not
; separate for each individual IP address. Any connection resulting in a
; non-call token validated call number being allocated contributes to this
; limit. For use cases, see the call token user guide. This option's
; default value of 8192 should be sufficient in most cases.
;
;maxcallnumbers_nonvalidated=1024
;
; The [callnumberlimits] section allows custom call number limits to be set
; for specific IP addresses and IP address ranges. These limits take precedence
; over the global 'maxcallnumbers' option, but may still be overridden by a
; peer defined 'maxcallnumbers' entry. Note that these limits take effect
; for every individual address within the range, not the range as a whole.
;
;[callnumberlimits]
;10.1.1.0/255.255.255.0 = 24
;10.1.2.0/255.255.255.0 = 32
;
; The shrinkcallerid function removes '(', ' ', ')', non-trailing '.', and '-' not
; in square brackets. For example, the Caller*ID value 555.5555 becomes 5555555
; when this option is enabled. Disabling this option results in no modification
; of the Caller*ID value, which is necessary when the Caller*ID represents something
; that must be preserved. This option can only be used in the [general] section.
; By default this option is on.
;
;shrinkcallerid=yes ; on by default
; Guest sections for unauthenticated connection attempts. Just specify an
; empty secret, or provide no secret section.
;
[guest]
type=user
context=public
callerid="Guest IAX User"
;
; Trust Caller*ID Coming from iaxtel.com
;
[iaxtel]
type=user
context=default
auth=rsa
inkeys=iaxtel
;
; Trust Caller*ID Coming from iax.fwdnet.net
;
[iaxfwd]
type=user
context=default
auth=rsa
inkeys=freeworlddialup
;
; Trust Caller*ID delivered over DUNDi/e164
;
;[dundi]
;type=user
;dbsecret=dundi/secret
;context=dundi-e164-local
;
; Further user sections may be added, specifying a context and a secret used
; for connections with that given authentication name. Limited IP based
; access control is allowed by use of "permit", "deny", and "acl" keywords.
; Multiple rules are permitted. Multiple permitted contexts may be specified,
; in which case the first will be the default. You can also override
; Caller*ID so that when you receive a call you set the Caller*ID to be what
; you want instead of trusting what the remote user provides
;
; There are three authentication methods that are supported: md5, plaintext,
; and rsa. The least secure is "plaintext", which sends passwords cleartext
; across the net. "md5" uses a challenge/response md5 sum arrangement, but
; still requires both ends have plain text access to the secret. "rsa" allows
; unidirectional secret knowledge through public/private keys. If "rsa"
; authentication is used, "inkeys" is a list of acceptable public keys on the
; local system that can be used to authenticate the remote peer, separated by
; the ":" character. "outkey" is a single, private key to use to authenticate
; to the other side. Public keys are named /var/lib/asterisk/keys/<name>.pub
; while private keys are named /var/lib/asterisk/keys/<name>.key. Private
; keys should always be 3DES encrypted.
;
;
; NOTE: All hostnames and IP addresses in this file are for example purposes
; only; you should not expect any of them to actually be available for
; your use.
;
;[markster]
;type=user
;context=default
;context=local
;auth=md5,plaintext,rsa
;secret=markpasswd
;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
; cause the given audio file to
; be played upon completion of
; an attended transfer to the
; target of the transfer.
;dbsecret=mysecrets/place ; Secrets can be stored in astdb, too
;transfer=no ; Disable IAX2 native transfer
;transfer=mediaonly ; When doing IAX2 native transfers, transfer only
; the media stream
;jitterbuffer=yes ; Override the global setting and enable the jitter
; buffer for this user
;maxauthreq=10 ; Set the maximum number of outstanding AUTHREQs
; waiting for replies. If this limit is reached,
; any further authentication will be blocked, until
; the pending requests expire or a reply is
; received.
;callerid="Mark Spencer" <(256) 428-6275>
;deny=0.0.0.0/0.0.0.0
;accountcode=markster0101
;permit=209.16.236.73/255.255.255.0
;language=en ; Use english as default language
;encryption=yes ; Enable IAX2 encryption. The default is no.
;keyrotate=off ; This is a compatibility option for older versions
; of IAX2 that do not support key rotation with
; encryption. This option will disable the
; IAX_COMMAND_RTENC message. The default is on.
;
; Peers may also be specified, with a secret and a remote hostname.
;
;[demo]
;type=peer
;username=asterisk
;secret=supersecret
;host=192.168.10.10
;description=My IAX2 Peer ; Description of this peer, as listed by
; 'iax2 show peers'
;sendani=no
;host=asterisk.linux-support.net
;port=5036
;mask=255.255.255.255
;qualify=yes ; Make sure this peer is alive.
;qualifysmoothing = yes ; Use an average of the last two PONG results to
; reduce falsely detected LAGGED hosts. The default
; is 'no.'
;qualifyfreqok = 60000 ; How frequently to ping the peer when everything
; seems to be OK, in milliseconds.
;qualifyfreqnotok = 10000 ; How frequently to ping the peer when it's either
; LAGGED or UNAVAILABLE, in milliseconds.
;jitterbuffer=no ; Turn off jitter buffer for this peer
;
;encryption=yes ; Enable IAX2 encryption. The default is no.
;keyrotate=off ; This is a compatibility option for older versions
; of IAX2 that do not support key rotation with
; encryption. This option will disable the
; IAX_COMMAND_RTENC message. The default is 'on.'
; Peers can remotely register as well, so that they can be mobile. Default
; IPs can also optionally be given but are not required. Caller*ID can be
; suggested to the other side as well if it is for example a phone instead of
; another PBX.
;connectedline=yes ; Set if connected line and redirecting information updates
; ; are passed between Asterisk servers for this peer.
; ; yes - Sending and receiving updates are enabled.
; ; send - Only send updates.
; ; receive - Only process received updates.
; ; no - Sending and receiving updates are disabled.
; ; Default is "no".
; ;
; ; Note: Because of an incompatibility between Asterisk v1.4
; ; and Asterisk v1.8 or later, this option must be set
; ; to "no" toward the Asterisk v1.4 peer. A symptom of the
; ; incompatibility is the call gets disconnected unexpectedly.
;[dynamichost]
;host=dynamic
;secret=mysecret
; Note: app_voicemail mailboxes must be in the form of mailbox@context.
;mailbox=1234 ; Notify about mailbox 1234
;inkeys=key1:key2
;peercontext=local ; Default context to request for calls to peer
;defaultip=216.207.245.34
;callerid="Some Host" <(256) 428-6011>
;[biggateway]
;type=peer
;host=192.168.0.1
;description=Gateway to PSTN
;context=*
;secret=myscret
;trunk=yes ; Use IAX2 trunking with this host
;timezone=America/New_York ; Set a timezone for the date/time IE
;
; Friends are a shortcut for creating a user and a peer with the same values.
;
;[marko]
;type=friend
;host=dynamic
;regexten=1234
;secret=moofoo ; Multiple secrets may be specified. For a "user", all
;secret=foomoo ; specified entries will be accepted as valid. For a "peer",
;secret=shazbot ; only the last specified secret will be used.
;context=default
;permit=0.0.0.0/0.0.0.0
;acl=example_named_acl
;
; With immediate=yes, an IAX2 phone or a phone on an IAXy acts as a hot-line
; which goes immediately to the s extension when picked up. Useful for
; elevator phones, manual service, or other similar applications.
;
;[manual]
;type=friend
;host=dynamic
;immediate=yes ; go immediately to s extension when picked up
;secret=moofoo ; when immediate=yes is specified, secret is required
;context=number-please ; we start at the s extension in this context
;

80
version_1.8-reactNative/pabx/etc/asterisk/iaxprov.conf

@ -1,80 +0,0 @@
;
; IAX2 Provisioning Information
;
; Contains provisioning information for templates and for specific service
; entries.
;
; Templates provide a group of settings from which provisioning takes place.
; A template may be based upon any template that has been specified before
; it. If the template that an entry is based on is not specified then it is
; presumed to be 'default' (unless it is the first of course).
;
; Templates which begin with 'si-' are used for provisioning units with
; specific service identifiers. For example the entry "si-000364000126"
; would be used when the device with the corresponding service identifier of
; "000364000126" attempts to register or make a call.
;
[default]
;
; The port number the device should use to bind to. The default is 4569.
;
;port=4569
;
; server is our PRIMARY server for registration and placing calls
;
;server=192.168.69.3
;
; altserver is the BACKUP server for registration and placing calls in the
; event the primary server is unavailable.
;
;altserver=192.168.69.4
;
; port is the port number to use for IAX2 outbound. The connections to the
; server and altserver -- default is of course 4569.
;serverport=4569
;
; language is the preferred language for the device
;
;language=en
;
; codec is the requested codec. The iaxy supports ulaw and adpcm
;
codec=ulaw
;
; flags is a comma separated list of flags which the device should
; use and may contain any of the following keywords:
;
; "register" - Register with server
; "secure" - Do not accept calls / provisioning not originated by the server
; "heartbeat" - Generate status packets on port 9999 sent to 255.255.255.255
; "debug" - Output extra debugging to port 9999
;
; Note that use can use += and -= to adjust parameters
;
flags=register,heartbeat
;
; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of this parameter.
;tos=ef
;
; Example iaxy provisioning
;
;[si-000364000126]
;user=iaxy
;pass=bitsy
;flags += debug
;[si-000364000127]
;user=iaxy2
;pass=bitsy2
;template=si-000364000126
;flags += debug
;
;[*]
;
; If specified, the '*' provisioning is used for all devices which do not
; have another provisioning entry within the file. If unspecified, no
; provisioning will take place for devices which have no entry. DO NOT
; USE A '*' PROVISIONING ENTRY UNLESS YOU KNOW WHAT YOU'RE DOING.
;
;template=default

747
version_1.8-reactNative/pabx/etc/asterisk/indications.conf

@ -1,747 +0,0 @@
;
; indications.conf
;
; Configuration file for location specific tone indications
;
;
; NOTE:
; When adding countries to this file, please keep them in alphabetical
; order according to the 2-character country codes!
;
; The [general] category is for certain global variables.
; All other categories are interpreted as location specific indications
;
[general]
country=us ; default location
; [example]
; description = string
; The full name of your country, in English.
; ringcadence = num[,num]*
; List of durations the physical bell rings.
; dial = tonelist
; Set of tones to be played when one picks up the hook.
; busy = tonelist
; Set of tones played when the receiving end is busy.
; congestion = tonelist
; Set of tones played when there is some congestion (on the network?)
; callwaiting = tonelist
; Set of tones played when there is a call waiting in the background.
; dialrecall = tonelist
; Not well defined; many phone systems play a recall dial tone after hook
; flash.
; record = tonelist
; Set of tones played when call recording is in progress.
; info = tonelist
; Set of tones played with special information messages (e.g., "number is
; out of service")
; 'name' = tonelist
; Every other variable will be available as a shortcut for the "PlayList" command
; but will not be used automatically by Asterisk.
;
;
; The tonelist itself is defined by a comma-separated sequence of elements.
; Each element consist of a frequency (f) with an optional duration (in ms)
; attached to it (f/duration). The frequency component may be a mixture of two
; frequencies (f1+f2) or a frequency modulated by another frequency (f1*f2).
; The implicit modulation depth is fixed at 90%, though.
; If the list element starts with a !, that element is NOT repeated,
; therefore, only if all elements start with !, the tonelist is time-limited,
; all others will repeat indefinitely.
;
; concisely:
; element = [!]freq[+|*freq2][/duration]
; tonelist = element[,element]*
;
[at]
description = Austria
ringcadence = 1000,5000
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
dial = 420
busy = 420/400,0/400
ring = 420/1000,0/5000
congestion = 420/200,0/200
callwaiting = 420/40,0/1960
dialrecall = 420
; RECORDTONE - not specified
record = 1400/80,0/14920
info = 950/330,1450/330,1850/330,0/1000
stutter = 380+420
[au]
description = Australia
; Reference http://www.acif.org.au/__data/page/3303/S002_2001.pdf
; Normal Ring
ringcadence = 400,200,400,2000
; Distinctive Ring 1 - Forwarded Calls
; 400,400,200,200,400,1400
; Distinctive Ring 2 - Selective Ring 2 + Operator + Recall
; 400,400,200,2000
; Distinctive Ring 3 - Multiple Subscriber Number 1
; 200,200,400,2200
; Distinctive Ring 4 - Selective Ring 1 + Centrex
; 400,2600
; Distinctive Ring 5 - Selective Ring 3
; 400,400,200,400,200,1400
; Distinctive Ring 6 - Multiple Subscriber Number 2
; 200,400,200,200,400,1600
; Distinctive Ring 7 - Multiple Subscriber Number 3 + Data Privacy
; 200,400,200,400,200,1600
; Tones
dial = 413+438
busy = 425/375,0/375
ring = 413+438/400,0/200,413+438/400,0/2000
; XXX Congestion: Should reduce by 10 db every other cadence XXX
congestion = 425/375,0/375,420/375,0/375
callwaiting = 425/200,0/200,425/200,0/4400
dialrecall = 413+438
; Record tone used for Call Intrusion/Recording or Conference
record = !425/1000,!0/15000,425/360,0/15000
info = 425/2500,0/500
; Other Australian Tones
; The STD "pips" indicate the call is not an untimed local call
std = !525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100
; Facility confirmation tone (eg. Call Forward Activated)
facility = 425
; Message Waiting "stutter" dialtone
stutter = 413+438/100,0/40
; Ringtone for calls to Telstra mobiles
ringmobile = 400+450/400,0/200,400+450/400,0/2000
[bg]
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
description = Bulgaria
ringcadence = 1000,4000
;
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/250,0/250
callwaiting = 425/150,0/150,425/150,0/4000
dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
record = 1400/425,0/15000
info = 950/330,1400/330,1800/330,0/1000
stutter = 425/1500,0/100
[br]
description = Brazil
ringcadence = 1000,4000
dial = 425
busy = 425/250,0/250
ring = 425/1000,0/4000
congestion = 425/250,0/250,425/750,0/250
callwaiting = 425/50,0/1000
; Dialrecall not used in Brazil standard (using UK standard)
dialrecall = 350+440
; Record tone is not used in Brazil, use busy tone
record = 425/250,0/250
; Info not used in Brazil standard (using UK standard)
info = 950/330,1400/330,1800/330
stutter = 350+440
[be]
description = Belgium
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,3000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/3000
congestion = 425/167,0/167
callwaiting = 1400/175,0/175,1400/175,0/3500
; DIALRECALL - not specified
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
; RECORDTONE - not specified
record = 1400/500,0/15000
info = 900/330,1400/330,1800/330,0/1000
stutter = 425/1000,0/250
[ch]
description = Switzerland
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/200,0/200
callwaiting = 425/200,0/200,425/200,0/4000
; DIALRECALL - not specified
dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
; RECORDTONE - not specified
record = 1400/80,0/15000
info = 950/330,1400/330,1800/330,0/1000
stutter = 425+340/1100,0/1100
[cl]
description = Chile
; According to specs from Telefonica CTC Chile
ringcadence = 1000,3000
dial = 400
busy = 400/500,0/500
ring = 400/1000,0/3000
congestion = 400/200,0/200
callwaiting = 400/250,0/8750
dialrecall = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
record = 1400/500,0/15000
info = 950/333,1400/333,1800/333,0/1000
stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
[cn]
description = China
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 450
busy = 450/350,0/350
ring = 450/1000,0/4000
congestion = 450/700,0/700
callwaiting = 450/400,0/4000
dialrecall = 450
record = 950/400,0/10000
info = 450/100,0/100,450/100,0/100,450/100,0/100,450/400,0/400
; STUTTER - not specified
stutter = 450+425
[cz]
description = Czech Republic
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 425/330,0/330,425/660,0/660
busy = 425/330,0/330
ring = 425/1000,0/4000
congestion = 425/165,0/165
callwaiting = 425/330,0/9000
; DIALRECALL - not specified
dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425/330,0/330,425/660,0/660
; RECORDTONE - not specified
record = 1400/500,0/14000
info = 950/330,0/30,1400/330,0/30,1800/330,0/1000
; STUTTER - not specified
stutter = 425/450,0/50
[de]
description = Germany
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 425
busy = 425/480,0/480
ring = 425/1000,0/4000
congestion = 425/240,0/240
callwaiting = !425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,0
; DIALRECALL - not specified
dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
; RECORDTONE - not specified
record = 1400/80,0/15000
info = 950/330,1400/330,1800/330,0/1000
stutter = 425+400
[dk]
description = Denmark
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/200,0/200
callwaiting = !425/200,!0/600,!425/200,!0/3000,!425/200,!0/200,!425/200,0
; DIALRECALL - not specified
dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
; RECORDTONE - not specified
record = 1400/80,0/15000
info = 950/330,1400/330,1800/330,0/1000
; STUTTER - not specified
stutter = 425/450,0/50
[ee]
description = Estonia
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 425
busy = 425/300,0/300
ring = 425/1000,0/4000
congestion = 425/200,0/200
; CALLWAIT not in accordance to ITU
callwaiting = 950/650,0/325,950/325,0/30,1400/1300,0/2600
; DIALRECALL - not specified
dialrecall = 425/650,0/25
; RECORDTONE - not specified
record = 1400/500,0/15000
; INFO not in accordance to ITU
info = 950/650,0/325,950/325,0/30,1400/1300,0/2600
; STUTTER not specified
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[es]
description = Spain
ringcadence = 1500,3000
dial = 425
busy = 425/200,0/200
ring = 425/1500,0/3000
congestion = 425/200,0/200,425/200,0/200,425/200,0/600
callwaiting = 425/175,0/175,425/175,0/3500
dialrecall = !425/200,!0/200,!425/200,!0/200,!425/200,!0/200,425
record = 1400/500,0/15000
info = 950/330,0/1000
dialout = 500
; STUTTER not specified
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[fi]
description = Finland
ringcadence = 1000,4000
dial = 425
busy = 425/300,0/300
ring = 425/1000,0/4000
congestion = 425/200,0/200
callwaiting = 425/150,0/150,425/150,0/8000
dialrecall = 425/650,0/25
record = 1400/500,0/15000
info = 950/650,0/325,950/325,0/30,1400/1300,0/2600
stutter = 425/650,0/25
[fr]
description = France
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1500,3500
; Dialtone can also be 440+330
dial = 440
busy = 440/500,0/500
ring = 440/1500,0/3500
; CONGESTION - not specified
congestion = 440/250,0/250
callwait = 440/300,0/10000
; DIALRECALL - not specified
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
; RECORDTONE - not specified
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330
stutter = !440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,440
[gr]
description = Greece
ringcadence = 1000,4000
dial = 425/200,0/300,425/700,0/800
busy = 425/300,0/300
ring = 425/1000,0/4000
congestion = 425/200,0/200
callwaiting = 425/150,0/150,425/150,0/8000
dialrecall = 425/650,0/25
record = 1400/400,0/15000
info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
stutter = 425/650,0/25
[hu]
description = Hungary
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1250,3750
dial = 425
busy = 425/300,0/300
ring = 425/1250,0/3750
congestion = 425/300,0/300
callwaiting = 425/40,0/1960
dialrecall = 425+450
; RECORDTONE - not specified
record = 1400/400,0/15000
info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
stutter = 350+375+400
[id]
description = Indonesia
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/250,0/250
callwaiting = 425/150,0/150,425/150,0/10000
info = !950/330,!1400/330,!1800/330,0/1000
[il]
description = Israel
ringcadence = 1000,3000
dial = 414
busy = 414/500,0/500
ring = 414/1000,0/3000
congestion = 414/250,0/250
callwaiting = 414/100,0/100,414/100,0/100,414/600,0/3000
dialrecall = !414/100,!0/100,!414/100,!0/100,!414/100,!0/100,414
record = 1400/500,0/15000
info = 1000/330,1400/330,1800/330,0/1000
stutter = !414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,414
[in]
description = India
ringcadence = 400,200,400,2000
dial = 400*25
busy = 400/750,0/750
ring = 400*25/400,0/200,400*25/400,0/2000
congestion = 400/250,0/250
callwaiting = 400/200,0/100,400/200,0/7500
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0/1000
stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,400*25
[it]
description = Italy
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
dial = 425/200,0/200,425/600,0/1000
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/200,0/200
callwaiting = 425/400,0/100,425/250,0/100,425/150,0/14000
dialrecall = 470/400,425/400
record = 1400/400,0/15000
info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
stutter = 470/400,425/400
[lt]
description = Lithuania
ringcadence = 1000,4000
dial = 425
busy = 425/350,0/350
ring = 425/1000,0/4000
congestion = 425/200,0/200
callwaiting = 425/150,0/150,425/150,0/4000
; DIALRECALL - not specified
dialrecall = 425/500,0/50
; RECORDTONE - not specified
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
; STUTTER - not specified
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[jp]
description = Japan
ringcadence = 1000,2000
dial = 400
busy = 400/500,0/500
ring = 400+15/1000,0/2000
congestion = 400/500,0/500
callwaiting = 400+16/500,0/8000
dialrecall = !400/200,!0/200,!400/200,!0/200,!400/200,!0/200,400
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0
stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
[mx]
description = Mexico
ringcadence = 2000,4000
dial = 425
busy = 425/250,0/250
ring = 425/1000,0/4000
congestion = 425/250,0/250
callwaiting = 425/200,0/600,425/200,0/10000
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
record = 1400/500,0/15000
info = 950/330,0/30,1400/330,0/30,1800/330,0/1000
stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,425
[my]
description = Malaysia
ringcadence = 2000,4000
dial = 425
busy = 425/500,0/500
ring = 425/400,0/200,425/400,0/2000
congestion = 425/500,0/500
; STUTTER - not specified
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[nl]
description = Netherlands
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
ringcadence = 1000,4000
; Most of these 425's can also be 450's
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/250,0/250
callwaiting = 425/500,0/9500
; DIALRECALL - not specified
dialrecall = 425/500,0/50
; RECORDTONE - not specified
record = 1400/500,0/15000
info = 950/330,1400/330,1800/330,0/1000
stutter = 425/500,0/50
[no]
description = Norway
ringcadence = 1000,4000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/200,0/200
callwaiting = 425/200,0/600,425/200,0/10000
dialrecall = 470/400,425/400
record = 1400/400,0/15000
info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
stutter = 470/400,425/400
[nz]
description = New Zealand
; Reference = http://www.telepermit.co.nz/TNA102.pdf
ringcadence = 400,200,400,2000
dial = 400
busy = 400/500,0/500
ring = 400+450/400,0/200,400+450/400,0/2000
congestion = 400/250,0/250
callwaiting = !400/200,!0/3000,!400/200,!0/3000,!400/200,!0/3000,!400/200
dialrecall = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
record = 1400/425,0/15000
info = 400/750,0/100,400/750,0/100,400/750,0/100,400/750,0/400
stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
unobtainable = 400/75,0/100,400/75,0/100,400/75,0/100,400/75,0/400
[ph]
; reference http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
description = Philippines
ringcadence = 1000,4000
dial = 425
busy = 480+620/500,0/500
ring = 425+480/1000,0/4000
congestion = 480+620/250,0/250
callwaiting = 440/300,0/10000
; DIALRECALL - not specified
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
; RECORDTONE - not specified
record = 1400/500,0/15000
; INFO - not specified
info = !950/330,!1400/330,!1800/330,0
; STUTTER - not specified
stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,425
[pl]
description = Poland
ringcadence = 1000,4000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/500,0/500
callwaiting = 425/150,0/150,425/150,0/4000
; DIALRECALL - not specified
dialrecall = 425/500,0/50
; RECORDTONE - not specified
record = 1400/500,0/15000
; 950/1400/1800 3x0.33 on 1.0 off repeated 3 times
info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000
; STUTTER - not specified
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[pt]
description = Portugal
ringcadence = 1000,5000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/5000
congestion = 425/200,0/200
callwaiting = 440/300,0/10000
dialrecall = 425/1000,0/200
record = 1400/500,0/15000
info = 950/330,1400/330,1800/330,0/1000
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[ru]
; References:
; http://www.minsvyaz.ru/site.shtml?id=1806
; http://www.aboutphone.info/lib/gost/45-223-2001.html
description = Russian Federation / ex Soviet Union
ringcadence = 1000,4000
dial = 425
busy = 425/350,0/350
ring = 425/1000,0/4000
congestion = 425/175,0/175
callwaiting = 425/200,0/5000
record = 1400/400,0/15000
info = 950/330,1400/330,1800/330,0/1000
dialrecall = 425/400,0/40
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[se]
description = Sweden
ringcadence = 1000,5000
dial = 425
busy = 425/250,0/250
ring = 425/1000,0/5000
congestion = 425/250,0/750
callwaiting = 425/200,0/500,425/200,0/9100
dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
record = 1400/500,0/15000
info = !950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,0
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
; stutter = 425/320,0/20 ; Real swedish standard, not used for now
[sg]
description = Singapore
; Singapore
; Reference: http://www.ida.gov.sg/idaweb/doc/download/I397/ida_ts_pstn1_i4r2.pdf
; Frequency specs are: 425 Hz +/- 20Hz; 24 Hz +/- 2Hz; modulation depth 100%; SIT +/- 50Hz
ringcadence = 400,200,400,2000
dial = 425
ring = 425*24/400,0/200,425*24/400,0/2000 ; modulation should be 100%, not 90%
busy = 425/750,0/750
congestion = 425/250,0/250
callwaiting = 425*24/300,0/200,425*24/300,0/3200
stutter = !425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,425
info = 950/330,1400/330,1800/330,0/1000 ; not currently in use acc. to reference
dialrecall = 425*24/500,0/500,425/500,0/2500 ; unspecified in IDA reference, use repeating Holding Tone A,B
record = 1400/500,0/15000 ; unspecified in IDA reference, use 0.5s tone every 15s
; additionally defined in reference
nutone = 425/2500,0/500
intrusion = 425/250,0/2000
warning = 425/624,0/4376 ; end of period tone, warning
acceptance = 425/125,0/125
holdinga = !425*24/500,!0/500 ; followed by holdingb
holdingb = !425/500,!0/2500
[th]
description = Thailand
ringcadence = 1000,4000
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
dial = 400*50
busy = 400/500,0/500
ring = 420/1000,0/5000
congestion = 400/300,0/300
callwaiting = 1000/400,10000/400,1000/400
; DIALRECALL - not specified - use special dial tone instead.
dialrecall = 400*50/400,0/100,400*50/400,0/100
; RECORDTONE - not specified
record = 1400/500,0/15000
; INFO - specified as an announcement - use special information tones instead
info = 950/330,1400/330,1800/330
; STUTTER - not specified
stutter = !400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,400
[uk]
description = United Kingdom
ringcadence = 400,200,400,2000
; These are the official tones taken from BT SIN350. The actual tones
; used by BT include some volume differences so sound slightly different
; from Asterisk-generated ones.
dial = 350+440
; Special dial is the intermittent dial tone heard when, for example,
; you have a divert active on the line
specialdial = 350+440/750,440/750
; Busy is also called "Engaged"
busy = 400/375,0/375
; "Congestion" is the Beep-bip engaged tone
congestion = 400/400,0/350,400/225,0/525
; "Special Congestion" is not used by BT very often if at all
specialcongestion = 400/200,1004/300
unobtainable = 400
ring = 400+450/400,0/200,400+450/400,0/2000
callwaiting = 400/100,0/4000
; BT seem to use "Special Call Waiting" rather than just "Call Waiting" tones
specialcallwaiting = 400/250,0/250,400/250,0/250,400/250,0/5000
; "Pips" used by BT on payphones. (Sounds wrong, but this is what BT claim it
; is and I've not used a payphone for years)
creditexpired = 400/125,0/125
; These two are used to confirm/reject service requests on exchanges that
; don't do voice announcements.
confirm = 1400
switching = 400/200,0/400,400/2000,0/400
; This is the three rising tones Doo-dah-dee "Special Information Tone",
; usually followed by the BT woman saying an appropriate message.
info = 950/330,0/15,1400/330,0/15,1800/330,0/1000
; Not listed in SIN350
record = 1400/500,0/60000
stutter = 350+440/750,440/750
[us]
description = United States / North America
ringcadence = 2000,4000
dial = 350+440
busy = 480+620/500,0/500
ring = 440+480/2000,0/4000
congestion = 480+620/250,0/250
callwaiting = 440/300,0/10000
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0
stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
[us-old]
description = United States Circa 1950/ North America
ringcadence = 2000,4000
dial = 600*120
busy = 500*100/500,0/500
ring = 420*40/2000,0/4000
congestion = 500*100/250,0/250
callwaiting = 440/300,0/10000
dialrecall = !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0
stutter = !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120
[tw]
description = Taiwan
; http://nemesis.lonestar.org/reference/telecom/signaling/dialtone.html
; http://nemesis.lonestar.org/reference/telecom/signaling/busy.html
; http://www.iproducts.com.tw/ee/kylink/06ky-1000a.htm
; http://www.pbx-manufacturer.com/ky120dx.htm
; http://www.nettwerked.net/tones.txt
; http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/taiw_sup/taiw2.htm
;
; busy tone 480+620Hz 0.5 sec. on ,0.5 sec. off
; reorder tone 480+620Hz 0.25 sec. on,0.25 sec. off
; ringing tone 440+480Hz 1 sec. on ,2 sec. off
;
ringcadence = 1000,4000
dial = 350+440
busy = 480+620/500,0/500
ring = 440+480/1000,0/2000
congestion = 480+620/250,0/250
callwaiting = 350+440/250,0/250,350+440/250,0/3250
dialrecall = 300/1500,0/500
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0
stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
[ve]
; Tone definition source for ve found on
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
description = Venezuela / South America
ringcadence = 1000,4000
dial = 425
busy = 425/500,0/500
ring = 425/1000,0/4000
congestion = 425/250,0/250
callwaiting = 400+450/300,0/6000
dialrecall = 425
record = 1400/500,0/15000
info = !950/330,!1440/330,!1800/330,0/1000
; STUTTER - not specified
stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
[za]
description = South Africa
; http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/safr_sup/saf02.htm
; (definitions for other countries can also be found there)
; Note, though, that South Africa uses two switch types in their network --
; Alcatel switches -- mainly in the Western Cape, and Siemens elsewhere.
; The former use 383+417 in dial, ringback etc. The latter use 400*33
; I've provided both, uncomment the ones you prefer
ringcadence = 400,200,400,2000
; dial/ring/callwaiting for the Siemens switches:
dial = 400*33
ring = 400*33/400,0/200,400*33/400,0/2000
callwaiting = 400*33/250,0/250,400*33/250,0/250,400*33/250,0/250,400*33/250,0/250
; dial/ring/callwaiting for the Alcatel switches:
; dial = 383+417
; ring = 383+417/400,0/200,383+417/400,0/2000
; callwaiting = 383+417/250,0/250,383+417/250,0/250,383+417/250,0/250,383+417/250,0/250
congestion = 400/250,0/250
busy = 400/500,0/500
dialrecall = 350+440
; XXX Not sure about the RECORDTONE
record = 1400/500,0/10000
info = 950/330,1400/330,1800/330,0/330
stutter = !400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,400*33

23
version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.crt

@ -1,23 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID1TCCAb0CAQEwDQYJKoZIhvcNAQELBQAwMzEcMBoGA1UEAwwTQXN0ZXJpc2sg
UHJpdmF0ZSBDQTETMBEGA1UECgwKU2ltcGxlcyBJUDAeFw0yNDAzMjAxOTQ1MTNa
Fw0yNTAzMjAxOTQ1MTNaMC4xFzAVBgNVBAMMDjE5Mi4xNjguODguMTA1MRMwEQYD
VQQKDApTaW1wbGVzIElQMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
ukC1gWeagfVGJIhrmYl9KsJ2F9TuAzuDzbPTSAH6mk0BVCUahUeUs4bQdsLW8QAV
7RC0j4jT/pOKr4xR/OHNsYTfa97XqZXrxI5Wn3Zw6JR2fKek2BZd8xAShxAO3lRV
QFo0UchTBw2OrvVRL1+O4iOxnyPsTYOKOKUOFbPZV5xNpaHghpb3m1CcsTsWDEJU
SAfSJcNAB2E8mlouUYN5pwQIa2jJCXSmSW9+Lgh9xNqNo4+v4YeDlZ/iO9UgtzAv
A5uQIhaLSgZo6DGop80Po6BB0mayL6y0PdGc36rtQh3i9tSnDAuCOcon65oVDeln
FFsnsJTW8+//21U30DgzJwIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQDCdC5REUjC
/T1EBXWNsk0zpD/N3ZNkFH4OcgPHuKvOp5Uv7p+aCn5pLApIUjin1n8gyM7TUEt3
YhBmVIbPxc02r7V3uFYG0CHRlalBhxFJvGh5oTdm2Xq00dLCDywfYCk6YlOBBc2g
EQhkAukjUDTkuDIphsqaChlzhInOw1WmP9hbfibMDY48yRf59iv3c0i5PCBeZiDQ
dxtHXNAb2/iFhtlY0iq7b/7OV1qVyYEhcJUBN6wS864lU2JuIWBW2feyaMukpYrX
5muBSt9MQ92fSIsC9iuocslnCDbyxeSv5gKW9JmRyAYCVgVq5Y1v9HeJb3k/mz66
6yDts6yePfionoGYuoChpQOtiedauMidct0Mm42dwm7gi+fNmVCcBCiEjbKiG7Z5
5e00EDvxm61mlsNkVnvDbRA/WeG163qXqxqWAnjE7ZKtSBA6tQIvxWNKr17enSNM
kDqvz+YlHMzrZkN/nTjrX771IMAKYUjZ/z5MCEXpDl5NquRkdN91aQpVCn8zPh5l
+B4FK2YV17M9JfZJ/Bm0sKhDSMgTMIpFCvNVeTs1GKqzkxjQtx9APqJRcUFRW26s
cwLLZwhz4RjviuRU0wfqNBLwfvJXhrxPqTpxTXY1lQT+U3QWH543jh5lGZmdtDzf
xbaXOx0EYL/Qzy54aVFrWNEjMPvbRHsnnQ==
-----END CERTIFICATE-----

16
version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.csr

@ -1,16 +0,0 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICczCCAVsCAQAwLjEXMBUGA1UEAwwOMTkyLjE2OC44OC4xMDUxEzARBgNVBAoM
ClNpbXBsZXMgSVAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6QLWB
Z5qB9UYkiGuZiX0qwnYX1O4DO4PNs9NIAfqaTQFUJRqFR5SzhtB2wtbxABXtELSP
iNP+k4qvjFH84c2xhN9r3teplevEjlafdnDolHZ8p6TYFl3zEBKHEA7eVFVAWjRR
yFMHDY6u9VEvX47iI7GfI+xNg4o4pQ4Vs9lXnE2loeCGlvebUJyxOxYMQlRIB9Il
w0AHYTyaWi5Rg3mnBAhraMkJdKZJb34uCH3E2o2jj6/hh4OVn+I71SC3MC8Dm5Ai
FotKBmjoMainzQ+joEHSZrIvrLQ90Zzfqu1CHeL21KcMC4I5yifrmhUN6WcUWyew
lNbz7//bVTfQODMnAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAIplyR0oLY2ax
JT3M4NQqVsimUi8rKIt30MSjFETxJBXee24fLfv0JQNPqhlJeZNq+uVErRGHRRe6
cKZxskQ6kJjRjaA3URYiZZd0jghm0jCuCuEEg8fcGuDEqg30uy5iE3yhB5jA6ILF
cHbphQ54+a8JTHzbjfH79b82oDE/VOSHvQyju5I5qnvC71aR3TU/mOY2uxkiyNvs
hC2To7HRoSWfPixEe1OUbyrDljyDcRS+2LDAwi62FsV1RhVV+loMnmSQpU/sLYLN
lns8CIsTeuCNr37qot9EKgeARn3Vad9Z/zfS+2fJ+fa5inhB50j1HTawy35o2wzw
eDQmePUs5Q==
-----END CERTIFICATE REQUEST-----

27
version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.key

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAukC1gWeagfVGJIhrmYl9KsJ2F9TuAzuDzbPTSAH6mk0BVCUa
hUeUs4bQdsLW8QAV7RC0j4jT/pOKr4xR/OHNsYTfa97XqZXrxI5Wn3Zw6JR2fKek
2BZd8xAShxAO3lRVQFo0UchTBw2OrvVRL1+O4iOxnyPsTYOKOKUOFbPZV5xNpaHg
hpb3m1CcsTsWDEJUSAfSJcNAB2E8mlouUYN5pwQIa2jJCXSmSW9+Lgh9xNqNo4+v
4YeDlZ/iO9UgtzAvA5uQIhaLSgZo6DGop80Po6BB0mayL6y0PdGc36rtQh3i9tSn
DAuCOcon65oVDelnFFsnsJTW8+//21U30DgzJwIDAQABAoIBAQCi8W+ZaYEjxuf5
mBvCdCU73mqgSNl9nHif4n2qFokeqtXJvrgn98qhEQWZkLWom/GSt7WviP4mTv/a
usETopxofJ1V6tvz8kQUbo5b7auz3gaW4bd2kILa3anH3YWUfmUi6oexMLdqiTLV
36qJ7mi7cIy5dB0MZ1LqYYQj+nbfjFG3MUBmeh5EyMfWFCwl2vTkEbuoge+a9Jbi
s1tlCTwPkGbbJNqtH5eduvkdxs26Yr9R1HT5PuzapEUBhKsn1FMAu7bfNJasVrC6
0pXbKt0g5+wBwzfpfIHUM3sQxwBe6iujIIWHqhcla79i4MQRZqy3g3fkM9axUkT2
v7yJ5jLRAoGBAN/BeL6ionYCFzOkMwIE32vjlGmTegHYHm9F1oBnE0SljYl1DINt
Y8YzI9tAFcGYaI1zmaufJ1e5LNuAbQKd9T0xbx6YKAKwvof7CAg4tATa+ugNubw8
gr4ptrYrU+WOs3xhOOYyL7GfzoKadv6LGtQkWBjE8CdzKK0axvYDXTNpAoGBANUX
uPS0vE1YYQjKd633005XX+JiVX6MQb6cvASkVKvJ5OChqTMxENc9kkFe4sr00qax
a3kz/Ee7x0lgnNdyZNX7RmsInoaqbd3Nl/+FfIwoZJGM/eUAiOBjkSsmy41bKs7T
vhF6mZBxG0SFrQZmik3GKSpGQuux3w2qVJBL2rAPAoGBAJbpHO+uLtZaeJ2KzCA7
exiACHPgVHRz96ritlYprtQouDoSKJtnpthhW3ifU00b5sAoTGd00wsWSEvO5TbT
pDheY+yFgM63t/lsdLFe1QNFUd46i5+KTD/HUISy2kXEJgfoZoDTLlmlR5nMZh8t
YK3dyVEDWlmxEKkXm0MHZ8+pAoGBAK6t+p0GR1Hz/98v8bl3bQ1MTLqMN188ZGx3
mR0JBKuqHegSPVxMfWyj+W+C89DBrqicyegaOFUpVi0NeKSYDpbmm4wEDceAj/2B
mncJGtbeCcrS1BJUROAEXq0L6VKgCFBxfN5hLN8eCOc72WFkzz0AEyCnZhZFwf42
wYlj1Qn7AoGAddXFA5iYeU063vftYEDU5F0JvxMexye/4zlnIgjwCPkdvTUBEQZw
dakggA1BFpSTbZm8UQeVx1z292tT1iCeoArBRcuh9wq/u2evRLxyHNst7MhbgVt4
1EdhuPGCHEcQeb2oEhDHKkvgTgHSjWMfL/UtHE2CblofGOYqRqQ29S8=
-----END RSA PRIVATE KEY-----

50
version_1.8-reactNative/pabx/etc/asterisk/keys-old/asterisk.pem

@ -1,50 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAukC1gWeagfVGJIhrmYl9KsJ2F9TuAzuDzbPTSAH6mk0BVCUa
hUeUs4bQdsLW8QAV7RC0j4jT/pOKr4xR/OHNsYTfa97XqZXrxI5Wn3Zw6JR2fKek
2BZd8xAShxAO3lRVQFo0UchTBw2OrvVRL1+O4iOxnyPsTYOKOKUOFbPZV5xNpaHg
hpb3m1CcsTsWDEJUSAfSJcNAB2E8mlouUYN5pwQIa2jJCXSmSW9+Lgh9xNqNo4+v
4YeDlZ/iO9UgtzAvA5uQIhaLSgZo6DGop80Po6BB0mayL6y0PdGc36rtQh3i9tSn
DAuCOcon65oVDelnFFsnsJTW8+//21U30DgzJwIDAQABAoIBAQCi8W+ZaYEjxuf5
mBvCdCU73mqgSNl9nHif4n2qFokeqtXJvrgn98qhEQWZkLWom/GSt7WviP4mTv/a
usETopxofJ1V6tvz8kQUbo5b7auz3gaW4bd2kILa3anH3YWUfmUi6oexMLdqiTLV
36qJ7mi7cIy5dB0MZ1LqYYQj+nbfjFG3MUBmeh5EyMfWFCwl2vTkEbuoge+a9Jbi
s1tlCTwPkGbbJNqtH5eduvkdxs26Yr9R1HT5PuzapEUBhKsn1FMAu7bfNJasVrC6
0pXbKt0g5+wBwzfpfIHUM3sQxwBe6iujIIWHqhcla79i4MQRZqy3g3fkM9axUkT2
v7yJ5jLRAoGBAN/BeL6ionYCFzOkMwIE32vjlGmTegHYHm9F1oBnE0SljYl1DINt
Y8YzI9tAFcGYaI1zmaufJ1e5LNuAbQKd9T0xbx6YKAKwvof7CAg4tATa+ugNubw8
gr4ptrYrU+WOs3xhOOYyL7GfzoKadv6LGtQkWBjE8CdzKK0axvYDXTNpAoGBANUX
uPS0vE1YYQjKd633005XX+JiVX6MQb6cvASkVKvJ5OChqTMxENc9kkFe4sr00qax
a3kz/Ee7x0lgnNdyZNX7RmsInoaqbd3Nl/+FfIwoZJGM/eUAiOBjkSsmy41bKs7T
vhF6mZBxG0SFrQZmik3GKSpGQuux3w2qVJBL2rAPAoGBAJbpHO+uLtZaeJ2KzCA7
exiACHPgVHRz96ritlYprtQouDoSKJtnpthhW3ifU00b5sAoTGd00wsWSEvO5TbT
pDheY+yFgM63t/lsdLFe1QNFUd46i5+KTD/HUISy2kXEJgfoZoDTLlmlR5nMZh8t
YK3dyVEDWlmxEKkXm0MHZ8+pAoGBAK6t+p0GR1Hz/98v8bl3bQ1MTLqMN188ZGx3
mR0JBKuqHegSPVxMfWyj+W+C89DBrqicyegaOFUpVi0NeKSYDpbmm4wEDceAj/2B
mncJGtbeCcrS1BJUROAEXq0L6VKgCFBxfN5hLN8eCOc72WFkzz0AEyCnZhZFwf42
wYlj1Qn7AoGAddXFA5iYeU063vftYEDU5F0JvxMexye/4zlnIgjwCPkdvTUBEQZw
dakggA1BFpSTbZm8UQeVx1z292tT1iCeoArBRcuh9wq/u2evRLxyHNst7MhbgVt4
1EdhuPGCHEcQeb2oEhDHKkvgTgHSjWMfL/UtHE2CblofGOYqRqQ29S8=
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIID1TCCAb0CAQEwDQYJKoZIhvcNAQELBQAwMzEcMBoGA1UEAwwTQXN0ZXJpc2sg
UHJpdmF0ZSBDQTETMBEGA1UECgwKU2ltcGxlcyBJUDAeFw0yNDAzMjAxOTQ1MTNa
Fw0yNTAzMjAxOTQ1MTNaMC4xFzAVBgNVBAMMDjE5Mi4xNjguODguMTA1MRMwEQYD
VQQKDApTaW1wbGVzIElQMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
ukC1gWeagfVGJIhrmYl9KsJ2F9TuAzuDzbPTSAH6mk0BVCUahUeUs4bQdsLW8QAV
7RC0j4jT/pOKr4xR/OHNsYTfa97XqZXrxI5Wn3Zw6JR2fKek2BZd8xAShxAO3lRV
QFo0UchTBw2OrvVRL1+O4iOxnyPsTYOKOKUOFbPZV5xNpaHghpb3m1CcsTsWDEJU
SAfSJcNAB2E8mlouUYN5pwQIa2jJCXSmSW9+Lgh9xNqNo4+v4YeDlZ/iO9UgtzAv
A5uQIhaLSgZo6DGop80Po6BB0mayL6y0PdGc36rtQh3i9tSnDAuCOcon65oVDeln
FFsnsJTW8+//21U30DgzJwIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQDCdC5REUjC
/T1EBXWNsk0zpD/N3ZNkFH4OcgPHuKvOp5Uv7p+aCn5pLApIUjin1n8gyM7TUEt3
YhBmVIbPxc02r7V3uFYG0CHRlalBhxFJvGh5oTdm2Xq00dLCDywfYCk6YlOBBc2g
EQhkAukjUDTkuDIphsqaChlzhInOw1WmP9hbfibMDY48yRf59iv3c0i5PCBeZiDQ
dxtHXNAb2/iFhtlY0iq7b/7OV1qVyYEhcJUBN6wS864lU2JuIWBW2feyaMukpYrX
5muBSt9MQ92fSIsC9iuocslnCDbyxeSv5gKW9JmRyAYCVgVq5Y1v9HeJb3k/mz66
6yDts6yePfionoGYuoChpQOtiedauMidct0Mm42dwm7gi+fNmVCcBCiEjbKiG7Z5
5e00EDvxm61mlsNkVnvDbRA/WeG163qXqxqWAnjE7ZKtSBA6tQIvxWNKr17enSNM
kDqvz+YlHMzrZkN/nTjrX771IMAKYUjZ/z5MCEXpDl5NquRkdN91aQpVCn8zPh5l
+B4FK2YV17M9JfZJ/Bm0sKhDSMgTMIpFCvNVeTs1GKqzkxjQtx9APqJRcUFRW26s
cwLLZwhz4RjviuRU0wfqNBLwfvJXhrxPqTpxTXY1lQT+U3QWH543jh5lGZmdtDzf
xbaXOx0EYL/Qzy54aVFrWNEjMPvbRHsnnQ==
-----END CERTIFICATE-----

10
version_1.8-reactNative/pabx/etc/asterisk/keys-old/ca.cfg

@ -1,10 +0,0 @@
[req]
distinguished_name = req_distinguished_name
prompt = no
[req_distinguished_name]
CN=Asterisk Private CA
O=Simples IP
[ext]
basicConstraints=CA:TRUE

29
version_1.8-reactNative/pabx/etc/asterisk/keys-old/ca.crt

@ -1,29 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIE7TCCAtUCFCDAYIZg+nAsKvYEV1ysuab8oKNsMA0GCSqGSIb3DQEBCwUAMDMx
HDAaBgNVBAMME0FzdGVyaXNrIFByaXZhdGUgQ0ExEzARBgNVBAoMClNpbXBsZXMg
SVAwHhcNMjQwMzIwMTk0NTA5WhcNMjUwMzIwMTk0NTA5WjAzMRwwGgYDVQQDDBNB
c3RlcmlzayBQcml2YXRlIENBMRMwEQYDVQQKDApTaW1wbGVzIElQMIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwqJHhiS8/Mj3w9jyOIQFjXy+0WYkawBL
NKgfBItnbZi3ukOlen0EMp48Xx2qxxrzid84U668kLD4ITLzZJmZjItdfKe4uNrm
Ixiot2NdnHeGYnpttEbH0cxSRj/jOWr/oCxOG4F40aadJs9AN2U03Zm4d3287Po8
LkLzBNZ3Hfo1+rG2MTCtz5KGNhHgLnP/1iCfM0LcWW2hM3lCfP4ckBOgQQc8zLhi
Z/1OM6T4XCdm4gqVaKBNiaxpsRnagqLNHdM7q5dir7sqcJvd4ffreLthCbOekTMV
FR1lbIE8/WzpJGqeSE+g4tVv6SOVyi+9xs2mu9lpw+DDbKo2bdYQSwwwBVZTdFyL
jB34vjmvST8VgPauT6+vjJreH6iX3/2PlcVks9ZKeRJRVAW7BIqQdCau/CmRvMIK
lI4FC+SKRMUBNqdemGkFzFFKL5g0W1DMQTCxldb15H5UGxqhFeBpUP1dQkFCMqgW
WCTjgn/JzFoDpBdRbVjd9BvnH0WKRsU8qOM6nUCGbWE3gVfLE0M2q6O2AsVSUJ3w
5WqH8mDc+y9QwEbYihZQbyu4XkyewGXORXl1gz9OkHu2ZB7IywFmru6Kaw2urpul
5kKIEv0qHNdsKeOw5OBfiNW0UPp2tgUJSUbOo29BFT7oXWfXPTZiOnZtI+ypi+6/
LxZUODVJXcECAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAdPDQoCzDIkoFMqEGc2gC
wv3OsLtIxSMCB8jEVcARmNGon3HpXD9PuelfqPnDnHu2h3QzB3IF3/3bK02o2hIX
pTxGhbjn6b/fsqFuhzpU/ihPYcEqyX+POeE77jK8LnMu+YdQ1eBgD377PDwcj54y
mh/upBsNppjScNl6B6F/aDMV453ks6atC9l2qrAwa0Mfr5+CoQF35EuDeF6CzXJP
qt/PwAblYCC09lKlHHjWebUocm/ZNXEl64BG8uHGcebz3i2M1tuoAwEhgmn26LO/
HY0kDgk9UBwbFV4VBGluvUcXl9wNbklczjPrwk2wGF4SIpCBb+FuCrY9oXdhOn9K
+JRFVl6MK2Sktbd7Vv2pfHKGE5x8v7Fqq3zZvSd6cF+mQTh85Dikuf8DesyT4Mt+
PhttuniP4A63FtAQiJqnOeJ/cRALSULMUXWjmlpeiO8SNIPfI8NQM9mmeh04H+HY
oM19nGv8Ne2s5CGA54hc+CqcICT1KmKAOkiRVbdKzvKROuZHXBTRlseHB9rxdZPi
41mht9WepuH1m9Ux/rOZCL8GtzQ6ocGX81K4G0CyYF6NoMMTWaf2O3Mj2GE3rMiR
eWcEJwtfQinblUh1ELw/VaRPapxktKME2xbTuvoghnQ/bUIimqKQgb5cUke4nXl7
xh606ji7y7EC1flWgG1a1U4=
-----END CERTIFICATE-----

54
version_1.8-reactNative/pabx/etc/asterisk/keys-old/ca.key

@ -1,54 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,C917EE2EC9629851
W3MOKq9AV+mJOh6wqKw+w6V1RWYCmCphcGa03nyLqgB+XTN9XT6CAz8vq8ntnxIv
J+S6IvP+wDSWJqmWa5ZgJE2HmOciVczVYy4/mMIZjGXq/mVDg0OXrc9M9YVhw83+
+YuqinIhWNUBjvo1FElJJhaTUCZ7jCNrPzrvdDdwY3AbiMX0ZJX6Vn5jTPM/wfKF
cE2xlJ80d6UMW9wUbyzLGb10AZ4+4N85/c1PbbzhslDnW7UkEfVaMrjcXgtrnXt5
nDO2SIgl6UH7gPg5G2EGy4v6I2Tgb23lGDWl9Ko9SnleCo/Yr11/bgz0xjjchK7C
6vfbaFX2vvC0W9Ztcf2JP/rUad39Dzu//3E5h2Y/k+4p/cPa+Uz3cIa9qX28uINl
2J0fhezcGBuM1j7cyu2/Y1ZXAy4w8tk3vwOB8w3ph9kSsX0jshaS/6q9ipvGi6ZC
nJYXUpc1z5zOnvjE/KLhaDZ1mvITBURDqiG6QS7sK3Zw+IEWyCz+LHUB+6kYhWqH
rjekRyKCF435QU2qtaKJYehh26cghe2O8C5dzex7Yt1AUOlKBBs3zWCoQJ5kj7xZ
Scb1x4cBG9mtnJlhUmP4pEa4QMyOIrcPxrwY73E8Qpm1epVQxhRRo6LHzAZwNf8C
KLD9gugIJkUTkG5KEY3RKM9bktqulcxVUDTWGvXZggIo6tvDQMrqEdEypg4b74Uw
b9i6Aq/nqrcBjNEQlK31omZyvDOvRMGc/BqMKDg6CHcQKNi6Wmx+2+0g90UV99/M
Ao7cp5646fxWGpUYi1XYc0wssxctVN5usc/f7rrCklSzYKmw77RFhW0k+TCnwNYN
CgHS1YZhN7rczm1QKfhoRA+mSVqMjwCmOJjDB23juWNwsOipKF7M/GoJDlAqb7ew
iHaxU+9RWkHDtHBDCaNeGpDAS+mYJpd68hl6xFIkHt+JV5m5AiwedsBLK2O1fmXt
g0HnTxgqcMdlhhi2QRRb0rvM7ChIC7lEhgrqr40ItvPdhkKvVGn4rQhjh6Mhl6Q4
yqllKLC1I/knO9GLna+fN6ElB9/dUU4X+sXrSocWCcyOBYQVw2uJ6ayS9ETEjMe/
gVr9CJD9K0G7dVkcNWAClH2+NVwjeA9Tz8K6SRfWgPpBGdO29ervMHpiSf5hvspz
SsYcNiIwh1fkGrGqgqh5kqtJsZHsWXrEF1dgbckTfZn/5thGM3hyhen3FnwKseFx
v5o/HaviADyRIucSNLwHxzgIJ4zg2u+c6h4bczjDpFJLibX+fmsIKE3LoP9F+ane
YteKNk1WlZESudGIVWskSgF/S7H6H1Vjp+QlSqkdSEb/NV2bQQOkC3/yNpuCXJk4
/X/02yH4ybXbaq/o9B3t0CzjuP162RCJ5Pe/BmXW2NDJZUkwWHldEIKVgttAiI87
zspPCQdaCT5q4uQTwYmAO5/aSjORwqgHcYGVz9QtNflHU3ey4hyt53Aq/eOqY1Y7
oxl1UjBbNkWPhOJtj2CJeKmrNrQW5GoRLWL1EX3snn0du+1k+AZ8/xQorbc6ClGp
sr6gbWfVx8YWd0ohtZQQKTBWXn2SbPTbdd9dwaZ/NeDNJYNrDqBYBB6Dk0uiVsSG
3cw/5lBUFx33Dcfu1z24p5USXg4PEBVqlm0XclyQDxbvaiWG9oq28d6tOSPRItYw
vIMamNq2YyCBAB8LvbciYYLlDCxc0RM7Zda2WmFaDX683Fql4LiiXbjcsN1Fwe9l
nq2zq5Zi0vb+ZfOFzUmQ7bCWJ3eYHCEuXpmYOPX88vnJNIrUWOYpaT57p1ZaqgU3
rPPvlu5Rb2F9UYIJgoTFTbXQyTS/eVBomuBuaY6GYL88DUWoowCxFodv9mNIND9c
SKxlfDYQlnkekGqE/zVHZNHy6NTXlKtvshoBHwn0EnplNpnc5cCVrBXDMUm6RUzL
7Tmk625geOs5aWvCQeiPaQSyqvnBxE4Qd5BmdVObtQaTsjRHjNHp/LTpITcYuHpU
BIQFTM76YUnLF5Z8bHG79eLXY5lQKdSiQtf7GlEr9QyvYLZ0b8nb8HkjhIfaEhB7
No2gXB3uvKF2p50rVSr5XVipzIe+MRjdbdeX2/0JQ7DkTuqEGX+eJ0QlQuLzw4l9
NZxYh5ZN0UGevSOM898owzHgbpIPDsdX1xBWXaLWWhmrwxtTnyOGSpVBkFQ0+ivo
E/aphUEdJKFtrSnmBb3oyP0hHCs247Jq+ac/VrIhzTRc01W8zwMRWJvaUxvEMNl6
J51UnQhjZtu7VTx+2oQiNst3BLyLXn+102SY2XVdOBoWw2uOO3TTnZUqq2Mrpluf
acxEMcUh+GnkAsyVyPRDf4WCwVWzf8uPaPCfb3V5YkOgCav67Ct8HvBJ5nB9g/51
WARqGFYiPiBVcW/tPVhHdvyhyfcHRCBMNXhlGM8XwaLBCJ7ZbCOoEGflDk3vNCK7
+GF3pW0VpGAUdKvsh0RmcBGTYjH83+P6T5nVbvIIPLg4l+HzKSeVk+6dFdaDvsmu
VO8BUYfFnJC00eLWAax0pdhh6EskPzroGwXeFDGEBJsrvGknYdDE+BMJhIyKLWmZ
Mo3CgwH/xpOKQ7PUXb11t/F8Rx00DtJJou7Qb9jhDoWdJlYQpo7CR03DKR2obX4N
1gNHexihNLz1QR8dajU88uFKdCN7NfU+Cqx4CyJa+wD4/QWNSlEChcDfKJ20lgR7
znwwQ73kp8li9emImIk4n3DMk1mOwpbMP9MztQC7rcIfvYt7RgCzkvmYROn3gpMK
dehJcOpNdNdueBQTYm7tUAiF4x0xSezlL7rlvSaL/22ReBvPZCtrRg7DhfZyBlfy
T0YE0Fpvz4gWVsm8HVTndnP2hdDucB8HSAh2athRxk8yLONR7WklGG+XetI1ujMp
ATherzLeHTiQ5kP+qS0vmCyKEdSds9wEL9tbl+iKF2+RZ9f60FWF8NbOufwbES97
HMHZFG8GTmPJCtUw8LeW2nQfBy7tGeli1u/8KLtKvgtG7b2mEC7QMhv6ugYOHhX1
DEYRR8MOtEi0yNQ2aQZNMiWeckgNBjG/JBe9ozyZIKj6F7qwRutHjpDEri/hubo0
tq7imdojMuA6/SBl893SoOG5i1eN2U4UH0Qbeey4c7SQWeshPbAddRv+vLccWbrc
-----END RSA PRIVATE KEY-----

8
version_1.8-reactNative/pabx/etc/asterisk/keys-old/tmp.cfg

@ -1,8 +0,0 @@
[req]
distinguished_name = req_distinguished_name
prompt = no
[req_distinguished_name]
CN=192.168.88.105
O=Simples IP

23
version_1.8-reactNative/pabx/etc/asterisk/keys/asterisk.crt

@ -1,23 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID0zCCAbsCAQEwDQYJKoZIhvcNAQELBQAwMjEcMBoGA1UEAwwTQXN0ZXJpc2sg
UHJpdmF0ZSBDQTESMBAGA1UECgwJc2ltcGxlc2lwMB4XDTI0MDQxNzE1MDM0NloX
DTI1MDQxNzE1MDM0NlowLTEXMBUGA1UEAwwOMTI5LjE0OC41OC4xOTAxEjAQBgNV
BAoMCXNpbXBsZXNpcDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMvS
37edLdTneDd8EU7UOs8YYPVYtw2y8eVxWw/bCj297rtWK66r7EYo3rogTw0GdTO3
RwQrq/jB7Qo8X676h9V902erkoQso8CxM82Wp9SK3pZR++FQhr+2/fM0ifxbc7iu
MThU2oW/5VbQieES5DYvMYwwrIJHyU2TxTuvofzIytTicpEmL9i8K0QPEHeklJPI
rAVIdNj8Y9XBJFAMH5SKZi3TylgyFwo+vN6tlgVaDJk4GaNPsxPYq+M0paZpb0J9
sxBWLh7Nz7bTqZb3gX1polHK9DIYDMCrdjWEovp7xxQaZYGapcidIOo5SxG5vOjY
K7bRGJuA/Gk8dhsIAc0CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAlkA97MAh2dTq
1bRYoQ5YOGd2fq9dCb4KU1E+GTCaxWhjovmHOx7cWs+p5asJ7yYiYBk8aJmpOulB
QMr8Co6wNEjIcZ8skKBihhEBoKCZrBkMj5FN3OormIUfGxwrqOCkHj1iDalKPT4Z
MuDTyQB/6icgg5Mt4mxpbE1rt8G6Cjlz5QNZIYUBUPOS/okiUuGVYCaC8xkCL88h
sC+9Jt7UyRI7JMPv5kncXU4IZi9jo857vdVCFof4v253zCAXqpxRoDwV3K9BxdEJ
q38OzJD1k2G6U5sYuO0dui8yquydYvI1akvbatu2NA0NXEO6LZVzGb+oG1e0/qoO
u8CtdreiCtfn8l3y94UbQpTdJXTTnHSjPNh3kDv3KoAeypaVETqjcokHH+sKRoVk
xxK2vzESWg/NhrBllDtcJ86zrrLoFNglPmJ50e83QnbmdfW2O9ehpK4zJknEabbq
8SZFReD6xGXs6UqGhVSniQmdetYkkZ3UowQ/kZJLUpMiUn12PXN2zsSKk6/l8AA7
ngM9DJ1OG9Ix7DqBy7DBzLFlf8JFoW7LdIZIs5ezDEZeeeeA0kpFD3nWfBfT3jGL
vGn2hal2zrYKlVIpHs6wBYuqV6eWS8+TecjbyO2xw0Cz22G1kfYKA1gtfgxkuDoS
9+p/07dO3J049CRurceIpdDCdotnDzc=
-----END CERTIFICATE-----

16
version_1.8-reactNative/pabx/etc/asterisk/keys/asterisk.csr

@ -1,16 +0,0 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICcjCCAVoCAQAwLTEXMBUGA1UEAwwOMTI5LjE0OC41OC4xOTAxEjAQBgNVBAoM
CXNpbXBsZXNpcDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMvS37ed
LdTneDd8EU7UOs8YYPVYtw2y8eVxWw/bCj297rtWK66r7EYo3rogTw0GdTO3RwQr
q/jB7Qo8X676h9V902erkoQso8CxM82Wp9SK3pZR++FQhr+2/fM0ifxbc7iuMThU
2oW/5VbQieES5DYvMYwwrIJHyU2TxTuvofzIytTicpEmL9i8K0QPEHeklJPIrAVI
dNj8Y9XBJFAMH5SKZi3TylgyFwo+vN6tlgVaDJk4GaNPsxPYq+M0paZpb0J9sxBW
Lh7Nz7bTqZb3gX1polHK9DIYDMCrdjWEovp7xxQaZYGapcidIOo5SxG5vOjYK7bR
GJuA/Gk8dhsIAc0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQAP3+11+8s+JuKY
2lNyIkfWL8mOTGe2yIf7caQINAo5769jY4IudI7/2arYQEsVpfWN0wuRwJrAZ0+G
u3b52cUTG2u4a+WM4SSZ3FM9tfciaixu/hNl3HCNnaCuB13LLy8LdokX42cFhpLS
3Z9FbCYwExgJs2sf2ZqUOHFyQGJuR1BQzos/Y7P2FhiE7BxmTPKj03OradoBm2Zr
DkT6Kf2+NBHUIk3cmU3+31t3IqO6R/LUJOQDkPEnfRZoiPNh+Lh+BZ59fK+v45K6
d0tg2tDeaq3QVfQlznFrlWLqlUpvry8DXccBg8CmteO2OKh9cJy+4gw96PoByiCq
5cTtBSnU
-----END CERTIFICATE REQUEST-----

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save