Hallo zusammen Kennt sich hier jemand mit der Konfiguration von Asterisk aus? Zunächst, ja, ich hab auch schon in einigen Onlineforenthreads gelesen, das Anrufe mit Asterisk über Faxmodem "nicht gehen", mir geht es darum das trotzdem zu tun. Das Endziel ist Voip anrufe mit Asterisk über das Modem zu leiten und umgekehrt. Ich hab mir dieses USB Modem besorgt: https://www.usr.com/products/56k-dialup-modem/usr5637/ Das manuell Anrufe initiieren und abnehmen mit AT befehlen geht hab ich schon verifiziert. Auch das das Audiodaten sendet & empfangen nach V.253 funktioniert hab ich schon getestet, das geht, hab mir so schon mal einen Song auf das Handy gestreamt (Obwohl, es nutzt die laut V.253 Herstellerspezifischen nummern für die Audioformate statt die nummern für die identischen Formate die im Standard schon da gewesen wären.) Ideal wäre es, wenn Asterisk das selbst schon könnte, aber ich glaube das ist dort noch nicht implementiert. Als alternative, ich kann ein altes Projekt von mir (https://github.com/Daniel-Abrecht/alsa_pcm_tty) (das ich ursprünglich für was anderes angefangen habe aber dann überflüssig wurde) leicht anpassen, damit ich das tty/modem als normales alsa Audiogerät verwenden kann. Asterisk hat ein modul für alsa. Damit bliebe dann nur noch die Konfiguration von Asterisks alsa Modul, und das initiieren und abnehmen der Anrufe. Damit zum Hauptproblem, wie kann ich Asterisk so konfigurieren, dass es Anrufe bei einem Modem initiieren und abnehmen kann. Alternativ, wenn ich bei voip aufrufen ein Skript dafür aus Asterisk starten könnte und umgekehrt, bei modem anrufen mit einem Script Asterisk einen Anruf starten lassen könnte, würde das auch gehen. An Asterisk Code selbst rumzuhäcken würde ich gerne vermeiden, eigentlich hätte ich für all das nämlich gar keine zeit.
Daniel A. schrieb: > Kennt sich hier jemand mit der Konfiguration von Asterisk aus? Habe seit ein paar Wochen nun ein Asterisk am Laufen und inzwischen auch schon einiges an Konfigurationsexperimenten gemacht. Aktuell kämpfe ich darum, einen ankommenden Anruf auf mehrere lokale Teilnehmer parallel zu verteilen, von denen allerdings einzelne nicht immer registriert sind (Softphone auf Handy, nicht immer in Reichweite), andere wiederum mehrfach registriert sein können (sodass man PJSIP_DIAL_CONTACTS() benutzen muss). Aber das ist 'ne andere Baustelle. > Das Endziel ist Voip anrufe mit Asterisk über das Modem zu leiten und > umgekehrt. Mir ist die Funktion des Modems in deinem Setup nicht so ganz klar. Willst du lediglich auf der lokalen Maschine außer dem Asterisk auch noch Anrufe tätigen können? Wenn dem so ist, was spricht dagegen, einfach noch ein Softphone mit laufen zu lassen? Das tut doch exakt das, was du willst (zumindest habe ich dich so verstanden).
Jörg W. schrieb: > Mir ist die Funktion des Modems in deinem Setup nicht so ganz klar. > Willst du lediglich auf der lokalen Maschine außer dem Asterisk auch > noch Anrufe tätigen können? Wenn dem so ist, was spricht dagegen, > einfach noch ein Softphone mit laufen zu lassen? Das tut doch exakt das, > was du willst (zumindest habe ich dich so verstanden). Ich hab auf dem Dachboden ein Kabelmodem, einen Server und eine Telefonbasisstation stehen. Momentan ist an dem Kabelmodem der Server (für Internet, routing, firewall, mail, etc.) und die Telefonbasisstation angeschlossen. Statt oder ergänzend zum dem Telefon schliesse ich jetzt mein USB Modem ans Kabelmodem an. Ich will auf den anderen PCs im Netzwerk einen SIP Client Installieren, die sich mit Asterisk Verbinden. Wenn von aussen übers Festnetz ein Anruf kommt, den bei den SIP Clients am PC entgegennehmen können, und wenn ich beim SIP Client einen Anruf mache, soll das wieder übers Festnetz gehen. Wie ein normales Telefon eben. Asterisk soll also quasi als Bridge zwischen Festnetz <-> SIP Client fungieren.
DPA schrieb: > Asterisk soll also quasi als Bridge zwischen Festnetz <-> SIP Client > fungieren. OK, also das, was man sonst mit einer analogen Telefon-Steckkarte machen würde? Dafür habe ich auch erstmal keine rechte Idee. Da die üblichen Fritzboxen analoge Telefone betreiben können, sollte dort eigentlich die nötige Hardware enthalten sein … Da einen ja die Telcos mittlerweile mit native VoIP bedrängen, was spräche dagegen, das direkt zu benutzen statt des Umwegs über POTS?
Jörg W. schrieb: > Dafür habe ich auch erstmal keine rechte Idee. Da die üblichen > Fritzboxen analoge Telefone betreiben können, sollte dort eigentlich die > nötige Hardware enthalten sein … Das Modem, das ich momentan habe, kam von meinem ISP. Ich weis nicht, ob dieser andere Modems akzeptieren würde. > Da einen ja die Telcos mittlerweile mit native VoIP bedrängen, was > spräche dagegen, das direkt zu benutzen statt des Umwegs über POTS? An dem Modem ist nun mal ein Telefonanschluss. Wie man darüber Anrufe tätigt ist mir klar, wie ich das VoIP von meinem Anbieter verwenden kann, hingegen nicht. Angeblich verwendet mein ISP (QuickLine) VoiP (https://www.quickline.ch/telefonie/festnetz/analogabschaltung/), aber abgesehen von der Seite finde ich dazu nicht viel. Nirgens der geringste Hinweis, wie man einen eigenen SIP Client mit Quickline verwenden könnte. Wenn das irgendwie ginge, wär das natürlich ideal. Aber man braucht doch sicher Server und Zugangsdaten von Quickline, um das zu nutzen, aber die kann ich nirgends finden. Ich könnte versuchen, den QuickLine Support zu kontaktieren, aber das endet normalerweise nur damit, dass sie mir einen teuren business Vertrag andrehen wollen...
Edit: Ich habe gerade das ding hier gefunden: https://www.swyx.com/products/support/knowledge-base/article-details/swyxknowledge/kb5224.html In der config datei dort steht: sip.public.qlbvoice.ch. Whois von qlbvoice.ch zeigt, dass die Domain quickline gehört. Wenn ich zuhause bin, probier ich mal ein paar Sachen aus, ob ich darüber irgendwie Anrufe tätigen kann. Falls das geht, kann ich mir ja vielleicht sogar die ganze USB-Modem Geschichte sparen.
Ah ja: "Aktuell können keine SIP-Zugangsdaten zur Verfügung gestellt werden. Für diese Funktionen benötigen Sie ein Quickline Business Phone Abo." Cr*p. Zwar wird SIP in aller Regel unverschlüsselt übertragen, die Authentisierung erfolgt aber dennoch üblicherweise mit einem Challenge/Response-Verfahren, sodass man die Zugangsdaten nicht ersniffen kann. Blöd.
Ok, das war wohl nichts, zurück zum alten Plan... (Verfluchte QuickLine, bevor sie die Intergga infiltrierten und der Improware was Signal abschalteten war alles besser...) Das gute daran ist aber, das ich jetzt keine löcher in meine NAT/Firewall bohren muss und mir die Probleme dafür erstmal erspart bleiben.
DPA schrieb: > Das gute daran ist aber, das ich jetzt keine löcher in meine > NAT/Firewall bohren muss und mir die Probleme dafür erstmal erspart > bleiben. Viel "Loch" braucht man dafür allerdings auch nicht – die Verbindungen werden üblicherweise von Teilnehmer zur Zentrale aufgebaut. Das klappt in der Regel sogar dann, wenn es keine wirkliche Verbindung ist (SIP via UDP), sofern das NAT die Pakete der Zentrale lange genug als Antwortpakete ansieht auf die ausgehenden SIP-Pakete in Richtung Zentrale. Auf diese Weise kann die Zentrale dann problemlos einen ankommenden Anruf signalisieren, woraufhin es wiederum der Teilnehmer ist, der die RTP-Verbindung eröffnet. Interessant klingt die Aufgabe, aber ich fürchte, viel Vorgefertigtes wirst du nicht finden. Die, die sonst POTS-Telefone an Asterisk anschließen, werden wohl in aller Regel fertige ab-Module benutzen, wie sie Digium & Co. anbieten.
Jörg W. schrieb: > Die, die sonst POTS-Telefone an Asterisk > anschließen, werden wohl in aller Regel fertige ab-Module benutzen, wie > sie Digium & Co. anbieten. Die andere gängige Alternative sind POTS-Steckkarten für den DAHDI-Treiber. Z.B. sowas hier: https://www.aliexpress.com/item/32816162884.html
Gerd E. schrieb: > Die andere gängige Alternative sind POTS-Steckkarten für den > DAHDI-Treiber. Leider ist der Krams nicht ganz billig, nichtmal bei Ali.
Jörg W. schrieb: > Leider ist der Krams nicht ganz billig, nichtmal bei Ali. Soo teuer finde ich das jetzt eigentlich nicht. Die Alternative für den TO dürfte sein, per JTAG die Config des Kabelrouters auszulesen. Wie gut das geht hängt natürlich von dem konkreten Modell und der Erfahrung des TO mit dieser Materie ab. Bin ich froh daß in D der Routerzwang verboten wurde...
:
Bearbeitet durch User
@Daniel A. Ich hatte ähnliches vor musste das "Projekt" aber aus Zeitmangel einstellen. Ich habe das hier verwendet: https://github.com/proquar/asterisk-Softmodem Ich bin aus dem ganzen allerdings nicht wirklich schlau geworden Bzw. hatte Probleme mit meinem Modem. @alle Für die Lantiq SLIC 1XX Chips welche zum Bsp in der Easybox-802, 803 und 904xDSL sowie O2Box-6431 verbaut sind, gibt es opensource Treiber und ein Asterisk-Channel-Lantiq module. Das ganze läuft bei mir ganz gut mit Openwrt und Asterisk. Das Problem in dem Fall von @DPA ist das min. ein FXS und FXO port benötigt wird. Eventuell käme da der Router Speedport W921v in Frage, problem hier es muss noch Entwiklungsarbeit betrieben werden und dann ist nicht ganz klar ob sich der FXO port unterstützen lässt. Der Router war bereits in 15.05 enthalten wurde dann aber aus irgend einem Grund nicht weiter entwickelt. Ich persöhnlich würde aber die Finger von irgendwelchen Asterisk spielereien an dem SIP-Account meines Providers lassen. So eine Asterisk-Telefonanlage hat man auch mal schnell so missconfiguriert das Fremde über die Anlage telefonieren können, aus diesem Grund empfehle ich da sowieso mehrere prepaid SIP-Accounts bei anderen Anbietern. Schliesslich soll man ja seinen Provider nicht dazu zwingen Geld zu verdienen.
EherNicht schrieb: > @alle > Für die Lantiq SLIC 1XX Chips welche zum Bsp in der Easybox-802, 803 und > 904xDSL sowie O2Box-6431 verbaut sind, gibt es opensource Treiber und > ein Asterisk-Channel-Lantiq module. > Das ganze läuft bei mir ganz gut mit Openwrt und Asterisk. Der TO hat ja aber ein "Kabelmodem" was für mich nach Koax klingt.
Der TO hat ein analoges 56k-Modem, wie er an das Internet anbunden ist weis man nicht. @DPA hat ein Kabelmodem, (eher ein Router ?). Man kann man ein Telefonrouter auch als ATA einsetzen bzw. das was @DPA vorhat (Telefon-bridge) funktioniert nur eventuell mit zusätzlicher Entwicklungsarbeit mit Openwrt.
DPA, daniel-a und der TO sind die selbe Person. Ich kann mich leider nicht von überall einloggen, ich weiss das Passwort nicht auswendig.
OK ich glaube ich habe dich Falsch verstanden du willst das analoge Modem als FXO nutzen: Asterisk Server mit USB -> USB - analoges Modem - Tel -> FXS-port des Kabelmodems richtig ? Ich weis das es für einige UMTS-Sticks sowas gibt (solche mit AT commandos und Sprachunterstützung), nennt sich asterisk-chan-dongle https://github.com/wdoekes/asterisk-chan-dongle.git Zwar funktioniert das ganze nur mit einigen UMTS-Sticks da diese aber genauso AT Kommandos nutzen funktioniert dass ja vieleicht.
EherNicht schrieb: > OK ich glaube ich habe dich Falsch verstanden du willst das analoge > Modem als FXO nutzen: > Asterisk Server mit USB -> USB - analoges Modem - Tel -> FXS-port des > Kabelmodems > richtig ? Ja, genau. EherNicht schrieb: > Ich weis das es für einige UMTS-Sticks sowas gibt (solche mit AT > commandos und Sprachunterstützung), > nennt sich asterisk-chan-dongle > https://github.com/wdoekes/asterisk-chan-dongle.git > Zwar funktioniert das ganze nur mit einigen UMTS-Sticks da diese aber > genauso AT Kommandos nutzen funktioniert dass ja vieleicht. Das erwartet ein TTY für AT Befehle und ein TTY für raw sound. Ich hab nur 1 TTY für beides, bei dem ich mit AT+VTR auf audio umschalten kann, und mit '\x10\x03' wieder auf AT Befehle. Ich hab also 3 Dinge, die ich versuchen könnte: 1) chan-dongle anpassen 2) 2 PTS erstellen, eins für sound und eins für AT befehle, und das IO dann nach kleineren anpassungen in das echte tty weiterleiten (vermutlich nicht gut für latency) 3) Audio von chan_dongle nach /dev/null leiten, und bei Anrufen zusätzlich mit chan_alsa ausgeben, vergleichbar wie in 2), aber mit meinem eigenen ioplug alsa plugin für audio statt einem pts. Ich denke ich versuche erstmal option 3 & 2.
Ok, Audio vom PC über asterisk zu Phone geht schonmal, umgekehrt noch nicht, und Asterisk den Anruf tätigen lassen auch noch nicht. Ich hab jetzt mal etwas v253 Support zu meinem alsa_pcm_tty Projekt hinzugefügt, aber es ist ein ziemlicher Hack und architektonisch nicht ideal, eigentlich sollte ich das als line discipline im Linux Kernel implementieren. Zum testen hab ich jetzt mal folgendes gemacht: In modules.conf die Zeile "noload => chan_alsa.so" durch "load => chan_alsa.so" ersetzt. In extensions.conf zum Testen:
1 | [general] |
2 | static=yes |
3 | writeprotect=yes |
4 | |
5 | [default] |
6 | |
7 | [from-internal] |
8 | exten => 1001,1,NoOp() |
9 | same => n,Answer() |
10 | same => n,Dial(CONSOLE/ALSA) |
11 | same => n,Hangup |
alsa.conf
1 | [general] |
2 | autoanswer=yes |
3 | context=local |
4 | extension=alsa |
5 | language=de |
6 | input_device=ttyACM0 |
7 | output_device=ttyACM0 |
8 | noaudiocapture=false |
In /etc/asound.conf:
1 | pcm.!default { |
2 | type plug |
3 | slave { |
4 | pcm "ttyACM0" |
5 | } |
6 | } |
7 | |
8 | pcm.ttyACM0 { |
9 | type "plug" |
10 | slave.pcm "rate-ttyACM0" |
11 | hint { |
12 | description "The modem" |
13 | } |
14 | } |
15 | |
16 | pcm.rate-ttyACM0 { |
17 | type rate |
18 | slave { |
19 | pcm "plug:tty-ttyACM0" |
20 | rate 8000 |
21 | } |
22 | converter "samplerate" |
23 | } |
24 | |
25 | pcm.tty-ttyACM0 { |
26 | type tty |
27 | device "/dev/ttyACM0" |
28 | mode v253 |
29 | baudrate 9600 |
30 | samplerate 8000 |
31 | format u8 |
32 | } |
Die libasound_module_pcm_tty.so aus meinem alsa_pcm_tty Projekt hab ich nach /usr/lib/x86_64-linux-gnu/alsa-lib/ Kopiert. Und ein init script das den v253_splitter_daemon aus meinem alsa_pcm_tty Projekt started: (Das Programm erstellt ein pts Device mit dem selben Namen wie das echte tty und :AT angehängt, wen man darüber AT befehle absetzt, fügt es vor ATD noch ein AT+FCLASS=8 ein, stellt bei AT+VTR eingaben ab und signalisiert dem alsa plugin dass es jetzt die Musikdaten schreiben kann, und stellt bei ATH wieder zurück.) /etc/init.d/v253-ttyACM0
1 | #!/bin/sh
|
2 | |
3 | ### BEGIN INIT INFO
|
4 | # Provides: v253-ttyACM0
|
5 | # Required-Start: $local_fs
|
6 | # Required-Stop: $local_fs
|
7 | # Default-Start: 2 3 4 5
|
8 | # Default-Stop: 0 1 6
|
9 | # Short-Description: v253 modem tty splitter
|
10 | # Description: v253 modem tty splitter
|
11 | ### END INIT INFO
|
12 | |
13 | PATH="$PATH:/usr/local/bin" |
14 | |
15 | case $1 in |
16 | start|restart) |
17 | kill $(cat /run/v253.pid 2>/dev/null) 2>/dev/null |
18 | v253_splitter_daemon /dev/ttyACM0 'AT+VSM=128,8000,0,0' & PID=$! |
19 | echo $PID >/run/v253.pid |
20 | chown asterisk: /dev/ttyACM0 /dev/ttyACM0:AT
|
21 | sleep 0.1
|
22 | ;;
|
23 | stop) kill $(cat /run/v253.pid 2>/dev/null) 2>/dev/null ;; |
24 | status)
|
25 | if kill -0 $(cat /run/v253.pid 2>/dev/null) 2>/dev/null |
26 | then echo Running; exit 0 |
27 | else echo Not running; exit 1 |
28 | fi
|
29 | ;;
|
30 | *) exit 1 ;; |
31 | esac
|
32 | |
33 | exit 0
|
Und dann noch im init script von asterisk eine dependency hinzugefügt. ------------ Das ganze ist alles andere als andere als Ideal, aber es geht so halbwegs. chan_dongle hab ich noch nicht ausprobiert, das ist in meiner Distro nicht dabei. Ich leg das Projekt Erstmal beiseite, und schaue mir das eventuell später nochmal an.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.