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

Danke für die Anleitung und die Infos, heute umgesetzt und mit ein paar Stolpersteinen direkt funktioniert.

Zu den Stolpersteinen:

- chan_datacard heisst nun chan_dongle
- /dev/ttyUSB2 (das höchste ttyUSB Device, welches vom Stick kommt) ist das Kommunikations Interface
- /dev/ttyUSB1 als Audio funktioniert
- SIM Karte muss von der PIN befreit sein (dazu am besten die Software vom Stick nutzen)
- Abfrage ob PIN Abfrage ein oder aus: AT+CPIN?
- Abfrage der Signalstärke: AT+CSQ
- Ändern der PIN Abfrage: AT+CLCK=SC,0,<PIN> (hat bei mir aber nicht funktioniert)

Vielleicht kann ich dem einen oder anderen etwas helfen.

Mein System: Debian 6, Asterisk 1.8.3.3, Vodafone K3520 Stick, Eine UltraSIM (als Nicht-SMS SIM von Vodafone).

Ich nutze den Stick nur um Gespräche abzusetzen (und damit meinen Asterisk von der Vodafone Flat Profitieren lassen), SMS absetzen geht so leider nicht, ankommende Gespräche behandel ich auch nicht, wäre aber möglich, man könnte zum Beispiel sein eigenes Voicemail System vom Asterisk nutzen.

DC Unlocker hat sich bei mir am WinPCAP gestört, den Stick aber trotzdem Voice-Enabled. Warum ich das erwähne? Ich möchte keinem Tool trauen, dass sich dagegen wehrt, dass man seinen Traffic mitschneidet.

AT+CSQ Ergebnisse:
Code:
[dongle0] 'AT+CSQ' Command queued for execute
 [dongle0] Got Response for user's command:'+CSQ: 18,99'
 [dongle0] Got Response for user's command:'OK'

Zur Bedeutung:
Code:
0 	-113dBm oder schlechter
1 	-111dBm
2...30 	-109dBm bis -53dBm
31 	-51dBm oder besser
99 	nicht lesbar / unbekannt / Kein Empfang
 
Zuletzt bearbeitet:
Ich habe die Lösung mit einem E180 Stick unter Asterisk 10 in Betrieb genommen. Funktioniert soweit einwandfrei.
Eine Frage: Hat es jemand geschafft bei abgehenden Gesprächen die Rufnummer zu unterdrücken? Die Variante mit #31#nummer scheint nicht zu funktionieren. Es kommt dann keine Verbindung zu Stande. Gibt es eine andere Möglichkeit?
 
Ich glaube dafür ist usecallingpres=no in der dongle.conf zuständig. Falls du es fallweise machen willst, dann weiß ich keine Lösung. Das geht aber bestimmt irgendwie.
 
Ich glaube dafür ist usecallingpres=no in der dongle.conf zuständig. Falls du es fallweise machen willst, dann weiß ich keine Lösung. Das geht aber bestimmt irgendwie.
Besten Dank für die Hilfe. Habe es nun wie folgt konfiguriert. Damit wird die Nummer unterdrückt:
usecallingpres=yes
callingpres=prohib
 
War die fallweise unterdrücung nicht *31# ???

soweit mir bekannt kommt es in situationen vor, wenn man das alleine wählt, dann wird es sogar in der Zentrale so umgestellt. und #31# heisst nummer senden.

*31# heisst nummer nicht senden. Dies ist mein persönlicher kenntnisstand! vielleicht können das auch andere bestätigen.

das soweit die theorie. was die provider im einzelfall dann zulassen ist wohl auch glück.
 
War die fallweise unterdrücung nicht *31# ???

soweit mir bekannt kommt es in situationen vor, wenn man das alleine wählt, dann wird es sogar in der Zentrale so umgestellt. und #31# heisst nummer senden.

*31# heisst nummer nicht senden. Dies ist mein persönlicher kenntnisstand! vielleicht können das auch andere bestätigen.

das soweit die theorie. was die provider im einzelfall dann zulassen ist wohl auch glück.

