Pfsense + SIP
-
Essa vai para os Brasileiros que estão com problemas em usar o pfsense com protocolo SIP.
Priemiramente vai um codigo para quem usa uma internet onde o ip e dinamico, este codigo te como poste original o poste do Perry, quem manja o ingles pode tirar umas duvidas.http://forum.pfsense.org/index.php?topic=18053.0
#!/bin/sh # limpeza de stats para funcionamento do protocolo SIP ################################# #Inetweb e-Solutions # #http://www.inetweb.com.br/ # #(19)3405-7292 # #(11)2959-7457 # #0800-888-7457 # ################################# ################################# #Alexander Durco # #10/02/2011 # ################################# ############################################################################# #Em primeiro lugar não remova a linha numero um (1) #!/bin/sh # # ir no pfsense em modo shell, opcao 8 [entrer]: # # - Aperte ee # # - Escreva essa linhade codigo # # - Mude o valor de ext_if, local_voip_ip and provider_voip_ip # # - aperte esc a a # # - salvar em /usr/local/etc/rc.d/voipstate.sh # # - executar o comando chmod 744 /usr/local/etc/rc.d/voipstate.sh # # # # - Ir pfSense webgui Diagnostics -> Edit File # # - Abrir /usr/local/etc/rc.d/voipstate.sh # # - Adicionar ao script que estara apenas com a primeira linha escrito# # "salvar em /usr/local/etc/rc.d/voipstate.sh" # # - Apague tudo e cole esse codigo inteiro jé editado com suas # # informações # # - Clique no botao save # # # # # - Ir pfSense webgui Diagnostics -> Edit File # # - Abrir /cf/conf/config.xml # # - Adicionar ao bloco cron # # # # # # <minute>*/1</minute> # # <hour>*</hour> # # <mday>*</mday> # # <month>*</month> # # <wday>*</wday> # # <who>root</who> # # <command></command>/usr/local/etc/rc.d/voipstate.sh # # # # # # - Clique no botao save # # - reiniciar pfSense # # # ############################################################################# #Declaração de variaveis locais #Mude o valor de ext_if, local_voip_ip and provider_voip_ip ext_if="" #Coloque o nome da interface de rede entre as aspas. EX: "ETH0", "re0" #EX: ext_if="eth0" voip_file="/var/run/voip_file.ip" local_voip_ip=""#Coloque o ip local do servidor voip EX:"192.168.0.52" #EX: local_voip_ip="192.168.0.52" provider_voip_ip=""#Coloque o ip ou DNS do servidor voip EX: 200.258.xxx.xxx, #EX: dominio.net.br #EX: provider_voip_ip="dominio.net.br" EXIT_SUCCESS=0 EXIT_FAILURE=1 #Fim das declarações de variaveis #So execute este script se for root if [ `id -u` -ne 0 ] then echo "Somente o root pode executar esse programa" exit $EXIT_FAILURE fi usage(){ echo "Usage: $0" } #O Show de verdade comeca aqui get_ip(){ if [ -f $voip_file ] then registered_ip=`cat ${voip_file}` else registered_ip="" fi current_ip=`ifconfig ${ext_if} | awk '/inet / { print $2 }'` } update_hosts(){ if [ "$registered_ip" != "$current_ip" ] then echo "Voip não registrado limpando states de entrada" | logger echo /sbin/pfctl -k $local_voip_ip -k $provider_voip_ip echo $current_ip > $voip_file echo "done." | logger fi } # # Main # get_ip update_hosts exit $EXIT_SUCCESS [quote][/quote]
Aqui estou usando o pfsense com o vono, o vono foi um grande vilão mas foi bem facil fazer ele funcionar certinho. Em system na opção advanced, va ate uma opção que é firewall optimization options e mude o algoritmo escolha conservative, pronto para o vono, claro que vc deve liberar as portas nas relgras do firewall . Espero que isso ajude aos amigos. Raj
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.