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


Log in to reply