Wenn ich von meinem Mobile aus mit der gleichen SIM-Karte eine Nummer mit vorangestellten #31# wähle wird die Nummer korrekt unterdrückt. Ebenfalls wenn ich eine solche Nummer über ein GOIP-Device wähle (GSM-Gateway). Wenn ich allerdings über die Dongle-Lösung eine Nummer mit vorangestellten #31# wähle kommt der Spruch vom Provider, dass dies eine ungültige Nummer sei.
Meine Vermutung: Ich denke die #31# ist eine Anweisung für das Endgerät (Handy oder Dongle) dem Netz zu signalisieren die Nummer zu unterdrücken. Dies scheint aber der Huawei Dongle nicht zu machen, sondern er scheint die Nummer 1:1 weiter ans Netz zu geben, was dann aber für den Provider eine ungültige Nummer ist.
 
Hi,
ein Stolperstein bei einem Huawai E1550 ist zb, das man das package "usb-modeswitch" und "usb-modeswitch-data" installieren muss, sonst hat man keine ttyUSB* Zugangspunkte. Laden der entsprechenden Module siehe hier: https://wiki.archlinux.org/index.php/Huawei_E1550_3G_modem

weiterhin gint es wie im Post 1 beschrieben das Kommando "CLI> datacard show devices" nicht
Code:
Iconnect*CLI> datacard show devices
No such command 'datacard show devices' (type 'core show help datacard show' for other possible commands)
Iconnect*CLI>

Ebenfalls habe ich ttyUSB1 ttyUSB2 ttyUSB3
Welche davon muss ich nun in der dongle.conf verwenden? Was ist was?
 
Zuletzt bearbeitet:
HI, das wars, danke....

ich weiß nur noch nicht ob ich ein Problem mit dem einen "zuvieln" USB Device habe. Eventuell habe ich ein usb-modeswich zuviel ausgeführt? Wird das irgendwo gespeichert? ICh habe schon da Paket usb-modeswich de- und nochnmal neu installiert. TRrotzdem habe ich 3 Devices mit einem Stick.

Code:
root@Iconnect:~# ls -ail /dev/ttyUSB*
2351 crw-rw---- 1 root dialout 188, 0 Mar  1 18:28 /dev/ttyUSB0
2360 crw-rw---- 1 root dialout 188, 1 Mar  1 18:28 /dev/ttyUSB1
2339 crw-rw---- 1 root dialout 188, 2 Mar  1 18:30 /dev/ttyUSB2
root@Iconnect:~

Code:
usb_modeswitch --default-vendor 0x12d1 --default-product 0x1446        --message-content 55534243123456780000000000000011060000000000000000000000000000
usb_modeswitch --default-vendor 0x12d1 --default-product 0x1446  
/lib/udev/usb_modeswitch --vendor 0x12d1 --product 0x1446 --type option-zerocd
/lib/udev/usb_modeswitch --vendor 0x12d1 --product 0x1001 --type option-zerocd

Code:
root@Iconnect:~# lsusb
Bus 001 Device 003: ID 1307:0165 Transcend Information, Inc. 2GB/4GB Flash Drive
Bus 001 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Bus 001 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@Iconnect:~#
Ideen??
 
Zuletzt bearbeitet:
Du hast also drei Devices mit einem Stick. Das ist auch gut so! Genau so soll das sein.
So ein USB-Stick hat ein Devices für audio, eins für Diagnose und eins für seriell. Das passt schon so.
Dann trage alles in die dongle.conf so ein wie hier beschrieben und dann müsste das bei dir passen.
 
Danke, dann bin ich ja beruhigt..... :) Die dongle.conf habe ich erstmal auf default gelassen....
Code:
Iconnect*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number        
dongle0      0     Free       15   3    2       o2 - de        E1550      11.608.14.11.00   123456789012345  123456789012345  +4917xxxxxxxx
Iconnect*CLI>

Könntest du aber im POst 1 trotzdem noch drauf hinweisen, das usb-modeswitch installiert werden muss??
hier: https://wiki.archlinux.org/index.php/Huawei_E1550_3G_modem

Das aktuelle README iost im Post1 veraltet, hier ist das richtige:
http://asterisk-chan-dongle.googlecode.com/svn/trunk/README.txt
 
Zuletzt bearbeitet:
Noch eine Ergänzung für den ersten Post:

