Отваливается VoIP



  • Всем привет.
    Есть шлюз, на pfsense 2.0.1-RELEASE с выделенным статическим ip на одном интерфейсе. Есть локалка на втором.
    В локалке стоит voip шлюз Dlink dvg 5004, соединяется с внешним sip сервером провайдера.
    Собственно проблема в следующем. Уже около полугода, периодически отваливается связь на voip шлюзе (Current Status висит в Proceeding). При чем, может буквально через день после поднятия связи отработать несколько часов и упасть, а может месяц без падений. Выяснил, что проблема в файрволе и именно в state table. Сегодня буквально увидел, что в state table коннект этот висит в состоянии:```
    udp 195.10.2.33:5060 <- 192.168.1.101:5060 NO_TRAFFIC:SINGLE

    Порты у меня открыты все для ipшника voip шлюза следующим образом. Только на LAN интерфейсе наружу:
    

    UDP 192.168.1.101 * * * * none   Allow from VoIP

    Т.е я ему по UDP все разрешил.
    Ещё после гугления, выставил Firewall Optimization Options в режим conservative - это не помогло (стоял normal).
    Сейчас ещё послежу до первого падения, в планах попробовать там же Disable Firewall Scrub отметить. В самом правиле фаера, добавить во вкладке Advanced Options -> State Timeout in seconds = 1600 хватит же?
    И как вариант System: Advanced: Miscellaneous, включить Schedule States и States. Но это как понимаю, не совсем то?
    Сейчас в рабочем состоянии state table:
    

    udp 195.10.2.33:5060 <- 192.168.1.101:5060 MULTIPLE:MULTIPLE
    udp 192.168.1.101:5060 -> 92.93.14.74:36355 -> 195.10.2.33:5060 MULTIPLE:MULTIPLE

    У кого какие мысли есть? Или решили может быть уже эту проблему?




  • @werter:

    Может что-то из этого поможет ?
    http://forum.pfsense.org/index.php?action=printpage;topic=25615.0
    http://forum.pfsense.org/index.php?action=printpage;topic=8239.0
    http://forum.pfsense.org/index.php?action=printpage;topic=39811.0

    Спасибо за ссылки, но немного не то.

    Кому может будет интересно, проблема следующим образом решена. Через костыль правда.. Пока все работает, буду следить.

    kill_voip.sh

    
    #!/bin/sh
    local_voip_ip=''
    provider_voip_ip=''
    # Write phone states to file
    /sbin/pfctl -s state | grep $local_voip_ip > /tmp/statetmp.status
    # Kill VOIP phone states if in wrong state
    awkrepley3=`awk '/'$local_voip_ip'/ && /'$provider_voip_ip'/ && /SINGLE/ {print "down"}' /tmp/statetmp.status`
      if [ "${awkrepley3}" = "down" ] ; then
        /sbin/pfctl -k $local_voip_ip -k $provider_voip_ip
        echo "states frozen kill them" | logger  
      fi
    
    

    В крон каждые 5 минут.

    Почему то не отваливаются самостоятельно "NO_TRAFFIC:SINGLE" соединения. Хотя в опциях галочка стоит. Может в следующих ветках пофиксят.


Locked