forked from SimplesIP/docker-pabx-app
Matheo Bonucia
3 months ago
273 changed files with 4 additions and 53092 deletions
@ -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. |
@ -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 |
||||
|
@ -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" |
||||
|
||||
|
@ -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"] |
||||
|
Binary file not shown.
@ -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/ |
@ -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,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----- |
@ -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 +0,0 @@
|
||||
346E4E2447EF354E42823606159D8A94EEC09982 |
@ -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 |
@ -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----- |
@ -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----- |
@ -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----- |
@ -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"; |
||||
|
||||
|
||||
?> |
@ -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>" |
||||
|
@ -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 |
||||
|
@ -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} |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
File diff suppressed because it is too large
Load Diff
@ -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 |
@ -1,8 +0,0 @@
|
||||
; |
||||
; Sample ADSI Configuration file |
||||
; |
||||
[intro] |
||||
alignment = center |
||||
greeting => Welcome to the |
||||
greeting => Asterisk |
||||
greeting => Open Source PBX |
@ -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 |
@ -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 |
||||
; |
@ -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". |
||||
; ---------------------------------------------------------------------------------- |
@ -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. |
@ -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 |
@ -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 |
@ -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 |
@ -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= |
@ -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 |
@ -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 |
@ -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 |
@ -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= |
@ -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 |
@ -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 |
@ -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)})} |
@ -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 |
@ -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> |
@ -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) |
@ -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 |
@ -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)}' |
@ -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)}" |
@ -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 |
@ -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 |
||||
; |
@ -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})} |
@ -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 |
@ -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. |
@ -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}' |
@ -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 |
File diff suppressed because it is too large
Load Diff
@ -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 |
@ -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 |
@ -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. |
@ -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 |
||||
; |
||||
; |
@ -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 |
@ -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 |
@ -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] |
@ -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. |
@ -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 |
@ -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) |
@ -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 |
@ -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 |
||||
|
||||
;[*] |
||||
; |
@ -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 |
@ -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. |
@ -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. |
||||
// |
||||
} |
@ -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 |
@ -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"; |
||||
}; |
||||
} |
@ -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)) |
@ -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]. |
@ -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 |
||||
; |
||||
; |
@ -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. |
||||
; |
||||
|
@ -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})}' |
@ -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. |
@ -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/ |
||||
; |
@ -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 |
||||
; |
@ -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 |
@ -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 |
@ -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----- |
@ -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----- |
@ -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----- |
@ -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----- |
@ -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 |
@ -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----- |
@ -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----- |
@ -1,8 +0,0 @@
|
||||
[req] |
||||
distinguished_name = req_distinguished_name |
||||
prompt = no |
||||
|
||||
[req_distinguished_name] |
||||
CN=192.168.88.105 |
||||
O=Simples IP |
||||
|
@ -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----- |
@ -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…
Reference in new issue