[HowTo] Bezahlbares GSM-VoIP-Gateway auf Asterisk-Basis zum selber bauen

PsychoMantis

Aktives Mitglied
Mitglied seit
18 Dez 2005
Beiträge
2,539
Punkte für Reaktionen
10
Punkte
38
Habe mit Hilfe einiger Leute aus diesem + anderen Foren sowie einigen Internetseiten ein GSM-Gateway gebastelt und wollte dieses Wissen auch mit diesem Forum teilen.
1. Was braucht man? Nicht viel: Einen normalen Rechner oder Embedded-System mit wenigstens einem USB-Anschluss + Netzwerkkarte. Es dürfte ein System mit 200 MHz CPU, 32 MB RAM und 8 MB Hdd ausreichen.
Ich selbst habe ein ALIX 3d2-Board.
Es funzt aber auch (noch nicht optimal) mit dem Asterisk_on_FBF7270. Diskussionen. Fertiger Download. Test für jeden Laien.
Anmerkung: In den aktuellen Labor-Firmwares für neuere Fritzboxen ist eine ähnliche Funktion wie chan_dongle bereits dabei.

2. Einen (oder mehr) Huawei-UMTS-Stick. Es funktioniert mit vielen.
In der Bucht gibt es die gebraucht für 10-30 Euro. Erfolgreich getestet habe ich bisher den K3520, E1550, E176 und K3765 (nach einem Firmware-Update wird dieser als E1762 bezeichnet, dieses Firmware-Update kann ich jedoch nicht empfehlen).
Der Stick sollte unlocked sein und vor alllem muss voice aktiviert sein. Das kann man z.B. mit dem kostenlosen dc-unlocker prüfen.
Die neuste Firmware ist u.a. hier zu finden. Falls das Firmware-Update ein Password verlangen sollte, kann man es hier finden.

3. Software. Momentan benutze ich OpenWrt mit dem 2.6.39.4 Kernel und Asterisk 1.8.8.0 auf meinem ALIX-Board (≈ 5W Verbrauch).
Es geht aber mit fast jedem Linux.
Ich hatte mal testweise auf einer s100 Debian mit Asterisk installiert, was auch zu funktionieren schien.
Die UMTS-Sticks selbst fressen übrigens (meinen Messungen nach) auch nicht viel.
Für höhere Stabilität ist es sinnvoll die UMTS-Sticks ab und zu kurz abzuschalten. Noch wichtiger ist die richtige Stromversorgung.
Nach normaler Asterisk-Installation kann man chan_dongle kompilieren und installieren.

An der Stelle sei gesagt, dass ich für nichts (irgendwelche Schäden, Explosionen usw.) hafte. Diese Anleitung zeigt nur, wie das ganze bei mir funktioniert. Ich kann keine Garantie übernehmen, dass es bei jedem so funktioniert, wie hier beschrieben.
Auch möchte ich erwähnen, dass die meisten Mobilfunkprovider die Benutzung von GSM-Gateways nicht mögen und das in den AGBs untersagen. Um das zu umgehen könnte man die IMEI des UMTS-Sticks so ändern, dass der Stick aus der Sicht des Mobilfunkproviders wie ein normales Handy aussieht. Allerdings hörte ich, dass es illegal ist, und so werde ich hier nichts darüber öffentlich schreiben. Wer sein GSM-Gateway ganz normal für private Zwecke einsetzt und nicht gerade 10000 Minuten monatlich da durch jagt, der hat eigentlich auch nichts zu befürchten.

Bei mir funzt es jedenfalls wie beschrieben.
Code:
alix-router*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number
festnetz     4     Busy       31   3    2       1&1            K3765      11.126.03.07.00   358880123456789  262020123456789  +4915212345678
otwo         3     Free       31   3    3       o2 - de        E1550      11.608.14.15.311  351911123456789  262070123456789  +4917612345678
vodafone1    1     Free       31   3    2       Vodafone.de    K3765      11.126.03.06.00   353142123456789  262020123456789  +4917212345678
alix-router*CLI>

Man benutzt den neuen channnel wie im Readme beschrieben, also mit (extensions.conf)
Code:
exten => _0.,1,Dial(Dongle/umtssticknr1/${EXTEN})
Das Readme, sourcen, und datacard.conf des alten channeltreibers findet man alles im Trunk.
Ein gewisser bg1 aus diesem russischen Forum hat Makhutov's Version weiterentwickelt. Der Trunk ist hier zu finden.
Manchmal muss usb_modeswitch installiert werden und es ist übrigens völlig normal, dass es für ein Modem ein /dev/ttyUSB0, ttyUSB1 und ttyUSB2 gibt.

Ach ja, und zu Quali kann ich nur sagen, dass ich bisher keinen Unterschied zu normalen SIP-Providern feststellen konnte (die Quali ist also meiner Meinung nach sehr gut). Bezüglich der Problematik, woher Asterisk wissen soll, welche Nummer zu welchem Netz gehört: siehe hier.
 

