http://www.smart-solutions.pt/en/download/category/9-tutoriais.html
Cumprimentos,
Ainda falando sobre reconhecimento da fala utilizando o google, enviei uma mensagem na lista AsteriskBrasil onde expressava minhas idéias de como utilizar o serviço de reconhecimento de fala do google em tempo real com o Asterisk, já se passou quase uma semana sem se quer um suspiro de interesse, então resolvi seguir sozinho !
A idéia é utilizar EAGI para controle do canal de entrada de áudio em conjunto com o File Descriptor, o Asterisk entrega o áudio em formato RAW diretamente no File Descriptor 3, então podemos utilizar esta informação da maneira que acharmos conveniente, para este caso a manipulação se torna muito prática, o que me desprende totalmente das APP’s prontas para gravações inseridas no Asterisk Ex. Record, nada melhor do que ser livre para voar, é claro várias análises se tornam possíveis com isso e o leque de aplicações possíveis se tornam infinitas.
Você certamente já pensou em ter um PABX com funcionalidade para reconhecimento da fala então certamente irá precisar partir para soluções cooporativas e caras certo???
A Partir de hoje não !
Tudo que irá precisar é ter internet para acessar o google o Script possue algumas dependencias:
https://github.com/ederwander/Asterisk-Google-Speech-Recognition/blob/master/README
Estou usando novamente o módulo audiolab para efetuar o encode do áudio em FLAC, caso exista alguma dificuldade para a instalação deste módulo poderei pensar em adaptar o código para uso externo do sox ou flac.
Como ele funciona?
Sugiro que vejas as configurações no seu ficheiro
Strategies
As chamadas são distribuídas entre os membros da manipulação de uma fila com uma das várias estratégias, definidas no queues.conf
Ringall: todos os canais disponíveis até que uma resposta (padrão) roundrobin: se revezam tocando cada interface disponíveis (deprecated in 1.4, use rrmemory) leastrecent: interface anel que foi menos recentemente chamado por esta fila fewestcalls: o anel com um menor número de chamadas completadas dessa fila aleatória: interface de toque aleatório rrmemory: round robin com a memória, lembrar de onde paramos passar último anel
Veja isso como esta configurado.
Por uma conexão ssh com o comando asterisk -rvvvvvvvvvvvvvv poderá ver os logs/chamadas de entra no seu Asterisk. Porém o que você esta querendo utilizar esta em AMI/AGI ( ver mais sobre ).
Espero ter ajudado.
As linhas a seguir precisam ser adicionada à configuração do Asterisk, a fim de realizar encaminhamento adequado das chamadas de entrada e saída de e para Topex IP Mobilink.
Chamadas de saída:Editar o ficheiro (arquivo) /etc/asterisk/extensions.conf [Mobilink IP]exten => _70X,1,Dial(SIP/${EXTEN})Editar o ficheiro (arquivo) /etc/asterisk/sip.conf e adicione o seguinte: [Mobilink IP]type=peerhost=192.168.52.59fromdomain=192.168.52.59trustrpid=yesport=5060disallow=allallow=ulawallow=alawcanreinvite=nocontext=Mobilink IPdtmfmode=autoSalve o ficheiro (arquivo) e reinicie o Asterisk. Todas as chamadas com prefixo 072 e 074 serão encaminhadas para o Gateway Topex Mobilink IP. Para mais informações sobre Topex IP Mobilink visite o seguinte link: Topex IP MobilinkNota para utilizadores de Trixbox em extensions_custom.conf adicione as linhas como segue; [outbound-allroutes-custom]exten = _072.,1,Dial(SIP/${EXTEN}@192.168.52.59)exten = _074.,1,Dial(SIP/${EXTEN}@192.168.52.59)Era isto espero ter ajudado, até a próxima.-- Att.Angelo de Barros Delphini, ( Dell. ).Administrador de Redes Sênior Unix, GNU/Linux e AsteriskEngenheiro em Segurança da Informação Sênior.Linux User # 472499 - Ubuntu User # 22452 - ICQ User # 86119719 _ °v° CentOS /(_)\ http://centosbr.org/ ^ ^ Seja livre, use GNU/Linux! -------------------------- Open Source \o/\o/ - Milhares de mentes abertas não podem estar enganadas!
Pense bem antes de imprimir Você esta preservando a natureza, as árvores agradecem!“A Vontade de Deus nunca irá levá-lo aonde a Graça dEle não possa protegê-lo"
Nós oferecemos custo elevado de muitos destinos que cobrem 200 países a nível mundial. IPRN internacional números de valor acrescentado é o seu balcão único para todas as suas necessidades de negócios de valor acrescentado número. Somos capazes de entregar-lhe um final cheio de extremidade de serviço para o seu negócio de qualquer número de valor acrescentado. Seguem-se vantagens de IPRN (Tarifas Internacionais Números Premium) Mais de 30 destinos em 200 países Taxa de excelente Uptime de 99,5% Estatística em tempo real on-line 24 X 7 apoio técnico
Sem custos adicionais Contacte-me: SKYPE: karina.mediatel MSN: karina@mediatel.com ICQ: 640757449
Compramos Trafego de voz!
Voce sabe como mandar minutos para nossos numeros internacional?
Agent Pagamos cada secunda!
SKYPE: karina.mediatel MSN: karina@mediatel.com
ICQ: 640757449
Bom dia,
sou novo nesta area de pbxfree e afins, tou a tentar implementar aqui na empresa uma central pbx visto a reduzir custos e afins, tou a usar o trixbox com a versao 2.6.2.3, e precisava de ajuda a configurar isto, para ja estava a exprimentar apenas internamente, ja adicionei dois ramais de telefones onde tenho o x-elite nos pcs so que nao csg fazer chamadas de um lado para o outro, alguem me pode ajudar.
Olá, gostaría de suporte quanto a um comando via shell no asterisk (asterisk -r). O que preciso é obter o comando que mostre o número origem que está ligando naquele momento para determinado channel. Minha intenção é via script coletar este número e integrar em uma aplicação de caller id em uma intranet
Prezados, bom dia. Sou novo em asterisk e estou com algumas dificuldades, gostaria muito da ajuda de vocês.
Meu servidor atualmente está com a versão 1.8 do asterisk, ele possui duas placas de rede Ethernet, eth0 e eth1. A interface eht0 está ligada na minha rede e a eth1 pretendo ligar em uma central HiPath 4000 que atualmente trabalha com o protocolo HFA. Para não ter que alterar nada nessa central HiPath eu queria fazer o seguinte:
Caso a pessoa discar para 58XX ou 59XX o asterisk encaminha essa ligação para a interface ETH1 que estaria ligada a central HiPath 4000
Isso é possível?
Ola Hugo,
Pude ver nas imagens que estas a fazer o Login e Password no router. Deverá faze-lo directamente no Asterisk/Freepbx.
Para quem quiser deixo aqui as minhas configurações:
Outbound Caller ID: +35130XXXXXXX
TRUNK Name: MEO
PEER Details:
#nat=yes
canreinvite=yes
context=from-trunk
from=+35130XXXXXXX
fromdomain=xpto.pt ( ou meo )
host=xpto.pt ( ou meo )
insecure=port,invite
outboundproxy=xpto.pt ( ou meo )
port=5070
qualify=yes
secret=Coloque aqui a PASSWORD do seu serviço voip
type=friend
username=+35130xxxxxxx
authname=+35130xxxxxxx
fromuser=+35130xxxxxxx
dtmfmode=rfc2833
disallow=all
allow=ulaw&alaw
registername=+35130xxxxxxxx
call-limit=2
t38pt_udptl=yes (necessário caso queira receber/enviar faxes através deste SIP)
Registration
Register String:
+35130xxxxxxx@xpto.pt:#PASSSWORD#:+35130xxxxx xx@xpto.pt:5070
Estou com problemas na recepção de chamadas. Alguém me mode ajudar? O problema é o seguinte:
Tenho programado que quando recebo uma chamado para um determinado número esta vai cair após ouvir uma mensagem, num telefone definido de acordo com esse número. Se o Telefone estiver ocupado passa para a próxima extensão até alguém do call center atender a chamada. Acontece que por vezes, a chamada é desviada para outro telefone, quando o telefone aonde a chamada devia cair não está ocupado? Porque será?
Tenho um simples ivr com uma mensagem informando a tarifa da chamada. Antes de se ouvir a mensagem deve-se ouvir um beep que o asterisk lê mas quem liga para o nosso número não o ouve. Porque Será?
Olá a todos, estou a tentar montar uma central com o Elastix em casa, tenho um numero VoIP activado da PT(meo), tenho no pc instalado o Zoiper com a extensão 1000 criada e registada no Freepbx, mas quando tento ligar para fora (ex: telemóvel ou fixo) ele não sai…
no sip trunk do freepbx tenho:
from=+35130#######
fromdomain=voip.sapo.pt
host=proxy.meo.iptv.telecom.pt
outboundproxy=proxy.meo.iptv.telecom.pt
secret=#########
username=+35130#######
authname=+35130#######
fromuser=+35130#######
registername=+35130#######
t38pt_udptl=yes
USER Details:
secret=#######
type=user
Register String: +35130#######@voip.sapo.pt:#######:+35130#######@proxy.meo.iptv.telecom.pt:5070/+35130#######
No router da meo (Thomson TG784) tenho:
Configuração do Serviço
Registro: voip.sapo.pt
Porta de registro: 5060
Proxy: proxy.meo.iptv.telecom.pt
Porta de proxy: 5070
Proxy secundário: 0.0.0.0
Porta secundária de proxy: 5070
Tempo até a expiração: 3600
Deixo imagens do sip show peers na CLI do asterisk, do sip show registry e do debug da tentativa da chamada..
Alguém já fez esta configuração com êxito? Ou algum sabe o que falta ou o que esta mal?
Cumprimentos
Hugo
Olá, estou tendo dificuldades em utilizar o A2billing, seria possível enviar o manual para meu e-mail?
Obrigado
Name/username Host Dyn Nat ACL Port Status3088/3088 192.168.200.14 D N A 5090 OK (10 ms)3087/3087 192.168.200.14 D N 5088 OK (9 ms)3086/3086 192.168.200.14 D N 5086 OK (9 ms)3085/3085 192.168.200.14 D N 5084 OK (10 ms)3084/3084 192.168.200.14 D N 5082 OK (9 ms)3083/3083 192.168.200.14 D N 5080 OK (10 ms)3082/3082 192.168.200.14 D N 5078 OK (9 ms)3081/3081 192.168.200.14 D N 5076 OK (9 ms)3080/3080 192.168.200.14 D N 5074 OK (10 ms)3079/3079 192.168.200.14 D N 5072 OK (9 ms)3078/3078 192.168.200.14 D N 5070 OK (9 ms)3077/3077 192.168.200.14 D N 5068 OK (10 ms)3076/3076 192.168.200.14 D N 5066 OK (9 ms)3075/3075 192.168.200.14 D N 5064 OK (9 ms)3074/3074 192.168.200.14 D N A 5062 OK (9 ms)3073/3073 192.168.200.14 D N 5060 OK (9 ms)3072/3072 192.168.200.13 D N A 26163 OK (13 ms)3071/3071 192.168.200.13 D N 30266 OK (11 ms)
Boa tarde! estou com um problema no asterisk 2.6, rodando em Centos. Possuo 4 Gws GXW4024 de 24 portas num cliente, e este parou de receber ID de chamado , interna...entre ramais mesmo. Nao acho que seja nos GWS pois vários ramais no mesmo GW no mesmo perfil funciona o CID. os telefones também são todos iguais. A única semelhança que notei entre os ramais com problema é o A no campo ACL quando vejo os peers registrados: 3012/3012 192.168.200.11 D N A 5082 OK (11 ms)3011/3011 192.168.200.11 D N 5080 OK (10 ms)3010/3010 192.168.200.11 D N 5078 OK (10 ms)3009/3009 192.168.200.11 D N 5076 OK (11 ms)3008/3008 192.168.200.11 D N 5074 OK (11 ms)3007/3007 192.168.200.11 D N 5072 OK (11 ms)3006/3006 192.168.200.11 D N 5070 OK (11 ms)3005/3005 192.168.200.11 D N 5068 OK (11 ms)3004/3004 192.168.200.14 D N A 5094 OK (9 ms)3003/3003 192.168.200.11 D N 5064 OK (10 ms) desde já agradeço a ajuda.
bom dia amigos ,
moro em um condominio com 100 casas e gostaria de usar o asterisk para fazer a comunicaçao interna do condominio , estou com uma duvida ,
tenho o dlink dvg 1402 s porem nao consigo configurar configurar o aparelho com o asterisk , alguem já fez essa configuração , como fica o sip.conf ??
suportehard@eltronsolutions.com.br
abraço
john
Uma forma simples de minimizar problemas com ataques por força bruna no asterisk é a implementação do fail2ban.
Na pratica este serviço analisa as entradas nos logs e implementa regras de iptables baseadas nessa analise, desta forma a reincidência de expressões como "Wrong password" nos logs do asterisk gera um drop no iptables para o ip que está tentando se autenticar.
Instar o fail2ban
Dependências:
No debian, para se certificar que as dependências estão instaladas, basta adicionar o seguinte comando:
#apt-get install python iptables
Download do fail2ban com o seguinte comando:
#wget http://superb-east.dl.sourceforge.net/sourceforge/fail2ban/fail2ban-0.8.3.tar.bz2
Descompacte o pacote
#tar -jxf fail2ban-0.8.3.tar.bz2
Entre no diretório
#cd fail2ban-0.8.3
Instalar o Fail2Ban
#python setup.py install
Configurar o Fail2Ban
Agora nós precisamos fazer com que o fail2ban seja capaz de identificar ataques contra o asterisk.
Os ficheiros de configuração ficam em: /etc/fail2ban/filter.d
Vamos criar aqui um ficheiro para o asterisk.
#touch asterisk.conf
Este ficheiro deve conter o seguinte:
[INCLUDES]
[Definition] failregex = NOTICE.* .*: Registration from '.*' failed for '' – Wrong password NOTICE.* .*: Registration from '.*' failed for '' – No matching peer found NOTICE.* .*: Registration from '.*' failed for '' – Username/auth name mismatch NOTICE.* .*: Registration from '.*' failed for '' – Device does not match ACL NOTICE.* failed to authenticate as '.*'$ NOTICE.* .*: No registration for peer '.*' \(from \) NOTICE.* .*: Host failed MD5 authentication for '.*' (.*) NOTICE.* .*: Failed to authenticate user .*@.* ignoreregex =
No ficheiro /etc/fail2ban/jail.conf inclua as seguintes linhas:
[asterisk-iptables]
enabled = true filter = asterisk action = iptables-allports[name=ASTERISK, protocol=all] sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@example.org] logpath = /var/log/asterisk/full maxretry = 3 bantime = 259200
Maxretry determina a quantidade de erros que o fail2ban vai aceitar de um determinado host antes de bani-lo.
O bantime é em segundos, portanto neste caso qualquer tentativa de ataque ao asterisk será banida por 72 horas.
Para não banir você mesmo, no jail.conf, procure pela tag [DEFAULT], no paramento ignoreip informe seu ip.
Edite o /etc/asterisk/logger.conf e defina o dateformat da seguinte forma.
[general] dateformat=%F %T
Na sessão [logfiles] você deve inserir a seguinte linha:
syslog.local0 => notice
Feito isso é só dar reload no logger
asterisk -rx "logger reload"
Para verificar se o fail2ban funcione, basta aplicar o seguinte comando:
iptables -L -v
As seguintes linhas devem aparecer:
Chain fail2ban-ASTERISK (1 references) pkts bytes target prot opt in out source destination 6287K 1158M RETURN all – any any anywhere anywhere
Listo! Agora esta com um pouco mais de segurança no seu Asterisk.
Laboratório 01 de GLAMPA - Oracle VM.
Laboratório 01: Vídeo do Laboratório_01
Aplicativos para este laboratório:
Oracle Virtualbox: WebPage Oficial
MagicISO Virtual: WebPage Oficial
Laboratório 02 de GLAMPA - Criando VM (PABX-CentOS).
Laboratório 02: Vídeo do Laboratório_02
CentOS: WebPage Oficial Downloads
Debian: WebPage Oficial Downloads
Laboratório 03: Vídeo do Laboratório_03
Laboratório 04: Vídeo do Laboratório_04
Laboratório 05: Vídeo do Laboratório_05
Laboratório 06 de GLAMPA - Instalando WinSCP para Suporte Remoto.
Laboratório 06: Vídeo do Laboratório_06
Laboratório 07 de GLAMPA - Integração NotePad++ com WinSCP.
Laboratório 07: Vídeo do Laboratório_07
Laboratório 08 de GLAMPA - Integração do Putty com o WinSCP.
Laboratório 08: Vídeo do Laboratório_08
Laboratório 09 de GLAMPA - Instalando SO Debian (P01).
Laboratório 09: Vídeo do Laboratório_09
Laboratório 10 de GLAMPA - Instalando SO Debian (P02).
Laboratório 10: Vídeo do Laboratório_10
Laboratório 11 de GLAMPA - Instalando SO Debian (P03).
Laboratório 11: Vídeo do Laboratório_11
Laboratório 12 de GLAMPA - Conexão do WinSCP com o SO Debian.
Laboratório 12: Vídeo do Laboratório_12
Comandos deste Laboratório:
# apt-get install ssh
Neste ponto caso você não tenha intimidade com o mundo GNU/Linux recomendo realizar um rápido estudo com este material:
Guia Foca Linux - Site Oficial: Iniciante
Guia Foca Linux - Site Oficial: Intermediário
Guia Foca Linux - Site Oficial: Iniciante + Intermediário
Guia Foca Linux - Site Oficial: Avançado
Mini Curso Vim:
Foco Linux - Blog Oficial: Aula 01
Foco Linux - Blog Oficial: Aula 02
Foco Linux - Blog Oficial: Aula 03 - Final
Apostila de vi/vim da IBM (inglês): Para abaixar
Laboratório 13: Vídeo do Laboratório 13
Comandos deste laboratório:
Execute todos os procedimentos dentro do directoria de trabalho:
# cd /usr/local/src/
# mkdir repo5
# cd repo5
Habilitar o repositório RPMFORGE
(i386 el5)# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm# rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm (x86_64 el5)# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm# rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
Habilitar o repositório Fedora EPEL
(i386 el5)# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm# rpm -ivh epel-release-5-4.noarch.rpm(x86_64 el5)# wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm# rpm -ivh epel-release-5-4.noarch.rpm
Habilitar o repositório REMI
# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# rpm -Uvh remi-release-5*.rpm
# updatedbIsto poderá demorar um pouco ou um monteeeeee.# yum check-update# yum update
Laboratório 14 de GLAMPA - Actualizando o kernel do CentOS GNU/Linux.
Laboratório 14: Vídeo do Laboratório 14
Vamos agora deixar o nosso servidor mais robusto, para isto executamos os comandos abaixo com calma:
# uname -r (anote a versão do Kernel)
# cat /etc/redhat-release (anote a versão da distribuição)
# yum install yum-priorities
# yum clean all
# yum update glibc\*
# yum update yum\* rpm\* python\*
# yum update ecryptfs-utils\*
# yum update kernel\*
# updatedb
# yum check-update
# yum update
# reboot
Uma boa prática é sempre utilizar o sistema actualizado, agora vamos ver se teve mudanças com os comandos:
# uname -r (compare com a versão do Kernel anotada antes)
# cat /etc/redhat-release (compare com a versão da distribuição anotada antes)
Este procedimento não é obrigatório, eu recomendo para ter certeza de que está utilizando o Sistema Operativo realmente actualizado.
Laboratório 15 de GLAMPA - Instalando o GLAMPA.
Laboratório 15:
Vídeo do Laboratório 15 (parte 01)
Vídeo do Laboratório 15 (parte 02)
# yum groupinstall "DNS Name Server"
# yum groupinstall "Web Server"
# yum groupinstall "Mail Server" (para Voicemail e avisos do root)
# yum groupinstall “Development Tools” (para dahdi, libpri e asterisk)
# yum groupinstall “Development Libraries” (para dahdi, libpri e asterisk)
# yum groupinstall “FTP Server” (para suporte futuro)
# yum install dialog* (para placas Khomp)
# yum groupinstall “MySQL Database” (MySQL Server e seus componentes)
# yum provides *libmysqlclient.so.* (para CDR do Asterisk)
# yum install mysql-* (Dependências para desenvolvedores do MySQL)
# yum install sox* (para converter áudio para uso no Asterisk)
# yum install vim*
# init 6
Laboratório 16 de GLAMPA - Instalando o GLAMPA.
Laboratório 16: Vídeos em produção.
Sistema operativo CentOS é na minha opinião profissional o mais recomendado para ser utilizado em qualquer servidor.
Abraços a todos.
_ °v° CentOS/(_)\ http://centosbr.org/ ^ ^Seja livre, use GNU/Linux!--------------------------Open Source \o/\o/ - Milhares de mentes abertas não podem estar enganadas!
O que você está utilizando para o servidor PABX, Asterisk Embarcado ou Raiz ???
Você está a onde ? Portugal ou Brasil ?
Aguardo.
Boas pessoal.
Tenho o meu pbx com asterisk a funcionar para comunicação interna na minha empresa.
Eu gostaria de fazer chamadas para fora da instituiçao, ou seja para outros telefones usando uma placa gsm que conecte chips de moveus.
Não tenho bases para o efeito agradeço que me ajudem a configurar o meu pbx para fazer chamadas para fora da minha instituição.
Ola pessoal, epero que possam me ajudar!!
Instalei em um servidor o Elastix versao 2.0, vi que la no menu EXTRAS, CARTAO DE CREDITO se encontra o billing, servico de bilhetagem, porem esta todo em ingles, e eu nao tenho a minima ideia de como comecar a fazer alguma coisa.
Vou explicar aqui talvez alguem me ajude a fazer.
1 - Quero digamos que saber o valor que um determinado ramal gasta!
2 - Quero que o ramal 2005 (exemplo) tenha uma cota de R$50,00 por mes/semana/dia !
Como fazer isso? Agradeco se alguem tiver algum tutorial ou algo parecido para compartilhar.
marciodias@centranet.com.br - Espigao Do Oeste - Rondonia - Brasil
*********************************************************
Hello everybody, EPER that can help me!Installed on a server Elastix version 2.0, I saw it in the EXTRAS menu, CREDIT CARD is the billing, ticketing service, put this all in English, and I have not the slightest idea how to start doing something.I will explain here maybe someone will help me to do.1 - say I want to know the value that a certain extension spend!2 - I want the extension in 2005 (example) has a quota of $ 50.00 per month / week / day! How? I appreciate if anyone has any tutorial or something to share. marciodias@centranet.com.br - Espigao do Oeste - Rondônia - Brazil
***********************************************************
Carissimo as credenciais para abrir a consola de gestão do asterisk via browser são:
user: admin
senha: admin.
Sds
Paulo Antonio
BOAS PESSOAL.
SOU NOVATO NA CONFIGURAÇÃO DE SERVIDOR VOIP COM ASTERISK.
INSTALEI UM SERVIDOR NO MEU SERVIÇO COM ASTERISK NOW E FREEPBX.
O SERVIDOR TEM TODOS OS SERVIÇOS CONFIGURADOS E EXTA A CORRER O ASTERISK.
ABRI O BROWSER DO FREEPBX PARA CONFIGURAR AS EXTENSÕES.
CRIAR AS EXTENSÕES COM TODOS OS DADOS NECESSÁRIOS
E INSTALEI O SOFTPHONE X LITE.
CONFIGUREI O XLITE E AS EXTENSÕES SE AUTENTICAM NO X LITE, SO QUE QUANDO DISCO PARA UMA DAS EXTENSÕES CADASTRADAS O X LITE RETORNA A SEGUINTE MENSAGEM: CALL FAILED, REQUEST TIMEOUT.
POR FAVOR AGRADEÇO QUE EM EXPLIQUE COMO DEVE FAZER A CONFIGURAÇÃO DAS EXTENSÕES PARA QUE FUNCIONEM.
ESTOU MUITO AFLITO AJUDEM-ME.
Preparations
Before you begin, you will need to have 5 different passwords. Some you already know, some you have to generate and write them down. I will refer to these passwords as follows:
PASSWORD1 – Your SSH root password (You have this already) PASSWORD2 – Used for the asterisk database user (Write this one down) PASSWORD3 – Used for the FreePBX administrator (Write this one down) PASSWORD4 – Used for Flash Operator Panel (Write this one down) PASSWORD5 – Used for the Asterisk Recording Interface (Write this one down)
Pre-install requirement
1
2
3
4
5
yum groupinstall "DNS Name Server"
yum groupinstall "Web Server"
yum groupinstall "Mail Server"
yum groupinstall "MySQL Database"
yum groupinstall "Development Tools"
yum install php-pear*
Once you are sure that the needed package groups are installed, you will want to install the prerequisites as follows.
yum install e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel
yum install gmp php-pear php-pear-DB php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel libogg-devel
yum install openssl-devel mysql-devel zlib-devel perl-DateManip sendmail-cf sox
Also be sure that wget is installed on your system.
yum install wget
In the next step we will generate the named.conf file.
6
7
8
9
10
echo "options {" >> /var/named/chroot/etc/named.conf
echo " directory \"/var/named\";" >> /var/named/chroot/etc/named.conf
echo " dump-file \"/var/named/data/cache_dump.db\";" >> /var/named/chroot/etc/named.conf
echo " statistics-file \"/var/named/data/named_stats.txt\";" >> /var/named/chroot/etc/named.conf
echo "};" >> /var/named/chroot/etc/named.conf
echo "include \"/etc/rndc.key\";" >> /var/named/chroot/etc/named.conf
cd /var/named/chroot/etc/
chmod 640 named.conf
chgrp named named.conf
ln -s /var/named/chroot/etc/named.conf /etc/named.conf
We need to turn off SELinux. If you don't turn SELinux off your setup of FreePBX with Asterisk propably won't work.
echo "SELINUX=disabled" > /etc/selinux/config
In this next step we are going to configure iptables voor Asterisk and FreePBX. If you wish you can also disable iptables on your server. If you wish to configure iptables, please make sure the file /etc/sysconfig/iptables looks like this:
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
*mangle
:PREROUTING ACCEPT [83145:120824770]
:INPUT ACCEPT [83145:120824770]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [46823:2584014]
:POSTROUTING ACCEPT [46823:2584014]
COMMIT
*filter
:INPUT DROP [0:0]
:OUTPUT ACCEPT [1:60]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -f -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 4445 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5060 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 10000:20000 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5061 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 5061 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 4569 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
*nat
:PREROUTING ACCEPT [164:6544]
:POSTROUTING ACCEPT [148:8939]
:OUTPUT ACCEPT [148:8939]
LAME is required for Asterisk’s audio related functions. You will want to download LAME to a source directory, compile and then install it.
cd /usr/src
wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz?ts=1292626574&use_mirror=cdnetworks-us-1
tar zxvf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure
You can optionally remove the source once you have installed LAME.
cd ..
rm -fr lame-3.98.4
rm lame-3.98.4.tar.gz
We also need to add DAHDI support if you want to set up conferences in FreePBX / Asterisk. Most of you do want this feature I believe, if not, skip this step.
cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.4.0+2.4.0.tar.gz
tar zxvf dahdi-linux-complete-2.4.0+2.4.0.tar.gz
cd dahdi-linux-complete-2.4.0+2.4.0
make all
make install
make config
/etc/init.d/dahdi restart
chkconfig dahdi on
Before continuing, ensure that all packages are up to date and then reboot.
yum update
reboot
Installing Asterisk 1.8
Get Asterisk 1.8 and extract it to its own source folder. Afterwards we start the installation immediately.
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
tar xvfz asterisk-1.8-current.tar.gz
cd asterisk-1.8.x.x #Replace 1.8.x.x with the correct version
contrib/scripts/get_mp3_source.sh
make
menuconfig
The last command will launch the source configuration manager. Make sure you select the following:
- Head into Channel Drivers and make sure chan_dahdi is selected (only needed if you want to use conferences and installed dahdi in the steps before) - Head into Add-Ons and make sure app_mysql, app_saycountpl, cdr_mysql, format_mp3, res_config_mysql are selected - Head into Extra Sound Packages and make sure EXTRAS-SOUNDS-EN-GSM is selected
Save your selections and exit. Now compile the source and install.
You can optionally remove the source directory once you have installed Asterisk.
rm -fR asterisk-1.8.x.x #Replace 1.8.x.x with the correct version
rm asterisk-1.8-current.tar.gz
Installing FreePBX 2.8
Get FreePBX 2.8 and extract it to its own source folder.
wget http://mirror.freepbx.org/freepbx-2.8.0.tar.gz
tar xvfz freepbx-2.8.0.tar.gz
cd freepbx-2.8.0
Start MySQL, create the asterisk databases and run the initial SQL setup scripts.
/etc/init.d/mysqld start
chkconfig mysqld on
mysqladmin create asterisk
mysqladmin create asteriskcdrdb
mysql asterisk < SQL/newinstall.sql
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql
Start the MySQL command line.
mysql
Define the user and password for each of the databases.
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY
flush privileges;
\q
Change the MySQL user to root.
mysqladmin -u root password 'PASSWORD1'
Create the Asterisk user and set folder permissions.
useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk
chown -R asterisk:asterisk /var/run/asterisk
chown -R asterisk:asterisk /var/log/asterisk
chown -R asterisk:asterisk /var/lib/php/session/
Update the Apache configuration file.
vi /etc/httpd/conf/httpd.conf
In this file change the following settings to the values as listed here:
# Search for the setting User & Group
User asterisk
Group asterisk
# Search for the setting AllowOverride
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
# Search for the setting ServerName
ServerName <your ip or hostname>:80
Start the Apache webserver.
/etc/init.d/httpd start
chkconfig httpd on
Start Asterisk
./start_asterisk start
Configure FreePBX.
./install_amp --username=asteriskuser --password=PASSWORD2
The next series of prompts will give you default values within square brackets which you can accept by hitting enter. If you wish to change a value, simply type it and hit enter after.
[asteriskuser]
This is the database user you specified earlier.
[PASSWORD2]
This is the password for the database user.
[localhost]
Use the default value.
[admin]
The username for the FreePBX administrator.
[amp111]
The password for the FreePBX administrator. It is important to change this. (Use PASSWORD3 you prepared earlier.)
[/var/www/html]
[xx.xx.xx.xx]
The public IP that will be used.
[passw0rd]
The Flash Operator Panel password. It is important to change this. (Use PASSWORD4 you prepared earlier)
[extensions]
[/var/lib/asterisk/bin]
[/usr/local/sbin]
Change the Asterisk Recording Interface password and turn on user authentication for the web interface by editing the amportal.conf file.
vi /etc/amportal.conf
Change the ARI_ADMIN_PASSWORD entry to update the ARI password.
ARI_ADMIN_PASSWORD=PASSWORD5
Change the AUTHTYPE entry to database to enable authentication.
AUTHTYPE=database
Optionally, you can turn off the FOP completely by changing the following settings.
FOPRUN=false
FOPDISABLE=true
Save and exit.
Add FreePBX to the boot process.
echo "/usr/local/sbin/amportal start" >> /etc/rc.local
Reset the permissions of the /var/www/html
chown -R asterisk:asterisk /var/www/html
Finally, reboot the server one last time.
Post installation actions
After you succesfully installed FreePBX and Asterisk, you need to do some extra steps.
First open a browser and go to your Asterisk server by enetering the URL http://<your ip or hostname>. When you are there go to "FreePBX Administration". You will receive an pop-up, fill username "admin" and password "admin". Once logged in, in the left menu click on "Administrators". Then click in the right menu on "admin". Now change the admin password to PASSWORD3 (you prepared it earlier).
Then click on the left menu on the option "Module Admin". Now click on "Check for updates online" and install the updates you want and install the new modules if you like (I installed and updated all modules).
# This program is free software: you can redistribute it and/or modify# it under the terms of the GNU Affero General Public License as published by# the Free Software Foundation, either version 3 of the License, o# (at your option) any later version.
# This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See# GNU Affero General Public License for more details.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
clearecho "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~"echo "PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO"echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~"echo "Este script assume que não mudou o nome de utilizaodor root padrao para o MySQL"echo "Se voce alterou a sua password, pressione CTRL-C para sair"echo "Em seguida, altere a password de root do MySQL no script para se adequar a esta instalação."echo " "echo "Se uma cópia anterior do A2Billing já esttiver instalada, então deve desinstalar antes"echo "Este script ira modifica-lo, ou modifique a sua instalação antes de executa-lo."echo "+++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++"read -p "Pressione enter para continuar ou ctrl-C para sair"
#Change passw0rd below for your MySQL root password if you have changed it from the default.MYSQLROOTPASSWORD=password
echo "***************************** ****************************** **"echo "Instalar A2Billing - Download de ficheiros pela Internet"echo ""echo " Por Favor, seja paciente"echo ""echo "CUIDADO, execute este script uma unica vez - caso contrario voce tera"echo "entradas duplas na cron e extensoes-a2billing.conf"echo "***************************** ****************************** **"
mkdir /usr/src/a2billingmkdir /var/www/html/a2billing
wget http://www.asterisk2billing.org/down...g_1.4.1.tar.gz
cd /usr/src/a2billing/DataBase/mysql-5.x/
echo "GRANT ALL PRIVILEGES ON *.* TO 'a2billinguser'@'localhost' IDENTIFIED BY 'a2billing' WITH GRANT OPTION;" | mysql -p$MYSQLROOTPASSWORD
echo ""echo "Instalar Banco de Dados A2Billing"echo "Answer the questions appropriately with reference to /etc/a2billing.conf"echo "-----------------------------"echo ""
echo "Digite abaixo o nome do banco de dados que esta dentro do parentese (mya2billing):"read dbname
echo "Digite o nome do Hostname de seu servidor, ou coloque (localhost):"read hostname
echo "Digite o nome do utilizador do Banco de Dados (a2billinguser):"read username
echo "Digite a password de utilizador do Banco de Dados (a2billing):"read password
echo mysql --user=$username --password=$password --host=$hostname $dbname
cat a2billing-schema-v1.4.0.sql UPDATE-a2billing-v1.4.0-to-v1.4.1.sql | mysql --user=$username --password=$password --host=$hostname $dbname
# cat a2billing-mysql-schema-v1.3.0.sql UPDATE-a2billing-v1.3.0-to-v1.3.1.sql UPDATE-a2billing-v1.3.3-to-v1.3.4.sql UPDATE-a2billing-v1.3.4-to-v1.4.0.sql a2billing-prefix-table-v1.4.0.sql UPDATE-a2billing-v1.4.0-to-v1.4.1.sql | mysql --user=$username --password=$password --host=$hostname $dbname
#Install some dependenciesyum -y install perl-DBD-Pg
cd /usr/src/a2billing
mv AGI/a2billing.php /var/lib/asterisk/agi-bin/.cp -r common/lib /var/lib/asterisk/agi-bin
mv ./admin/ /var/www/html/a2billing/adminmv ./customer/ /var/www/html/a2billing/customermv ./agent/ /var/www/html/a2billing/agentmv ./common/ /var/www/html/a2billing/commonmv ./Cronjobs/ /var/lib/asterisk/agi-bin/lib/Cronjobsmv a2billing.conf /etc/a2billing.conf
#Set up soundscd /usr/src/a2billing/addons/sounds
#Use this line for RPM based systems as Fedora, CentOS, etcast_sound=/var/lib/asterisk/sounds
#Use this line for Debian based systems#ast_sound=/usr/share/asterisk/sounds
lang=enechoecho Instalar ficheiros de audio do A2Billing : "$lang"echo --------------------------------------------------echo creating relevant folders : $ast_sound/$langecho creating relevant folders : $ast_sound/$lang/digits
mkdir $ast_sound/$langmkdir $ast_sound/$lang/digitsecho Copy $lang files in the right folder ...
cp ./$lang/* $ast_sound/$lang/cp ./global/* $ast_sound/$lang/
lang=esechoecho Instalar ficheiros de audio do A2Billing : "$lang"echo ---------------------------------------------------echo creating relevant folders : $ast_sound/$langecho creating relevant folders : $ast_sound/$lang/digits
lang=frechoecho Instalar ficheiros de audio do A2Billing : "$lang"echo ---------------------------------------------------echo creating relevant folders : $ast_sound/$langecho creating relevant folders : $ast_sound/$lang/digits
mkdir $ast_sound/$langmkdir $ast_sound/$lang/digitsecho Copy $lang files in the right folder ..
lang=brechoecho Instalar ficheiros de audio do A2Billing : "$lang"echo ---------------------------------------------------echo creating relevant folders : $ast_sound/$langecho creating relevant folders : $ast_sound/$lang/digits
lang=ruechoecho Instalar ficheiros de audio do A2Billing : "$lang"echo ---------------------------------------------------echo creating relevant folders : $ast_sound/$langecho creating relevant folders : $ast_sound/$lang/digits
cp ./$lang/* $ast_sound/$lang/echo Copy $lang digits files in the right folder ...cp ./$lang/digits/* $ast_sound/$lang/digits/
cd /etc/asterisk/touch additional_a2billing_iax.conftouch additional_a2billing_sip.conftouch extensions_a2billing.conftouch iax_custom.conf
#set ownership and permissions
chown -R asterisk:asterisk /var/www/htmlchown -R asterisk:asterisk /etc/asteriskchown -R asterisk:asterisk /var/lib/asterisk/chown -R asterisk:asterisk /var/www/html/a2billing/chown -R asterisk:asterisk /var/lib/asterisk/sounds/chown asterisk:asterisk /var/lib/asterisk/agi-bin/a2billing.phpchmod +x /var/lib/asterisk/agi-bin/a2billing.php
chmod 666 /etc/asterisk/additional_a2billing_iax.confchmod 666 /etc/asterisk/additional_a2billing_sip.confchmod 666 /etc/asterisk/extensions_a2billing.confchmod 666 /etc/a2billing.conf
#Fix the permissions of the templates_c folder in each of the UI
chmod 755 /var/www/html/a2billing/admin/templates_cchmod 755 /var/www/html/a2billing/customer/templates_cchmod 755 /var/www/html/a2billing/agent/templates_cchown -R asterisk:asterisk /var/www/html/a2billing/admin/templates_cchown -R asterisk:asterisk /var/www/html/a2billing/customer/templates_cchown -R asterisk:asterisk /var/www/html/a2billing/agent/templates_c
#ensure all log files exist so we can set their permissions accordinglytouch /var/log/asterisk/a2billing-daemon-callback.logtouch /var/log/a2billing-daemon-callback.logtouch /var/log/cront_a2b_alarm.logtouch /var/log/cront_a2b_autorefill.logtouch /var/log/cront_a2b_batch_process.logtouch /var/log/cront_a2b_bill_diduse.logtouch /var/log/cront_a2b_subscription_fee.logtouch /var/log/cront_a2b_currency_update.logtouch /var/log/cront_a2b_invoice.logtouch /var/log/cront_a2b_check_account.logtouch /var/log/a2billing_paypal.logtouch /var/log/a2billing_epayment.logtouch /var/log/api_ecommerce_request.logtouch /var/log/api_callback_request.logtouch /var/log/a2billing_agi.log
echo "#include additional_a2billing_sip.conf" >> /etc/asterisk/sip_custom.confecho "#include additional_a2billing_iax.conf" >> /etc/asterisk/iax_custom.confecho "#include extensions_a2billing.conf" >> /etc/asterisk/extensions_custom.conf
echo '[macro-dialout-trunk-predial-hook]exten => s,1,GotoIf($["${OUT_${DIAL_TRUNK}:4:4}" = "A2B/"]?custom-freepbx-a2billing,${OUTNUM},1:2)exten => s,2,MacroExit
[custom-freepbx-a2billing]exten => _X.,1,DeadAGI(a2billing.php|${ OUT_${DIAL_TRUNK}:8})exten => _X.,n,Hangup()' >> /etc/asterisk/extensions_custom.conf
#Create manager_custom.confecho "[myasterisk]secret = mycodedeny=0.0.0.0/0.0.0.0permit=127.0.0.1/255.255.255.0read = system,call,log,verbose,comman d,agent,userwrite = system,call,log,verbose,comman d,agent,user" >> /etc/asterisk/manager_custom.conf#Adicionar entrada de contexto para uso do A2Billing
echo "[a2billing]exten => _X.,1,Answerexten => _X.,n,Wait(1)exten => _X.,n,deadAGI(a2billing.php|1)exten => _X.,n,Hangup
[a2billing-callback]exten => _X.,1,deadAGI(a2billing.php|1| callback)exten => _X.,n,Hangup
[a2billing-cid-callback]exten => _X.,1,deadAGI(a2billing.php|1| cid-callback|34) ;last #parameter is the callback area codeexten => _X.,n,Hangup
[a2billing-all-callback]exten => _X.,1,deadAGI(a2billing.php|1| all-callback|34) ;last #parameter is the callback area codeexten => _X.,n,Hangup
[a2billing-did]exten => _X.,1,deadAGI(a2billing.php|1| did)exten => _X.,2,Hangup
[a2billing-voucher]exten => _X.,1,deadAGI(a2billing.php|1| voucher)exten => _X.,n,Hangup
[custom-a2billing-did]exten => _X.,1,deadAGI(a2billing.php|1| did)exten => _X.,2,Hangup
[custom-a2billing]exten => _X.,1,deadAGI(a2billing.php|1)exten => _X.,n,Hangup
" >> /etc/asterisk/extensions_a2billing.conf
#Add some custom destinations to FreePBXRESULT=`/usr/bin/mysql -uroot -p$MYSQLROOTPASSWORD <<SQL
use asteriskINSERT INTO custom_destinations(custom_dest, description, notes)VALUES ('custom-a2billing,${EXTEN},1', 'A2Billing', '');INSERT INTO custom_destinations(custom_dest, description, notes)VALUES ('custom-a2billing-did,${EXTEN},1', 'A2Billing-DID', '');quitSQL`
#set up crontabs for currency updates invoices and billing.echo '0 1 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/currencies_update_yahoo.php0 6 1 * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_subscription_fee.php0 12 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_archive_data_cront.p hp1 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_notify_account.php0 6 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_check_account.php0 0 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_bill_diduse.php20 0 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_batch_process.php0 10 21 * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_autorefill.php0 7 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_invoice_cront.php*/5 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_batch_autodialer.php0 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_alarm.php' >> /var/spool/cron/asterisk
#Not required for PIAF, port already open#Create fw rule to allow paypal to work#iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
#save them#service iptables save
#Set up callbackecho "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~"echo "Now Installing Callback"echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~"
echo "Pressione enter para continuar"read any
LOAD_LOC=/usr/src/a2billing
yum -y install python-setuptools.noarchyum -y install MySQL-pythoneasy_install sqlalchemy
cd $LOAD_LOC/CallBack/callback-daemon-pycp callback_daemon/a2b-callback-daemon.rc /etc/init.d/a2b-callback-daemonchmod +x /etc/init.d/a2b-callback-daemon
cp dist/callback_daemon-1.0.prod-r1528.tar.gz /tmpcd /tmptar xvfz callback_daemon-1.0.prod-r1528.tar.gzcd callback_daemon-1.0.prod-r1528
python setup.py buildpython setup.py bdist_eggeasy_install dist/callback_daemon-1.0.prod_r1528-py2.4.egg
chkconfig --add a2b-callback-daemonservice a2b-callback-daemon startchkconfig a2b-callback-daemon on
echo ""echo ""echo ""echo ""echo ""echo "***************************** ****************************** ********"echo "A2Billing Instalado com Sucesso"echo "-------------------------------------------------"echo ""echo "Por Favor agora Reboot no seu Servidor"echo ""echo "***************************** ****************************** ********"echo ""echo "Utilizador padrao admin : root"echo "A password padrao de root no admin :changepassword"echo "Não se esqueça de configurar /etc/a2billing.conf"echo "***************************** ****************************** ********"
Rádio on-line na musica de espera
musiconhold.conf
application=/usr/local/bin/mpg123 -q -r 8000 -f 8192 -s --mono http://servidor:porta/
Depois da palavra mono vem o endereço exemplo http://servidor:porta/
Para instalar o mpg123:
# wget http://ufpr.dl.sourceforge.net/sourceforge/mpg123/mpg123-1.4.2.tar.gz
Obs. Poderá consumir demasida banda do seu Asterisk.
A tecnologia VoIP não conta muito com a segurança, salvos algumas novas soluções no mercado, mas até ontem não existia segurança alguma para fazer chamadas por VoIP. Gostaria de apresentar uma técnica onde consigo interceptar uma chamada VoIP através de um switch. Quero deixar claro que não tenho nada contra a tecnologia VoIP, muito pelo contrário, sou um utilizador frequente, mas que com olhos abertos aprecio a tecnologia ao mesmo tempo em que consolido a segurança e a beleza de seu funcionamento perfeito. Os Softwares para análise de tráfego, softwares para captura entre outros, são distribuídos livremente. O software que utilizo na demonstração, no caso, é free. *Não divulgarei o nome do software utilizado por motivos de segurança, uma vez que não desejo que este artigo seja utilizado para fins maléficos, e não tenho a intenção de ensinar, ou mesmo dar aquela “receita de bolo” para aqueles “anarquistas de plantão”. Caso queira conhecer, pode entrar em contacto comigo e me relatar duvidas e ou sugestões. Entretanto, o software está disponível na web livremente, mas sugiro que entenda mais sobre tecnologia VoIP e Segurança, antes de qualquer coisa.· Muito bem, para efeitos de demonstração, construí um Lab utilizando duas Máquinas (Máquina real e uma Máquina Virtual), um softphone** e um IAD Voip** Em minha máquina real estão instaladas as ferramentas como Sniffers e o Softphone, além, é claro, do Servidor da Máquina Virtual. Na máquina virtual está instalado um sistema Operacional Linux, mais precisamente uma Distribuição Debian-Sarge com um Servidor SIP**, onde estão registrados os usuários do meu IAD e do Softphone. Para colocar de forma mais explícita, seguem as configurações das máquinas e softs utilizados: Máquina Real (chamaremos de SoftPhone): IP: 10.1.2.53 Usuário no Servidor SIP: 1000 Servidor SIP:IP: 10.1.2.107 IAD Voip:IP: 10.1.2.49 Usuário no Servidor SIP: 1001 Gateway da rede:IP: 10.1.2.252 Temos a seguinte topologia: Todos os Equipamentos estão ligados a um switch, sim um switch, este software é capaz sim de capturar tráfego mesmo estando conectados a um switch. Abaixo, temos uma primeira tela do software, onde vasculhamos nossa rede com o intuito de descobrir todos os equipamentos disponíveis no range de ip da rede.
Agora, sabemos quais equipamentos temos ligado em nossa rede 10.1.2.0, e só precisamos filtrar aqueles que nos interessam. Observe que há uma descrição, na verdade, uma identificação do equipamento, através dele é que vamos saber quais os dispositivos que vamos utilizar em nossa captura. Depois de identificar o equipamento, o qual queremos colher as informações, em nosso caso, queremos capturar tudo que passa pelo servidor SIP (10.1.2.107), na verdade não precisamos de mais nenhum.
A técnica utilizada se chama ARP Poisoning (Envenenamento da tabela ARP), isto ocorre quando escolhemos um dispositivo da rede e enganamos passando por outro dispositivo. No caso do gateway, todas as informações que devem passar por ele, os dispositivos encaminham informações para a minha máquina, onde ela capta e, em seguida, encaminha para o verdadeiro destino. Em nosso caso, vamos nos passar pelo Servidor SIP, assim, todas as chamadas irão passar pela minha máquina onde vamos capturar as chamadas, como vemos a seguir:
Na figura acima, a demonstração de uma chamada sendo feita através de um softphone para o IAD. A Seguir, a conexão é estabelecida, utilizando o codec de áudio G711u:
Neste momento, a conexão foi estabelecida e já há tráfego de voz, observe na figura a seguir que o software está capturando o tráfego de voz entre dois hosts 53 e 49, no momento em que grava o mesmo.
Por final, quando uma das pontas desliga o telefone, os equipamentos enviam uma mensagem do tipo (BYE, desconectado), e o software entende que não está passando mais áudio no canal, assim o software termina a gravação identificando o canal de Áudio RTP, salvando o mesmo com uma extensão WAV, pronto para ouvir.
Esta técnica foi utilizada em um Lab, onde o Servidor SIP foi instalado com os requisitos mínimos e sem a utilização de qualquer tipo de criptografia, túneis vpn, etc. Mas podemos comprovar que apenas pelo facto de os equipamentos estarem em um switch e não mais em Hubs, como antigamente, sua rede não está segura de ataques conhecidos como Man-in-the-middle (Arp poison). Espero que, com esta matéria, profissionais da área de redes, e, principalmente, profissionais na área de implantação de sistemas Voip, analisem profundamente o cenário e os procedimentos básicos de segurança, pois a redução de custo do Voip em relação ao desastre que pode ocorrer com informações claras expostas na rede acaba saindo mais caro, muito mais caro. Espero que tenham gostado! Abraços.
Você conseguiu resolver esta duvida??
Apóio & Duvidas sobre a tecnologia Khomp.
Cumprimentos, você conseguiu resolver este problema?
Ola a todos... Ambos conseguiram fazer fora e para dentro com o elastix??
estou desesperado a semanas para conseguir isso e nada.... :(
Localmente na mesma rede, consigo fazer pelos computadores, mas agora, criei um trunk com uma conta da sapo e nao consigo fazer chamadas.. e fiz download de um trunk de pessoas que tinham a funcionar com o mesmo sistema, devo ter algo mal configurado, os outbounds ou algo mais que me falte..
alguem me pode ajudar?? obrigado
instalei o freepbx na plataforma asterisk no debian e gostaria de saber se o freepbx permite que eu configure que determinado login, consiga visualizar somente determinados ramais (somente visualizar que ramais estão ocupados).
Ex: Login teste veja somente os ramais 1 e 2
Login teste2 veja os ramais 4 e 5
É possivel? e se possivel como fazer?
obrigado
tenho isso configurado [gouveia 2011-04-22 17:55:44]:
Veja se consegue entender essa configuração.
sou cliente meo, criei uma sip trunk , consigo receber chamdas, mas nao consigo fazer. Alguém sabe como configurar o elastix para fazer chamadas? Obrigado
Desculpem este post, mas estou a ficar desesperado com asterisk. Eu instalei o asterisk1.4 no meu NAS (ip 192.168.1.150 etrayz) de acordo com estelink http://translate.google.pt/translate?hl=pt-PT&sl=it&tl=en&u=http%3A%2F%2Fflanesi.wordpress.com%2F2011%2F02%2F21%2Fetrayz-installiamo-asterisk-e-asteriskgui-parte-1%2F Eu tenho duas contas voip sapo dois números +3513020194XX Configurado em minha casa num Linksys PAP2T ip 192.168.1.11 E +3513020038XX Configurado na casa dos meus pais num Linksys PAP2T ip 192.168.1.10 Ambos estão a trabalhar bem e, apesar da separação de 300m entre as casas os dois ATA's estão na mesma rede através de um link wireless. entretanto tenho uma nova conta voip novo 12voip pois tem um tarifário simpatico para as redes moveis, esta conta já está registrada com sucesso no asterisk show peers sip: AME / username Host Dyn Nat ACL Port Status Sapo / +3513020194XX 213.13.89.67 5070 OK (10 ms) +3513020194xx / +3513020xxxxx 213.13.146.110 5060 Unmonitored samendes79/samendes 77.72.169.134 5060 Unmonitored 3 pares [Monitorada: 1 online, offline Unmonitored 0: 2 online, offline 0] Meu objetivo é configurar a 3 contas VoIP no asterisk. E em seguida, criar os users para ligar PAP2T da Linksys no o asterisk.
Preciso conseguiu receber a chamada no 3513020194xx. Alguém marcar o +3513020194xx eo asterisco enviá-lo para o meu Linksys pap2t@192.168.1.11 E também se alguém discar o +3513020038xx eo asterisco enviá-lo aos meus pais Linksys pap2t@192.168.1.10 Quando faço uma chamada do meu ata Linksys pap2t@192.168.1.11 eu preciso ter umdialing plan que se meu destino for um telefone móvel 351 9xxxxxxxx eu tenho que usar a conta 12voip. E mandar o meu número móvel pessoal +35196xxxxxxx como originador da chamada Quando faço uma chamada de meu ata Linksys pap2t@192.168.1.11 eu preciso ter um dialing plan que se meu destino for um telefone fixo ou +351 351 2XXXXXXXX 3XXXXXXXX eu tenho que usar a conta voip sapo e se ele falhar, então utilizar a conta 12voip. E enviar o número do meu celular pessoal se +3513020194xx ou +35196xxxxxxx voip sapo voip 12 como originador da chamada. Na casa dos meus pais: Quando eles fazem uma chamada a partir da ata Linksys pap2t@192.168.1.10 eu preciso ter um dialing plan que se meu destino for um telefone móvel 351 9xxxxxxxx eu tenho que usar a conta 12voip. E mandar o meu número móvel pessoal +35196xxxxxxxx como originador da chamada Quando eles fazem uma chamada de meu ata Linksys pap2t@192.168.1.10 eu preciso ter um dialing plan que se meu destino for um telefone fixo ou +351 351 2XXXXXXXX 3XXXXXXXX eu tenho que usar a conta voip sapo e se ele falhar, então utilizar a conta 12voip. E enviar o número do meu celular pessoal se +3513020xxxxxxxx ou +35196xxxxxx1 voip sapo voip 12 como originador da chamada. Quando eles fazem uma chamada de meu ata Linksys pap2t@192.168.1.10 eu preciso ter umdialing plan que se meu destino é um apelo internacional 00 eu tenho que usar a conta voip sapo e se ele falhar, então use a conta 12voip. E enviar o número do meu celular pessoal se +351302003xxx ou +35196xxxx voip sapo voip 12 como originador da chamada. Ou Quando eles fazem uma chamada de meu ata Linksys pap2t@192.168.1.10 eu preciso ter umdialing plan que se meu destino é um telefonema internacional # 00 eu tenho que usar a conta 12voip e, se falhar, em seguida, usar a conta voip sapo . E enviar o número do meu celular pessoal se +3513020xxxxx ou +351965xxxxxxx voip sapo voip 12 como originador da chamada. alguem me pode ajudar por favor Atenciosamente! SM
Poderia explicar melhor o que se passa ?
Quanto do asterisk para o telemóvel funciona muito bem com a solução apresentada.
Agora o que estou a tentar fazer sem sucesso é o contrário!
Adquiri um Gateway GSM onde tenho um cartão com um tarifário de grupo…
No telemovel tenho outro cartão tb de grupo!
O que o gateway (PorTech mv-372) esta a fazer é:
Pegar na chamada e enviar para o trunk asterisk ou para uma extensão ou mesmo para o IP
Quando envia para o trunk o asterisk (Elastix) verifica o cid e se pertencer ao grupo envia para o DISA. O problema é que os números discados ou enviados por DTMF não são completamente reconhecidos no asterisk! A codificação esta a ser enviada por inbond…
Não sei se estou a dizer alguma asneira mas é o que tenho deduzido!
O mesmo acontece se enviar para directamente para uma extensão DISA.
Boa tarde,
Gostava de partilhar e ter a vossa opinião sobre a configuração da central telefónica para a empresa.
Pressupostos:
Solução Idealizada:
Hardware:
Software/Licenças:
Gostaria de ter as vossas opiniões e comentários.
Tenho ele instalado funcionando tudo normal, porém a secretaria IVR não esta discando para o ramal
depois da mensagem de boas vindas.
Relação de alguns operadores portugueses que trabalham com conexão SIP Trunking e Terminação ( wholesale )
www.smart-solutions.pt Email: info@smart-solutions.pt Tel. (+351) 707 450 155
Codecs Suportados
G.711 (64 kbps) G.726 (32 kbps) G.729 (8 kbps) G.723 (5.3 & 6.3 kbps) GSMFR (13 kbps) iLBC (20ms & 30ms)
Olá a todos, Eu alterei o meu código assim: exten => xxxx,1,Answer ; exten => xxxx,n,Set(DB(test/count)=1234) exten => xxxx,n,Set(COUNT=${DB(test/count)}) exten => xxxx,n,Authenticate(${COUNT}) ; A questão é a seguinte como carreguei a variável test/count=1234. Como posso agora encontra-la no Mysql de modo a altera-la via Mysql? Alguém pode dar uma ajuda?
1º Precisa adquirir uma licença para o chan_skype da Digium.
Registar/instalar no seu pbx com a ferramenta "register"
>>> Conforme (http://docs.digium.com/SFA/skype_for_asterisk_admin_manual.pdf - Item 2.1)
Instalar o skypeforasterisk, que também tem o link no pdf.
Editar o ficheiros /etc/asterisk/chan_skype.conf Exemplo: [general] engine_directory=/tmp/skype default_user=login_skype bind_address=0.0.0.0 bind_port=0 [login_skype] secret=senha_skype context=from-pstn exten=skype disallow=all allow=ulaw direction=both auth_policy=accept 2º Para encaminhar para um extensão, criar Inbound Route utilizando o DID "skype" e seleccionar onde quer que toque. Para discagem, criar tronco customizado com o dial string deste modo: Skype/login_skype@$OUTNUM$ Para funcionar a conta skype deve ser membro de uma conta empresarial (business account) https://manager.skype.com/
Boas, Necessito de ajuda para perceber cada uma das instrucções do meu IVR: [ivr-62] exten => s,1,Set(MSG=custom/controlodoarcondicionado) exten => s,n,Set(LOOPCOUNT=0) exten => s,n,Set(__DIR-CONTEXT=) exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT}) exten => s,n,Set(_IVR_CONTEXT=${CONTEXT}) exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin) exten => s,n,Answer exten => s,n,Wait(1) exten => s,n(begin),Set(TIMEOUT(digit)=3) exten => s,n,Set(TIMEOUT(response)=10) exten => s,n,Set(__IVR_RETVM=) exten => s,n,ExecIf($["${MSG}" != ""]?Background(${MSG})) exten => s,n,WaitExten(,) exten => hang,1,Playback(vm-goodbye) exten => hang,n,Hangup exten => 1,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) exten => 1,n,Set(__NODEST=) exten => 1,n,Goto(ivr-71,s,1) exten => 2,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) exten => 2,n,Set(__NODEST=) exten => 2,n,Goto(ivr-72,s,1) exten => 3,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) exten => 3,n,Set(__NODEST=) exten => 3,n,Goto(ivr-63,s,1) exten => 4,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) exten => 4,n,Set(__NODEST=) exten => 4,n,Goto(app-blackhole,hangup,1) exten => i,1,Playback(invalid) exten => i,n,Goto(loop,1) exten => t,1,Goto(loop,1) exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1]) exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1) exten => loop,n,Goto(ivr-62,s,begin) exten => return,1,Set(MSG=custom/controlodoarcondicionado) exten => return,n,Set(_IVR_CONTEXT=${CONTEXT}) exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT _${CONTEXT}}) exten => return,n,Goto(ivr-62,s,begin) ; end of [ivr-62] Será que alguém pode dar uma ajuda?