|
|
|
|
|
|
|
Kostenlos telefonieren mit SIPDer folgende Artikel ist für Leute gedacht, die einen Handy-Vertrag mit Festnetz Flatrate bzw. günstigen Festnetz Konditionen haben. Für Auslandsgespräche fallen in diesen Fällen oft höhere Gebühren an, die man jedoch vermeiden kann.
ÜbersichtDie Idee hinter dieser Lösung ist, dass man von seinem Handy mittels eines VoIP-Providers (Voice over IP) auf einer Ortsnetz Telefonnummer kostenlos - oder zumindest günstig - anruft und sich von dort aus ebenfalls mittels VoIP weiterverbinden lässt.
Die VoIP-Gebühren sind in der Regel wesentlich günstiger als die Gebühren für Handygespräche, insbesondere bei Auslandsgesprächen.
Ob die jeweiligen Geschäftsbedingungen diese Vorgehensweise erlauben muss jeder anhand seiner Verträge selbst prüfen, hierfür übernehme ich keine Verantwortung.
VoraussetzungenFolgendes wird benötigt:
- Ei
- Rech
- er mit Li
- ux der immer o
- li
- e ist
Zwei SIP Accou
- s ei
- es VoIP-A
- bieters
Asterisk
LinuxIch gehe an dieser Stelle davon aus, dass eine beliebige Linux-Distribution schon installiert ist, und man weiß wie man Pakete installiert, ich persönlich verwende Debian/sid (unstable), aber im Grunde sollte jede Distribution in Ordnung sein.
Die Maschine sollte, da sie permanent online ist, gegen Angriffe geschützt werden, also immer darauf achten, dass Sicherheitsupdates installiert werden, und die Firewall ihren Dienst tut. Verwendet keine unsicheren Passwörter!
SIPSIP (Session Initiation Protocol) entwickelt sich langsam aber sicher zum Standard für Internet-Telefonie. Konnte man zu Beginn nur von einem Rechner zum anderen telefonieren, gibt es mittlerweise VoIP-Anbieter, die auch zwischen Festnetz und Internet vermitteln. Selbst Ortsnetznummern bekommt man mittlerweile.
An dieser Stelle setzen wir jetzt an. Ortsgespräche sind heutzutage auch von Handys aus günstig, wenn nicht sogar kostenlos.
Für diese Lösung verwenden wir zwei SIP-Accounts, einen zum reinwählen in unsere Maschine, und einen zum rauswählen.
Denkbar wäre auch, das ganze ohne VoIP zu machen, und einen vorhandenen ISDN-Anschluss zu verwenden - wenn man z.B. eine Europa-Flatrate hat, kann das durchaus Sinn machen - allerdings belegt man dann die B-Kanäle.
Theoretisch müsste es auch mit einem einzigen SIP-Account funktionieren, in meinen Versuchen konnte ich aber nicht gleichzeitig zwei Gespräche mit dem selben Account führen.
Derjenige SIP-Account, mit dem Ihr später raustelefonieren wollt, sollte dafür natürlich ein entsprechendes Guthaben aufweisen.
Als Zugangsdaten Verwende ich für den Einwahl-Account:
Tel: 1111111 (keine Vorwahl, das ist meine interne, kostenlose VoIP-Nummer bei meinem Anbieter)
Passwort: inboundpw
Provider: example.com
Und als Rauswähl-Account:
Tel: 2222222 (keine Vorwahl, das ist meine interne, kostenlose VoIP-Nummer bei meinem Anbieter)
Passwort: outboundpw
Provider: example.com
AsteriskAsterisk ist eine OpenSource Vermittlungsstellen-/Telefonanlagen-Software. Ihr könnt die Version nehmen, die bei Eurer Distribution dabei ist, oder von Hand installieren. Ich verwende die Version 1.2.9.1.
Nach erfolgreicher Installation des Pakets müssen lediglich noch die SIP Konfiguration und der Dial Plan angepasst werden:
/etc/asterisk/sip.conf
; Verwendung auf eigene Gefahr!
; Ich übernehme keine Verantwortung, dass das hier sicher ist
;
; http://www.lilalinux.net
;
[general]
port = 5060
bindaddr = 0.0.0.0
context = sip-in
qualify = no
disable = all
allow = alaw
allow = ulaw
allow = g729
allow = gsm
allow = slinear
allow = h261 ; Wichtig fuer Video mit Ekiga
srvlookup = yes
canreinvite = no ; Insbesondere wichtig für NAT oder buggy CISCO phones. Im Prinzip bedeutet das, dass Gespräche nicht direkt zwischen den Endgeräten (Clients) geführt werden, sondern immer über den Server gehen.
regcontext = local-sip ; Durchwahl erstellen im angegebenen Context
; Ich habe leider keine Möglichkeit gefunden hier ein gecryptetes Passwort zu hinterlegen :(
register = 2222222:outboundpw@example.com/2222222
register = 1111111:inboundpw@example.com/1111111
videosupport=yes ; SIP kann auch Video (z.B. mit dem Ekiga Client)
[sip-out]
type = peer
insecure = very ; Wenn der Provider einen SIP-Cluster betreibt und Invites von mehreren IP-Adressen kommen können
nat = yes ; U.u. braucht Ihr diese Option nicht
username = 2222222 ; Hier muss Eure Rauswähl-Nummer hin
fromuser = 2222222 ; Hier muss ebenfalls Eure Rauswähl-Nummer hin
fromdomain = example.com ; Hier muss Euer Provider hin
; Hier muss Euer 32-stelliges Passwort als "md5 hash" hin
; Ihr könnt es erzeugen, indem Ihr folgendes auf der Shell eingebt:
; echo -n '2222222:example.com:outboundpw' | md5sum | awk '{ print $1 }'
; Vorsicht, das hinterlässt Spuren u.a. in Eurer .bash_history, also nur von einem sicheren Rechner aus machen
md5secret = 0123456789abcdef0123456789abcdef
host = example.com
qualify = yes
/etc/asterisk/extensions.conf (relevanter Teil, unten anhägen);
; Verwendung auf eigene Gefahr!
; Ich übernehme keine Verantwortung, dass das hier sicher ist
;
; http://www.lilalinux.net
;
[sip-in]
; Die Asterisk nimmt hier das Gespraech entgegen und fragt nach einem Passwort
; Das Passwort muss am Handy mit # beendet werden
exten => 1111111,1,Read(mypass,agent-pass)
; Gebt Hier ein Passwort mit beliebig vielen Stellen ein, (im Beispiel 12345)
exten => 1111111,2,GotoIf($[${mypass} = 12345]?3:9999)
; Wenn das Passwort richtig war wird nach einer 2-Stelligen Kurzwahl gefragt (im Beispiel 42 fuer die Oma im Ausland)
; Durch die Kurzwahlen verringern wir das Risiko, dass jemand absichtlich oder unabsichtlich teure Nummern wählt
; Man könnte natürlich auch eine komplette Telefonnummer abfragen und die dann direkt wählen
exten => 1111111,3,Read(myrufnr,vm-enter-num-to-call,2)
; Die Kurzwahl wird zur Sicherheit nochmal Vorgesprochen
exten => 1111111,4,SayDigits(${myrufnr})
; Die Kurzwahl wird mit 10 Multipliziert und das Ergebnis angesprungen
; Vorsicht, bei einer Eingabe von 00 gibts hier Probleme, sollte noch abgefangen werden
exten => 1111111,5,Goto($[10 * ${myrufnr}])
; Bei Kurzwahl 42 landet man hier, und es wird die angegebene Nummer gewählt (Beispiel: 0042123456)
exten => 1111111,420,Dial(SIP/0042123456@sip-out)
; weitere Kurzwahlen ...
;
; Hier gelangt man hin, wenn man ein falsches Passwort eingibt
exten => 1111111,9999,Playback(vm-goodbye)
[local-sip]
BedienungMan wählt nun vom Handy aus die erste SIP Nummer und wird aufgefordert das Passwort einzugeben, am Ende muss man ein # senden.
Nach erfolgreichem Login kann man dann eine der vordefinierten Kurzwahlen eingeben. Das # ist diesmal nicht nötig, da wir eine feste Länge von zwei Ziffern eingestellt haben.
Die Kurzwahl wird nochmal vorgelesen, und schliesslich wird die Zielrufnummer vom zweiten Account aus gewählt.
|
|
|
|
|
|
Wenn Euch diese Seite weitergeholfen hat, dann verlinkt sie bitte. Ihr habt ein Problem? Fragen, Anregungen und Kritik bitte an feedback@lilalinux.net
Ihr könnt mich auch per ICQ erreichen: 1028730, sowie mit Jabber/GoogleTalk/XMPP: lilalinux@jabber.net-lab.net
|
|
|
|