Anhänge

  • Rev53-sourcen.zip
    49.8 KB · Aufrufe: 95
  • gsm-gateway.JPG
    gsm-gateway.JPG
    336.7 KB · Aufrufe: 860
  • openwrt-x86-alix3d2-squashfs.image.gz
    4.8 MB · Aufrufe: 89
  • Makefile_x86_OpenWrt.tgz
    1.1 KB · Aufrufe: 49
  • asterisk1.6.2.11_x86_+chan_datacard-rev167.ipk.tar
    1.9 MB · Aufrufe: 109
  • alix_asterisk_1.8.8.0.tgz
    3.4 MB · Aufrufe: 42
Zuletzt bearbeitet:
Ich bin gerade kurz durch das Russische Forum gegangen und habe gesehen das chan_sebi fuer asterisk 1.4 sein soll und chan_datacard für asterisk 1.6 ist das richtig?
Welche ASterisk version nutzt du?
 
Vielen Dank für das HowTo! Welches Gehäuse hast du denn deinem ALIX-Board spendiert?
 
Danke VoIP_Indianer für den hinweis aber ich wollte wissen welche Asterisk 1.6 version ergenau nutzt ...
Eine weitere Frage ist ist wie leuft es mit zwei oder mehr sticks.
Wenn du zwei sticks anschliest bekommst du dann nicht probleme mit den Einstellungen?

audio=/dev/ttyUSB1 ; tty port for audio connection
data=/dev/ttyUSB2 ; tty port for AT commands
Da diese sich ja nach einem neustart ändern können....
und woher weist du wo der audio und wo das data device ist.

Ist nach einem Gespräch die verbingung zum UMTS stick für kurze zeit unterbrochen?
[general]
interval=15 ; seconds between trying to connect to devices.


Letzte Frage ist wie Teuer war das Board wenn ich fragen darf? Ich habe nur ein Anbieter bei Ebay gefunden ...

Gruß Freddy
 
aber ich wollte wissen welche Asterisk 1.6 version ergenau nutzt

Deine Frage war für mich mehr nach "1.4 oder 1.6" zu interpretieren. Vor allem wegen Deines vorangehenden Satzes ;)

Letzte Frage ist wie Teuer war das Board wenn ich fragen darf? Ich habe nur ein Anbieter bei Ebay gefunden

Wenn Du dem angegebenen Link zum Board folgst, findest Du auf der Webseite unter "Shop" die Distributorenliste, sortiert nach Ländern.
 
aber ich wollte wissen welche Asterisk 1.6 version er genau nutzt ...
Ich nutze Asterisk 1.6.2.0. Habe das im ersten Post ergänzt.
wie leuft es mit zwei oder mehr sticks.
Wenn du zwei sticks anschliest bekommst du dann nicht probleme mit den Einstellungen? Da diese sich ja nach einem neustart ändern können....
Das ist richtig, die können sich ändern. Momentan kann man es mit den udev-rules lösen. Jedoch ist gerade jemand aus diesem Forum dran, den sourcecode so zu ändern, dass das alles automatisch erkannt wird. Ich selbst benutze momentan nur einen UMTS-Stick, weil ich (noch) über nur eine SIM-Karte verfüge - daher habe ich keine Probleme.
audio=/dev/ttyUSB1 ; tty port for audio connection
data=/dev/ttyUSB2 ; tty port for AT commands

und woher weist du wo der audio und wo das data device ist?
Weiß ich nicht. Ich habe es bei mir in /etc/asterisk/datacard.conf festgelegt und seit dem läufts bestens.
Ist nach einem Gespräch die verbingung zum UMTS stick für kurze zeit unterbrochen?
Hmm....Weiß ich nicht. Bisher habe ich davon noch nichts mitbekommen. Falls man den Stick mal rausholt, sieht man in der Astierks-CLI Meldungen, dass versucht wird, den Stick zu finden. Die besagten Meldungen habe ich nach einem Gespräch noch nicht gesehen.
NACHTRAG: Unter OpenWRT habe ich das paar mal gesehen, dass die Verbindung zum UMTS-Stick nach dem Gespräch kurz verloren geht. Nach paar Sekunden ist die Verbindung jedoch wieder hergestellt.
wie Teuer war das Board wenn ich fragen darf?
Ich habe es bei diesem Händler für genau 100,90 ¤ (mit Versand) geholt.

Welches Gehäuse hast du denn deinem ALIX-Board spendiert?
Das war eins für´s ALIX 3d1.
 
Zuletzt bearbeitet:
Geht das auch mit einer Fritzbox? (Evtl. mit einer Fritzbox mit Debian?)
---Edit---
Ja.
 
Zuletzt bearbeitet:
Schlecht wäre es natürlich nicht.
Aber ich weiß es nicht. Noch habe ich es nicht probiert.
Wer Asterisk auf der FBF am Laufen hat: Gibt es devices wie /dev/ttyUSB0, /dev/ttyUSB1 und /dev/ttyUSB2, wenn man einen K3520 in den USB-Port steckt??? Bitte ausprobieren und hier posten. Sollten diese drei Sachen existieren, vermute ich, dass man chan_datacard auch für Asterisk_on_FBF kompilieren könnte.

