Asterisk: mudanças entre as edições
| (26 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 4: | Linha 4: | ||
= | = Instalação = | ||
Path Brasil | |||
<code> | |||
wget -O - https://github.com/ibinetwork/IssabelBR/raw/master/patch-issabelbr.sh | bash | |||
</code> | |||
AWS | |||
<code> | |||
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" | |||
unzip awscliv2.zip | |||
sudo ./aws/install | |||
aws configure | |||
</code> | |||
= Callcenter = | |||
== Receptivo == | |||
# criar agentes | |||
# criar fila | |||
# colocar agentes na fila (Axxxx,0) | |||
# atribuir fila as ligações de entrada | |||
# criar campanhas | |||
= Gravações = | |||
= Logs = | |||
sngrep | |||
F7 para filtro | |||
= Backup AWS = | = Backup AWS = | ||
Realiza o backup diário de todas as ligações para a AWS. | Realiza o backup diário de todas as ligações para a AWS. | ||
*Regras de armazenamento | *Regras de armazenamento | ||
** sincronismo | ** sincronismo a cada 06 horas | ||
** exclusão de ligações com mais de 03 meses do servidor asterisk | |||
** inicial: armazenamento padrão 90 dias | ** inicial: armazenamento padrão 90 dias | ||
** depois de 90 dias - acesso infrequente one zone | ** depois de 90 dias - acesso infrequente one zone | ||
** depois de 365 dias - Glacier | ** depois de 365 dias - Glacier | ||
** depois de 2 anos - Glacier Deep | ** depois de 2 anos - Glacier Deep Archive | ||
* Premissas | * Premissas | ||
| Linha 52: | Linha 88: | ||
echo "Preparando para executar o bakcup" | echo "Preparando para executar o bakcup" | ||
echo "" | echo "" | ||
aws s3 sync /var/spool/asterisk/monitor/$ANOA/$MESA/ s3://$BUCKET/$ANOA/$MESA/ | /root/.local/bin/aws s3 sync /var/spool/asterisk/monitor/$ANOA/$MESA/ s3://$BUCKET/$ANOA/$MESA/ | ||
echo "" | echo "" | ||
echo "Copia realizada com sucesso" | echo "Copia realizada com sucesso" | ||
| Linha 86: | Linha 122: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
20 | 20 */6 * * * sh /root/bkpcallsaws | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Sip Trunk = | |||
nmtui - programa para configuação da rede | |||
== Vivo == | |||
Configuraçao do vivo Sip trunk | |||
# receber email da vivo | |||
# configurar interface de rede para comunicar com o modem | |||
# pingar o modem | |||
# configurar rotas | |||
=== Exemplo de configuração (email recebido) === | |||
<code> | |||
PILOTO: 1151230000 | |||
QUANTIDADE CANAIS: 60 | |||
FAIXA DE RAMAIS:1151230000 ao 1151230179 | |||
IP PABX: 10.7.93.154 - MASK 255.255.255.248 (PADRÃO) | |||
IP GATEWAY: 10.7.93.153 - MASK 255.255.255.248 (PADRÃO) | |||
PORTA SIP QUE A VIVO UTILIZA: 5060 (PADRÃO) | |||
QUAL CODEC'S A SEREM CONFIGURADOS: G711 ALAW / G.729 | |||
IP BALANCEADOR / IP DOMINIO / IP REGISTRO: 10.255.240.111 | |||
IP MIDIA: 10.255.240.112 | |||
PORTAS RTP: 10000 A 65535 | |||
PROTOCOLO: UDP | |||
PORTA EQUIPAMENTO: 0/0 OU 0/1 | |||
</code> | |||
=== Criar arquivo de rotas === | |||
<code> | |||
ifconfig eth1 {ip_pabx} | |||
route add -net 10.255.240.0/24 gw {ip_gateway} | |||
##Remove regras Geolocalizacao | |||
iptables -D ISSABEL_INPUT -j ISSABEL_INPUT_GEOIP | |||
iptables -D ISSABEL_OUTPUT -j ISSABEL_OUTPUT_GEOIP | |||
iptables -A ISSABEL_INPUT -j LOG --log-prefix="INPUT " | |||
iptables -A ISSABEL_OUTPUT -j LOG --log-prefix="OUTPUT " | |||
iptables -A ISSABEL_FORWARD -j LOG --log-prefix="FORWARD " | |||
iptables -A INPUT -j LOG --log-prefix="INPUT " | |||
iptables -A OUTPUT -j LOG --log-prefix="OUTPUT " | |||
iptables -A FORWARD -j LOG --log-prefix="FORWARD " | |||
</code> | |||
=== coloca na inicialização === | |||
<code> | |||
ln -s ../init.d/rotas S99rotas | |||
</code> | |||
ou | |||
colocar no /etc/rc.local | |||
<code> | |||
route add -net 10.255.240.0/24 gw {ip_gw_vivo} | |||
route add -net 10.255.241.0/24 gw {ip_gw_vivo} | |||
</code> | |||
=== Pabx Entrada === | |||
Peer Details | |||
<code> | |||
username=1151230000 | |||
type=peer | |||
trustrpid=no | |||
sendrpid=no | |||
secret=1151230000 | |||
qualify=yes | |||
port=5060 | |||
nat=no | |||
insecure=very | |||
host=10.255.240.111 | |||
fromuser=1151230000 | |||
fromdomain=10.255.240.111 | |||
dtmfmode=rfc2833 | |||
disallow=all | |||
allow=g711,alaw | |||
</code> | |||
=== Pabx Saida === | |||
Edição atual tal como às 22h10min de 22 de fevereiro de 2024
Configuração de central telefônica
Instalação
Path Brasil
wget -O - https://github.com/ibinetwork/IssabelBR/raw/master/patch-issabelbr.sh | bash
AWS
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws configure
Callcenter
Receptivo
- criar agentes
- criar fila
- colocar agentes na fila (Axxxx,0)
- atribuir fila as ligações de entrada
- criar campanhas
Gravações
Logs
sngrep
F7 para filtro
Backup AWS
Realiza o backup diário de todas as ligações para a AWS.
- Regras de armazenamento
- sincronismo a cada 06 horas
- exclusão de ligações com mais de 03 meses do servidor asterisk
- inicial: armazenamento padrão 90 dias
- depois de 90 dias - acesso infrequente one zone
- depois de 365 dias - Glacier
- depois de 2 anos - Glacier Deep Archive
- Premissas
- instalado o pip no servidor
- instalado o aws cli no servidor
- configurado bucket
- processo no crontab
- Configurações
- processo ocorre diariamente por sincronismo
- remoção a cada 03 meses todo dia 02
Arquivo executavel
#!/bin/bash
BUCKET='bucket_name/diretorio'
ANOH=`date +%Y`
MESH=`date +%m`
DIAH=`date +%d`
ANOA=`date +%Y -d '1 day ago'`
MESA=`date +%m -d '1 day ago'`
DIAA=`date +%d -d '1 day ago'`
echo ""
echo "Data atual: "$ANOH "-" $MESH "-" $DIAH
echo ""
echo "Data anterior:" $ANOA "-" $MESA "-" $DIAA
echo ""
echo "Preparando para executar o bakcup"
echo ""
/root/.local/bin/aws s3 sync /var/spool/asterisk/monitor/$ANOA/$MESA/ s3://$BUCKET/$ANOA/$MESA/
echo ""
echo "Copia realizada com sucesso"
echo ""
if [ $DIAA = '01' ]; then
ANOAA=`date +%Y -d '3 month ago'`
MESAA=`date +%m -d '3 month ago'`
echo ""
echo "remove 3 meses anteriores" $ANOAA "-" $MESAA
echo ""
rm -rf /var/spool/asterisk/monitor/$ANOAA/$MESAA
echo "removido com sucesso"
echo ""
else
echo "nada a remover"
fiCrontab
Configurar editor
export VISUAL=vim20 */6 * * * sh /root/bkpcallsaws
Sip Trunk
nmtui - programa para configuação da rede
Vivo
Configuraçao do vivo Sip trunk
- receber email da vivo
- configurar interface de rede para comunicar com o modem
- pingar o modem
- configurar rotas
Exemplo de configuração (email recebido)
PILOTO: 1151230000
QUANTIDADE CANAIS: 60
FAIXA DE RAMAIS:1151230000 ao 1151230179
IP PABX: 10.7.93.154 - MASK 255.255.255.248 (PADRÃO)
IP GATEWAY: 10.7.93.153 - MASK 255.255.255.248 (PADRÃO)
PORTA SIP QUE A VIVO UTILIZA: 5060 (PADRÃO)
QUAL CODEC'S A SEREM CONFIGURADOS: G711 ALAW / G.729
IP BALANCEADOR / IP DOMINIO / IP REGISTRO: 10.255.240.111
IP MIDIA: 10.255.240.112
PORTAS RTP: 10000 A 65535
PROTOCOLO: UDP
PORTA EQUIPAMENTO: 0/0 OU 0/1
Criar arquivo de rotas
ifconfig eth1 {ip_pabx}
route add -net 10.255.240.0/24 gw {ip_gateway}
- Remove regras Geolocalizacao
iptables -D ISSABEL_INPUT -j ISSABEL_INPUT_GEOIP
iptables -D ISSABEL_OUTPUT -j ISSABEL_OUTPUT_GEOIP
iptables -A ISSABEL_INPUT -j LOG --log-prefix="INPUT "
iptables -A ISSABEL_OUTPUT -j LOG --log-prefix="OUTPUT "
iptables -A ISSABEL_FORWARD -j LOG --log-prefix="FORWARD "
iptables -A INPUT -j LOG --log-prefix="INPUT "
iptables -A OUTPUT -j LOG --log-prefix="OUTPUT "
iptables -A FORWARD -j LOG --log-prefix="FORWARD "
coloca na inicialização
ln -s ../init.d/rotas S99rotas
ou
colocar no /etc/rc.local
route add -net 10.255.240.0/24 gw {ip_gw_vivo}
route add -net 10.255.241.0/24 gw {ip_gw_vivo}
Pabx Entrada
Peer Details
username=1151230000
type=peer
trustrpid=no
sendrpid=no
secret=1151230000
qualify=yes
port=5060
nat=no
insecure=very
host=10.255.240.111
fromuser=1151230000
fromdomain=10.255.240.111
dtmfmode=rfc2833
disallow=all
allow=g711,alaw