Re: [Ekiga-list] Account is no locked anymore. What to do?



On 08/18/2013 10:03 AM, Csanyi Pal wrote:

~$ type rpm
rpm is /usr/bin/rpm

That caused the error. Thought Debian did not use rpm.
I'm removing the rpm test.
> DNAT:debug:GM   net     loc:192.168.10.90       udp     5000:5016
> DNAT:debug:GM   net     loc:192.168.10.90       udp     5020:5023
> DNAT:debug:GM   net     loc:192.168.10.90       udp     5060:5100

You have some holes in the 5000-5100 range. Suggest 5000:5100.

I assume you will restart the router after changes.


However, I setup Linphone too for DiamondCard service and I can call a
phone number from Linphone.

Yep, same here.
I had an not configured my DiamondCard Account correctly which caused me some grief.



#!/bin/bash
#***********************************************************************
#*
#* voip_ck - check voip ports  version 1.5
#*
#*   Verify ports used by ekiga are open on pc and accessible
#*   through pc firewall and modem.
#*
#* Uses nc from netcat-openbsd rpm to test port connections
#*  wget from wget rpm, and
#*  dig from bind-utils rpm to check sip.diamondcard.us servers.
#*
#*     Required /etc/shorewall/rules snippet follows:
#*
#* If behind NAT router, read
#*        http://wiki.ekiga.org/index.php/Ekiga_behind_a_NAT_router
#*
#* # ekiga UDP Through NAT (STUN) ports
#* ACCEPT          $FW      net     udp     3478:3479
#* ACCEPT          net      $FW     udp     3478:3479
#*
#* # ekiga incomming SIP VoIP, Windows Messenger ports
#* ACCEPT          $FW      net     udp     5000:5100
#* ACCEPT          net      $FW     udp     5000:5100
#*
#* # ekiga incomming H.323, Netmeeting ports
#* ACCEPT          net      $FW     tcp     1720
#* ACCEPT          $FW      net     tcp     1720
#*
#* # ekiga  RTP
#* ACCEPT          $FW      net     udp     7070
#*
#***********************************************************************

    set -u
   _exe=$0
   _app=$(basename $_exe)

    _dport=0
    _errors=("")
    _fault_flg=0
    _fault_msg="pc firewall and/or tcpwrappers blocking"
    _ipv_mode="-4"
    _lan_ip=$(/bin/hostname --ip-address)
    _msg=""
    _nc_app="nc"
    _pkt_sw=""
    _pkt="-u"
    _registar="sip.diamondcard.us"
    _rpm=""
    _servers=""
    _servers_ip=""
    _sport=38564
    _svr_fn=$HOME/tmp/$_app.log
    _target="$_lan_ip"
    _test=""
    _test_msg="LAN"
    _wan_ip=$(wget -qO - http://myip.dnsomatic.com/)

    mkdir -p $HOME/tmp

    port_ary=(
    "3478 UDP STUN, required for SIP (phone calls) and RTP (video)"
    "3479 UDP STUN, required for calls and video"
    "5060 UDP SIP required listen port for SIP signalling"
    "5000 UDP SIP, SIP signalling, range 5000-5100, required"
    "5100 UDP end of SIP 5000-5100 and H.323 gatekeepers range, required"
"7070 UDP RTP, Incoming traffic from the other end. Often 5004, 7070, 16382"
    "16382 UDP RTP is the IETF standard used to transport audio and video "
    "30000 TCP H.245 channel for old H.323 implementations (Netmeeting)  "
    "30010 TCP end of 30000-30010 range"
    "1720 TCP H.323 Listening port for H.323 gatekeepers"
    )

              #**********************************
              #* Verify needed apps are installed
              #**********************************

    _apps="nc wget dig"
    for _app in $_apps ; do
      set -- $(type $_app)
      if [ "$2" != "is" ] ; then
        _errors+=("$@")
        (( _fault_flg++ ))
      fi
    done


    if [ $_fault_flg -gt 0 ] ; then
      echo "
      $_exe fatal _error:"
      for ix in ${!_errors[*]} ; do
        printf "   %s\n" "${_errors[$ix]}"
      done
      echo "Please install any missing application "
      exit 1
    fi

    set -- $(type nc)
    _nc_app=$3

        #**************************************************
        #* check pc firewall (LAN) then WAN router ports
        #**************************************************
    /bin/echo "
          Testing PC firewall (LAN) the Router (WAN) ports
    "
    _fault_flg=0

    pkill -u $USER -f $_nc_app > /dev/null 2>&1

    for _test_msg in LAN WAN ; do
      /bin/echo "Testing  $_test_msg $_target ports"
      i=0
      while [ $i -ne ${#port_ary[ ]} ] ; do
        set --  $(/bin/echo ${port_ary[$i]})
        _dport=$1
        _pkt=$2
        shift 2
        _test="$@"

        if [ "$_pkt" = "UDP" ] ; then
          _pkt_sw="-u"
        else
          _pkt_sw=""
        fi

        _test_args="$_ipv_mode -s $_sport $_pkt_sw  -w 2 $_target"

        /bin/echo -n "$_test $_pkt $_dport "
        _msg="$_test_msg $_test_msg port ${port_ary[$i]}"

        $_nc_app $_ipv_mode -l $_pkt_sw $_dport > $_svr_fn  &
        /bin/echo "$_msg" |$_nc_app  $_test_args $_dport
        _count=$(/bin/grep -c "$_msg" $_svr_fn)
        if [ $_count -eq 0 ] ; then
          /bin/echo " FAILED"
          (( _fault_flg++ ))
          /bin/echo " "
          /bin/echo    "Sent:     $_msg "
          /bin/echo -n "Received: $_msg "
          /bin/cat $_svr_fn
          netstat | grep  $_dport
          /bin/echo "$_test_msg $_pkt port ${port_ary[$i]} is not open"
          if [ "$_test_msg" = "LAN" ] ; then
            /bin/echo "$_fault_msg port $_dport"
            /bin/echo "Open port $_dport in ${_target}'s firewall"
/bin/echo "Allow port $_dport in ${_target}'s /etc/hosts.allow or"
            /bin/echo "Remove port $_dport in ${_target}'s /etc/hosts.deny"
            /bin/echo " "
          else
            /bin/echo "$_test_msg $_pkt port ${port_ary[$i]} is not open"
            /bin/echo "Open/forward port $_dport to $_target in the router"
            /bin/echo " "
          fi
        else
          /bin/echo " passed"
        fi
        (( i++ ))
      done
      /bin/echo "

      "
      _fault_msg="Router's firewall blocking"
      _target="$_wan_ip"
    done

    pkill -u $USER -f $_nc_app  > /dev/null 2>&1
    echo 'ignore any Terminated   $_nc_app $_ipv_mode messages'

    if [ $_fault_flg -gt 0 ] ; then
      echo "
      Clear all port failures to finish $_exe testing.
      For any questions about ports, refer to

http://wiki.ekiga.org/index.php/Manual#Using_Ekiga_with_routers_and_firewalls

If you get $_nc_app argument error, then you do not have a compatiable
      netcat-openbsd nc application.
      "
      exit 1
    fi


        #*************************************************
        #* get registar's sip udp server and ip address
        #*************************************************
    while read -r line; do
      set -- $line
      _servers="$_servers $4"
      set -- $(host $4)
      _servers_ip="$_servers_ip $4"
    done < <((dig +short _sip._udp.$_registar SRV))

        #*********************************************
        #* ping by ip then by name
        #*********************************************

   echo "
          Testing sip servers by ip then by name
   "
   _fault_flg=0
   for _serv in $_servers_ip $_servers ; do
      _cmd="ping -c1 -w 2 $_serv"
      /bin/echo -n "$_cmd"
      $_cmd > /dev/null 2>&1
      if [ $? -ne 0 ] ; then
        /bin/echo " FAILED"
        (( _fault_flg++ ))
      else
        /bin/echo " passed"
      fi
    done

   /bin/rm $_svr_fn


    if [ $_fault_flg -ne 0 ] ; then
      echo "
      If one sip server FAILED and the other passed, then I
      am betting your ip ($_wan_ip) has been blacklisted.
      You will need to contact diamond to clear it from their blacklist.
      Repeted pings can also get you blacklisted.  :(
      "
    else
      echo "
      Yay, if all tests passed that indicates ekiga should work.
      Assuming you have the account configured correctly.
      I had to remove the Ekiga account to get my diamond account working.
      My Account settings:
      Name:      sip.diamondcard.us
      Registrar: sip.diamondcard.us
      User and Authentication user are both the same value.

      My Audio-> codec preference order is
      PCMU
      PCMA
      Speex
      All others not selected
      "
    fi

#****************** end voip_ck *********************************************



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]