EDIT: Ich würde sagen, meine Frage ist beantwortet. Wenn man dieses Howto mit diesem kombiniert, müsste man es theoretisch auch auf der FBF hinbekommen.
 
Zuletzt bearbeitet:
Du schreibst das du jetzt openwrt auf deinem System drauf hast.
Wie hast du es Compeliert bekommen?
Ich bin auch dabei, bekomme es aber nicht hin.
weder chan_sebi noch chan_datacard
 
Ich habs auch ewig nicht kompiliert bekommen. Aber dank einem User aus diesem Forum, der das Makefile etwas modifiziert hat, kann man es kompilieren. Ich habe es im ersten Post als Anhang hinzugefügt.
 
Zuletzt bearbeitet:
falls es probleme beim laden gibt.

kommentiert mal die zeile
ASTERISK_FILE_VERSION(__FILE__, " ... ;

aus.

ich hab ewig doku durchgerackert, aber nichts dazu gefunden.
es funktiioniert ohne die versions angabe, aber mit bei mir nicht unter uclibc.

vielleicht hat einer ja ne idee:)
edit:
einschränkung dadurch nur, dass "file list
version" nicht mehr funktioniert.
angeblich kommt das wohl dazu, wenn man irgendwelche teile nicht gegen die aktuellen libs gelinked hat.
könnte also sein, dass das nur bei mir kommt und ich mal den trunk komplett cleanen sollte;)
bin an erfahrungsberichten interessiert...

grüße
 
Zuletzt bearbeitet:
Hi!

Gerüchten zu Folge soll die Voice Funktionalität im E169 von der FW Version abhängig sein. Kannst du die Version auf deinem Stick mal auslesen?

schufti
 
Meinst du das, was im ersten Post steht?
Code:
voyage*CLI> datacard show devices
ID              Group  Connected State Voice SMS   RSSI  Mode  Submode Provider Name   Manufacturer Model      Firmware          IMEI
vodafone        1      Yes       Free  Yes   Yes   21    0     0       Vodafone.de     huawei       K3520      11.314.21.31.00   35343xxxxxxxxxx
voyage*CLI>

Du hast zwar Recht. Gerüchten zufolge ist die voice-Funktionalität firmwareabhängig. Aber laut dem im ersten Post erwähnten russischen Forum, lässt sich die Voice-Funktionalität mit bestimmten AT-Kommandos aktivieren.
Falls jemand also mal so ein UMTS-Stick erwischt, wo "datacard show devices" sagt "Voice: No", dann mal hier posten. Versuchen wir´s dann alle gemeinsam zu aktivieren.
 
Hi!

ja, danke. Bin wohl auf den Augen gesessen. Aber der Hinweis kann auch anderen helfen.

Na dann werde ich mich mal auf die Jagd nach 'nem E169G machen. Nur sooo billig seh' ich die in der Bucht auch nicht, haste Glück gehabt.

schufti

P.S.: ja, als K3520 sind sie deutlich günstiger .... deine FW ist ja sogar non-branded (.00 oder .03)
ob das -HV bei manchen Bezeichnungen was zu sagen hat?
 
Zuletzt bearbeitet:
Hi!

Also mit einem E169G geht es definitiv nicht ... und nach Recherchen im Netz dürfte es auch keine AT Codes geben, die daran etwas ändern --> kommt wieder in die Bucht ...

ev ist das hier aufschlußreich.

schufti

P.S.: vermutlich sind die Anhänge "V" zw. "HV" als "voice" zu deuten (siehe die deutschen Vodafon).
zumindest die bei "3" erhältlichen E169(G) dürften allesammt nicht voice kompatibel sein.
 
Zuletzt bearbeitet:
Also auf der Seite von chan_datacard im Readme steht:
This channel driver should work with the folowing UMTS cards:
* Huawei K3715
* Huawei E169 / K3520

This channel is known NOT to work with the folowing UMTS cards:
* Huawei E160 / K3565

Before using the channel driver make sure to:
* Disable call waiting on your SIM card
* Disable PIN code on your SIM card
Aber dennoch kann keiner eine Garantie dafür übernehmen, dass es funktioniert. Mit meinen 2 K3520, die ich in ebay ersteigert habe, funktioniert es.
 
Hat jemand von Euch Asterisk auf einer Dreambox 8000 zu laufen. Ist es möglich, den USB-Stick dann als GSM-Gateway einzubinden.
Das Ganze hätte den Vorteil, dass keine zusätzliche Hardware notwendig währe.
Die Dreambox (Festplatten-Receiver auf Linux-Basis) läuft sowieso 24 Stunden am Tag.
 
Müsste eigentlich funktionieren. Asterisk kompilieren, dann chan_datacard. Ist da /dev/ttyUSB0 usw. drauf, wenn man den UMTS-Stick reinsteckt?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.