Voip over zan

Aus Ethersex_Wiki
Version vom 10. August 2011, 04:05 Uhr von Doc (Diskussion | Beiträge) (Hinweis Sipgate/GMX hinzugefügt)
Wechseln zu: Navigation, Suche

Das Problem ist verbreitet: man könnte schön VOIP nutzen, hat jedoch im Hotel den Port gesperrt bzw. der "böse" Mobilfunkprovider unterbricht solche Verbindungen (:twisted:)

Abhilfe: das ZAN (oder ein beliebiges VPN)!

Das ganze funktioniert jedoch erst, wenn man die lokalen IP-Adressen entsprechend setzt (siehe auch hier.

Damit das funktioniert, benötigt man den Befehl mc-tool, der im Paket libmissioncontrol-utils enthalten ist.

Vielen Dank an Jochen, der das recherchiert und uns seine maemo-update-resolvconf zur Verfügung gestellt hat:

#!/bin/bash
#
# Parses DHCP options from openvpn to update resolv.conf
# To use set as 'up' and 'down' script in your openvpn *.conf:
# up /etc/openvpn/maemo-update-resolvconf
# plugin /opt/openvpn/lib/openvpn/openvpn-down-root.so "script_type=down /etc/openvpn/maemo-update-resolvconf"
# Customized version for Maemo (lacks resolvconf)
# 02.08.2009 andrea@borgia.bo.it
#
# Used snippets of resolvconf script by Thomas Hood <jdthood@yahoo.co.uk>
# and Chris Hanson
# Licensed under the GNU GPL.  See /usr/share/common-licenses/GPL.
# 05/2006 chlauber@bnc.ch
#
# Example envs set from openvpn:
# foreign_option_1='dhcp-option DNS 193.43.27.132'
# foreign_option_2='dhcp-option DNS 193.43.27.133'
# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
# 

case $script_type in

up)
   for optionname in ${!foreign_option_*} ; do
       option="${!optionname}"
       echo $option
       part1=$(echo "$option" | cut -d " " -f 1)
       if [ "$part1" == "dhcp-option" ] ; then
           part2=$(echo "$option" | cut -d " " -f 2)
           part3=$(echo "$option" | cut -d " " -f 3)
           if [ "$part2" == "DNS" ] ; then
               IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
           fi
           if [ "$part2" == "DOMAIN" ] ; then
               IF_DNS_SEARCH="$part3"
           fi
       fi
   done
   R=""
   if [ "$IF_DNS_SEARCH" ] ; then
       R="${R}search $IF_DNS_SEARCH\n"
   fi
   for NS in $IF_DNS_NAMESERVERS ; do
       R="${R}nameserver $NS\n"
   done
   if [ ! -f /etc/resolv.conf.prevpn ] ; then
       mv /etc/resolv.conf /etc/resolv.conf.prevpn
   fi
   echo -e "$R" > /etc/resolv.conf
   #echo $4 > /tmp/arg4
   source /etc/osso-af-init/af-defines.sh
   for acct in $(mc-tool list | grep sofiasip/sip);do
     mc-tool update $acct string:local-ip-address=$4    
   done
   ;;

down)
   if [ -f /etc/resolv.conf.prevpn ] ; then
       mv /etc/resolv.conf.prevpn /etc/resolv.conf
   fi
   source /etc/osso-af-init/af-defines.sh
   for acct in $(mc-tool list | grep sofiasip/sip);do
     mc-tool update $acct clear:local-ip-address    
   done
   ;;

esac

Noch ein Hinweis: getestet habe ich das schon mit Sipgate, das sehr gut funktionierte: man kann da auch eine kostenlose Echonummer (10005) anrufen, die man dann "bequasseln" kann und sich dann den Text wieder anhören.

Mit GMX hatte ich hingegen Probleme, oft riss die Verbindung einfach ab-

Wenn jemand noch weitere Provider hier eintragen will, nur zu!