Die deutschen Sprachdateien im package "ast_prompts_de_v2_0.tar.gz" (http://www.ip-phone-forum.de/showthread.php?t=91217&p=500362#post500362) gibts nicht mehr, finde sie aber auch nirgends anders.... Hat sie jemand?

Weiterhin finde ich die erstmalige Einrichtung im Asterisk für einen blutigen Anfänger ziemlich schwierig, daher die grundlegenden Einstellungen.

sip.conf
Code:
[general]
port = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
disallow=all
allow=ulaw
allow=alaw
allow=gsm
context = sip-external ; Send unknown SIP callers to this context
callerid = Unknown
language=de

[100]
type=friend
username=100
secret=test
context=mytest
host=dynamic

dongle.conf-> den general-Teil kann man aus der Beispiel-dongle.conf benutzen
Code:
[dongle0]
audio=/dev/ttyUSB1              ; tty port for audio connection;        no default value
data=/dev/ttyUSB2               ; tty port for AT commands;             no default value
group=0
context=dongle0-incoming

extensions.conf
Code:
[mytest]
exten => 201,1,Answer()
exten => 201,2,Wait(2)
exten => 201,3,Playback(demo-echotest)
exten => 201,4,Echo()

exten => _X.,1,Dial(dongle/g0/${EXTEN})
exten => _X.,n,Hangup()

[dongle0-incoming]
exten => s,1,Dial(SIP/100)
exten => s,n,Hangup()

[general]
static = yes
writeprotect = no
clearglobalvars = yes

[default]

Jetzt muss man nur sein SIP Telefon einstellen, Username "100", passwort "test", ich habe es zb. in meiner Fritzbox als neue Internettelefonie eingestellt.
 
Stimmt, der Link auf die Readme.txt war veraltet. Habe ihn nun ersetzt.
Aber die extensions.conf und sip.conf im ersten Post zu schreiben ist meiner Meinung nach übertrieben.
Dieses Howto ist ja auch keinesfalls für jemanden gedacht, der noch nie was mit Asterisk zu tun hatte. Es ist eher für Leute gedacht, die wissen was Asterisk ist und wie man ihn bedient. Die deutschen Sprachdateien gibt es nicht mehr. Irgendwo in dien Tiefen des Internets sind die vielleicht drin. Meistens braucht man die aber eh nicht. Ich habe immer Sprachdateien benötigt, die es eh nirgends gibt. Also kann man sich eigene erstellen mit irgendwelchen TTS-Demos.
 
habe mich jetzt bzgl des UMTS-Stick Reconnects beschäftigt -> http://www.ip-phone-forum.de/showthread.php?t=207737&p=1603542&viewfull=1#post1603542
Mit dem aktuellen D-Link DUB-H7 von Amazon scheint es auch mit dem Proggi zu funktionieren. Kann man im Syslog nachvollziehen. Oder sieht jemand etwas anderes aus dem Log heraus? Diese MEldung "option: option_instat_callback: error -71" erscheint sobald ich das "Abschaltkommando" absetze,
Code:
Mar  5 20:08:34 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:34 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:34 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:35 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:35 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:35 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:35 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:35 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:36 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:36 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:36 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:36 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:36 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:37 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:37 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:37 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:37 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:37 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:38 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:38 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:38 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:38 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:38 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:38 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:39 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:39 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:39 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:39 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:39 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:40 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:40 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:40 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:40 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:40 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:41 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:41 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:41 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:41 Iconnect kernel: option: option_instat_callback: error -71
Mar  5 20:08:41 Iconnect kernel: usb 1-1.1.2: USB disconnect, address 11
Mar  5 20:08:41 Iconnect kernel: option: option_instat_callback: error -108
Mar  5 20:08:41 Iconnect kernel: option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
Mar  5 20:08:41 Iconnect kernel: option 1-1.1.2:1.0: device disconnected
Mar  5 20:08:41 Iconnect kernel: option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
Mar  5 20:08:41 Iconnect kernel: option 1-1.1.2:1.1: device disconnected
Mar  5 20:08:41 Iconnect kernel: option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
Mar  5 20:08:41 Iconnect kernel: option 1-1.1.2:1.2: device disconnected
Mar  5 20:08:42 Iconnect kernel: usb 1-1.1.2: new full speed USB device using orion-ehci and address 12
Mar  5 20:08:42 Iconnect kernel: usb 1-1.1.2: new high speed USB device using orion-ehci and address 13
Mar  5 20:08:42 Iconnect kernel: option 1-1.1.2:1.0: GSM modem (1-port) converter detected
Mar  5 20:08:42 Iconnect kernel: usb 1-1.1.2: GSM modem (1-port) converter now attached to ttyUSB0
Mar  5 20:08:42 Iconnect kernel: option 1-1.1.2:1.1: GSM modem (1-port) converter detected
Mar  5 20:08:42 Iconnect kernel: usb 1-1.1.2: GSM modem (1-port) converter now attached to ttyUSB1
Mar  5 20:08:42 Iconnect kernel: option 1-1.1.2:1.2: GSM modem (1-port) converter detected
Mar  5 20:08:42 Iconnect kernel: usb 1-1.1.2: GSM modem (1-port) converter now attached to ttyUSB2
Mar  5 20:08:42 Iconnect kernel: scsi23 : usb-storage 1-1.1.2:1.3
Mar  5 20:08:42 Iconnect kernel: scsi24 : usb-storage 1-1.1.2:1.4
Mar  5 20:08:43 Iconnect kernel: scsi 23:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Mar  5 20:08:43 Iconnect kernel: scsi 24:0:0:0: Direct-Access     HUAWEI   MMC Storage      2.31 PQ: 0 ANSI: 2
Mar  5 20:08:43 Iconnect kernel: sr0: scsi-1 drive
Mar  5 20:08:43 Iconnect kernel: sr 23:0:0:0: Attached scsi CD-ROM sr0
Mar  5 20:08:43 Iconnect kernel: sr 23:0:0:0: Attached scsi generic sg1 type 5
Mar  5 20:08:43 Iconnect kernel: sd 24:0:0:0: Attached scsi generic sg2 type 0
Mar  5 20:08:43 Iconnect kernel: sd 24:0:0:0: [sdb] Attached SCSI removable disk

Edit: Habe folgenden Hinweis gefunden, zero-cd auszuschalten
http://forum.ubuntuusers.de/post/2852543/

siehe auch hier
 
Zuletzt bearbeitet:
Ich hab alles gemacht wie beschrieben, aber bekomme ich folgendes:

[Mar 23 15:19:05] NOTICE[3910]: chan_sip.c:22622 handle_request_invite: Call from '100' (192.168.0.172:54214) to extension '+43664???37??' rejected because extension not found in context 'mytest'.
Bin ich totaler noob mit asterisk...wo liegt das Problem?
 
...ich habe die defaults mit hier geposteten von "donfaustino" alle überschrieben. Die sind dieselben wie oben gegeben. Jetzt brauche ich nur funktionaltät, Sicherheitsvorkehrungen sind nächstes. Ich muss sagen noch dass die Anleitung super ist, bedanke mich herzlichst dafür.
 
Hat hier schon jemand herausbekommen, wie man die eigene Telefonnummer dem dongle zuordnen kann? Ich habe schon per
Code:
dongle cmd 1und1 AT+CPBS=\"ON\"
dongle cmd 1und1 AT+CPBW=1,\"+49173123456\",145
versucht dies anzugeben, aber in der Ausgabe tut sich nix...
Code:
Iconnect*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number        
1und1        0     Free       12   0    0       1&1            E1550      11.608.14.11.00   xxxxxxxxxxxxxxx  xxxxxxxxxxxxxxx  Unknown       
Bik          1     Free       7    3    3       Telekom.de     E1550      11.609.18.00.00   xxxxxxxxxxxxxxx  xxxxxxxxxxxxxxx  +4917012345678 
LowCost      2     Free       12   3    3       EXPRESS MOBIL  E1550      11.609.18.00.00   xxxxxxxxxxxxxxx  xxxxxxxxxxxxxxx  Unknown
 
Zuletzt bearbeitet:
Spätestens nach einem System-reboot müsste sich was tun.
 

Neueste Beiträge

Statistik des Forums

Themen
244,872
Beiträge
2,219,913
Mitglieder
371,594
Neuestes Mitglied
AA-Idealbau
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.