dtmfbox (AB/CB/CT VoIP/ISDN/Analog)

ist da die "kompatibilität besser"?

etwas ot, aber trotzdem:

Ich brauchte einen besseren dns-server. Deshalb hatte ich mit dem ds-mod angefangen. Und dann kam immer mal ein Paket dazu.
Die alien firmware hat den Vorteil, dass von AVM öfters mal eine neue Firmware ausgeliefert wird. Bei der T-Com dauert das ja immer.
Aber einen Vergleich zu sp2fritz kann ich mangels Erfahrungen nicht ziehen. Muss wohl Geschmackssache sein.

have fun
jampr
 
Hi Flo,

schön das du dich meldest und auch direkt unter die Arme greifen kannst. Freut mich immer wieder, wenn du Zeit findest :) - Danke auch fürs Kompliment.

Also es scheint so, als hätten wir zwei Situationen mit dem Speedport:

1. Mit Sound aber ohne eSpeak:
Ich habe mal die Zeile rm "$FILE" 2>/dev/null rausgenommen und die Datei, die überbleibt, ist leer.
Ist das eine Datei oder eine Pipe? Schau dir mal die Dateiattribute an. Die Datei sollte auch immer 0 bytes haben. Um ein Problem mit dem Skript auszuschließen, könntest du das eSpeak auch manuell von der Konsole ausführen:
Code:
./busybox-tools mkfifo /var/tmp/espeak.fifo
wget -q "http://www.v3v.de/speak.php?speech=Das%20ist%20ein%20test.&speed=170&pitch=50&volume=100lang=de%2Bm3&quality=polyphase&tar=0" -q -O - > /var/tmp/espeak.fifo &
./dtmfbox X -play /var/tmp/espeak.fifo mode=stream hz=8000 bufsize=8000 wait_start=350 wait_end=25 >/dev/null
rm /var/tmp/espeak.fifo
X ersetzen durch die Con-ID. Da Sound funktioniert, müsste es irgendwo hier haken. Entweder liegt ein Problem mit der Pipe vor oder 'wget' ist zu langsam... meine Vermutung.

2. Ohne Sound und ohne eSpeak:
waren die play_ids nicht mal positive Zahlen??
Bei den Mixer-Logzeilen sind die Zahlen positiv. Bei den Script-Logzeile wird die play_id falsch angezeigt. Muss ich fixen.

Code:
 23:43:05.900   conference.c Port 3 (tone port [0]) transmitting to port 2 (capi port [0])
 23:43:05.900 script_funcs.c [0] (SCRIPT) - playing generated tones... (freq1: 400, freq2: 400, msec on: 250, msec off: 2000, volume: 32767)
 23:43:06.010   conference.c Port 3 (tone port [0]) stop transmitting to port 2 (capi port [0])
 23:43:06.010   conference.c Port 3 (tone port [0]) transmitting to port 2 (capi port [0])
 23:43:06.011 script_funcs.c [0] (SCRIPT) - playing generated tones... (freq1: 800, freq2: 800, msec on: 250, msec off: 2000, volume: 32767)
 23:43:07.150   conference.c Port 3 (tone port [0]) stop transmittin
Das sieht so aus, als hättest du espeak aus. Der Ton-Generator springt an.
Das bringt mich nun auf die Idee, in der nächsten Version zwei Logs anzulegen (script.log und dtmfbox.log).

Leider bringt das nun auch nicht viel, da ja so oder so nichts zu hören ist :(
Nimm bitte mal Ctrl. 5 raus. Da gibt es einen Bug in action_ctrl5.sh. Kann jetzt nicht genau sagen, ob es damit irgendwas zu tun hat.

Bei dem SIP-Registrar Log sehe ich, dass ein Request auf Port 5060 statt findet. Der Default-Port ist 5061. Bei X-Lite gebe ich den Port ebenfalls direkt an.

Mhh.. könnt ihr beide die Ausgabe von 'ls -la /lib/libcapi20.so*' posten?
Eventuell zwei unterschiedliche libcapi-Versionen??
 
Um ein Problem mit dem Skript auszuschließen, könntest du das eSpeak auch manuell von der Konsole ausführen:
Code:
./busybox-tools mkfifo /var/tmp/espeak.fifo
wget -q "http://www.v3v.de/speak.php?speech=Das%20ist%20ein%20test.&speed=170&pitch=50&volume=100lang=de%2Bm3&quality=polyphase&tar=0" -q -O - > /var/tmp/espeak.fifo &
./dtmfbox X -play /var/tmp/espeak.fifo mode=stream hz=8000 bufsize=8000 wait_start=350 wait_end=25 >/dev/null
rm /var/tmp/espeak.fifo

Stimmt. Ich konnte aber trotzdem nix hören.
Ich habe das Script für mich jetzt so angepasst:
Code:
######### WEBSTREAM ESPEAK (8 khz) #########
if [ "$ESPEAK_INSTALLED" = "0" ];
then
    TEXT=`echo "$TEXT" | sed "s/ /%20/g"` 
    wget -q "http://www.v3v.de/speak.php?speech=$TEXT&speed=$ESPEAK_SPEED&pitch=$ESPEAK_PITCH&volume=$ESPEAK_VOLUME&lang=$ESPEAK_LANG%2B$ESPEAK_TYPE&quality=polyphase&tar=0" -q -O - > "$FILE" 
     
    $DTMFBOX $SRC_ID -play "$FILE" mode=stream hz=8000 bufsize=8000 wait_start=350 wait_end=25 >/dev/null
    sleep 2
    rm "$FILE" 2>/dev/null
fi

Also ohne Pipe. Die Ansage kommt teilweise erst 20-30 Sekunden nach dem Wählen.

Und ich habe noch etwas festgestellt. Mal läuft play ins leere und ich muss R und zurück drücken und mal nicht. Obwohl ich die 601 als msn eingetragen habe. Wie kann ich das noch verhindern?
Könnte die dtmfbox nicht den telefon komplett ersetzen?

Mhh.. könnt ihr beide die Ausgabe von 'ls -la /lib/libcapi20.so*' posten?
Eventuell zwei unterschiedliche libcapi-Versionen??

Hier die Ausgabe:

Code:
lrwxrwxrwx    1 root     root           18 Aug 26 13:33 /lib/libcapi20.so -> libcapi20.so.3.0.4
lrwxrwxrwx    1 root     root           18 Aug 26 13:33 /lib/libcapi20.so.3 -> libcapi20.so.3.0.4
-rwxr-xr-x    1 root     root        22244 Aug 26 12:20 /lib/libcapi20.so.3.0.4
 
Hallo,

nachdem ich nun schon seit einer Stunde die Suchfunktion erfolglos gequält habe muß ich nun doch fragen:

Habe dtmfbox aus Freetz 1.0 erfolgreich in Betrieb genommen und nutze vor allem Callback. Wenn ich nun den Rückruf von dtmfbox bekomme möchte ich manchmal einfach eine ISDN-Nebenstelle anrufen. Im Moment wähle ich dann immer einfach die Telefonnummer und baue damit einfach ein VOIP-Gespräch auf, allerdings wäre es eleganter, wenn man einfach per Kurzwahl eine Nebenstelle aus dem Menü anwählen könnte.

Gibt es hierfür eine Lösung?

Vielen Dank!

Miwu
 
@jampr:
Die Pipe ist dazu da, dass keine Verzögerung auftritt. Wenn du sie abschaltest, wird der ganze Stream downgeloaded und abgespielt. Das dauert natürlich und braucht mehr Speicher. Mit Pipe wäre es besser. Warum das nun bei dir nicht funktioniert, ist mir schleierhaft. Gehen Pipes generell nicht? :
Code:
mkfifo /var/tmp/myfifo
echo "Hallo" > /var/tmp/myfifo &
cat /var/tmp/myfifo
Das müsste Hallo ausgeben.

jampr schrieb:
Und ich habe noch etwas festgestellt. Mal läuft play ins leere und ich muss R und zurück drücken und mal nicht. Obwohl ich die 601 als msn eingetragen habe. Wie kann ich das noch verhindern?
AVM-WebIf -> Telefoniegeräte -> Reiter: "Festnetz" -> ISDN-Rufnummer 600 eintragen
Als DDI die **##600 nehmen. Dann wird auf jedenfall intern gewählt (durch **##). Schau mal bitte, ob das hilft.

jampr schrieb:
Könnte die dtmfbox nicht den telefon komplett ersetzen?
Ohne telefon kann man nur die TEs erreichen. Also die Telefone selbst. All das, was vom NTBA kommt, wird nicht mehr signalisiert. Auf CAPI Ebene würde der interne S0 funktionieren, der externe S0 aber nicht.
Wenn ich das richtige verstehe, müsste man die dtmfbox im NT-Modus betreiben. Dann könnte man den telefon abschalten.

Zur libcapi20:
Meine: 24776 bytes (original FW)
Jampr: 22244 bytes (Freetz-Alien FW)
Flo: 37448 bytes (Sp2Fritz FW)

@miwu:
Das sollte gehen, wenn du 0# beim Callthrough als Account wählst (interne Wahl). Da einfach die MSN des Telefons angeben...
 
@bodega:

Danke, das probiere ich gleich am Montag aus.

Vielen Dank!

Miwu
 
hab jetzt einen zweiten W900V mit freetz alien firmware. libcapi hat die gleiche größe wie bei jampr, und SIP register geht auch... alles wie bei jampr

hab mittlerweile die 0.5.0-beta1 mit dem buildroot des freetz mod 1.0 neu kompiliert, sollte im prinzip nichts anderes sein, als das original von marco, aber vielleicht bringt es ja bei irgendwem was.. kannst leider grad nicht testen, weil ich dazu erst ein isdn tel an die zweite box anschließen muss...

was mir grad so einfällt.... die libcapi20 muss auf dem W900V anders sein, schließlich gibt es dort ja noch den DECT Teil....

@bodega: du hast mal gemeint, bei mir würden pakete an port 5060 gehen, das war aber der client der an 5060 pakete angenommen hat. die requests an die box sind an 5061 gegangen, sonst wären sie ja im dtmfbox log nicht drin

Kann ich eigentlich deine libcapi statt der auf der box verwenden? mit LD_LIBRARY_PATH="." ? Weisst du wie ich sehe, welche er lädt?

EDIT: Interessant wäre noch ein "ls -l /lib/libuC*" von einer 7170.
Beim W900V mit sp2fritz siehts so aus:
-rwxr-xr-x 1 root root 379460 May 22 2007 libuClibc-0.9.28.so
und beim alien HW freetz:
-rwxr-xr-x 1 root root 421580 Jun 8 2008 /lib/libuClibc-0.9.28.so

Was mir auch noch aufgefallen ist, mit alien freetz startet die dtmfbox VIEL schneller, also initialisieren der rtp ports vor allem
 

Anhänge

  • dtmfbox.gz
    608.5 KB · Aufrufe: 6
neustes update: mit original dtmfbox 0.5.0-beta1 binary geht auf dem W900V mit alien freetz, espeak ohne probleme... aber nur wenn ich als interne kurzwahl *999 einstelle. Unter 600, 601 usw. geht es nicht, auch wenn die nummer im avm webif eingetragen sind.
warum, keine ahnung...

auf dem sp2fritz w900v ist nach wie vor nichts zu hören, egal mit welcher libcapi kompiliert.

sip register geht bei beiden nicht... ebenfalls keine ahnung warum.
Code:
 23:12:12.420  voip_events.c RX-REQUEST 464 bytes Request msg REGISTER/cseq=3 (rdata0x5283c4) from UDP 192.168.0.12:5060
 23:12:12.421  voip_events.c RX-SIP:

REGISTER sip:w900v2 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.12:5060;branch=z9hG4bK00035398a177dd11b1c6001a9238d71b;rport
From: "Phoner" <sip:test@w900v2>;tag=4146125655
To: <sip:test@w900v2>
Call-ID: [email protected]
CSeq: 3 REGISTER
Contact: <sip:[email protected]:5060>
Allow: INVITE, OPTIONS, ACK, BYE, CANCEL, INFO, NOTIFY, MESSAGE, UPDATE
Max-Forwards: 70
User-Agent: SIPPER for phoner
Expires: 900
Content-Length: 0



 23:12:12.423    voip_auth.c Request authorization challenge (realm: w900v2)...
hier nochmal das log... das ist alles, ein reply auf den request scheint nicht zu folgen. auth-realm w900v2 ist auch eingestellt... keine ahnung...
 
Hi.

Ich guck mir das heute Abend mal mit Phoner an. Auf 600-609 ist glaube ich der interne AVM-AB, oder? Zumindest schaltet mein Telefon auf 'intern' um, wenn ich ein ** eintippe.

Meine uClibc:
Code:
-rwxrwxrwx    1 root     root       306824 Dec 18  2007 /lib/libuClibc-0.9.28.so
 
Flash "wählen" über analogen Anschluss zur Telefonanlage der FB

Hallo Bodega (und Liste),

erst Mal vielen Dank für die dtmfbox.
Beim mir läuft sie auf einer 7170, die am S0-Bus hängt.

Gleichzeitig hängt die Box über die analoge Leitung als "Telefon" an einer
uralten Eumex Telefonanlage.

Die analoge Wahl via DTMF klappt schon (über Controller 4) aber:

Ich sollte einen Flash (also die R-Taste eines Telefons) wählen können und hab keine Ahnung, wie das gehen könnte.:confused:
Weiß jemand mehr?

Vielen Dank,
schöne Grüße
 
Hi.
Ich guck mir das heute Abend mal mit Phoner an.
Also Phoner lief auf einer 7170 mit anmelden problemlos, nur auf keinem der W900Vs hab ichs hinbekommen.

Auf 600-609 ist glaube ich der interne AVM-AB, oder? Zumindest schaltet mein Telefon auf 'intern' um, wenn ich ein ** eintippe.
Ja, **600 ist der interne AB, ich habe jedoch immer nur genau das am internen tel eingeben müssen was ich auch als kurzwahl im config file eingestellt habe, also wenn dort 600 steht, dann gebe ich 600 ein... wenn ich dort *999 eingebe, dann reicht *999, usw.

Meine uClibc:
Code:
-rwxrwxrwx    1 root     root       306824 Dec 18  2007 /lib/libuClibc-0.9.28.so
Interessant, auf meiner alten 7170 ist die genauso groß wie auf dem sp2fritz W900V, wie ich dir schon geschrieben hatte. Versionen sind überall identisch.
 
Hallo!

Na dann werd ich mich mal mit der dtmf-box etwas genauer beschäftigen...macht ja nen recht guten Eindruck!

Hab die Beta gestern auf ein aktuelles Devel gepackt und die Pfadangaben auf mein CIFS welches gemountet ist. Bis dahin scheint wohl alles zu funktionieren.
Aber und das ist mein Problem, leider nur rein von der Oberfläche her.

Ich hab einen Account eingerichtet die 4 für Analog zugewiesen und aktiv gemacht. Also im Grunde so wie in er der Hilfe.

Jetzt hab ich mich mit dem Handy angerufen...aber die Box ging nicht ran.
Hab halt sicherheitshalber nur auf sofort gestellt..änderte aber nichts.

Den AB der FritzBox selber also das Teil von AVM ist aus...eine Rufumleitung gibt es nicht. Wenn ich diese Einrichte, meint die Box das kein AB aktiv ist....stimmt ja auch :) Zumindest von Seiten AVM...

So was mach ich also falsch, dass die DTMF-Box das Gespräch nicht entgegen nimmt?

Der Tom
 
wowowowowowow :groesste:

das hört sich ja richtig fett an!


gibts auch ne möglichkeit den usb stick am rechner zu bespielen und dann einfach die fritzbox neustarten?


edit: ach ja , gilt der AB und die aufnahme auch für festnetz-telefonate oder nur voip?
 
So, wenngleich ich auf mein letztes Posting keine Antwort bekam, so möchte ich doch noch mal einen Versuch starten.

Ich habe die Box jetzt am laufen und versuche mich mit der Scriptgeschichte. Im Augenblick hänge ich bei der ESPEAK-Sache und würde gern Installationsfehler ausschließen.

Ich kann also mittels

"dtmfbox 0 -hook up" die Verbindung bei einem Anruf herstellen
mit "dtmfbox 0 -dtmf 0" höhre ich auch den Pipton...soweit auch alles OK

Aber dtmfbox 0 -speak "Tom" will nicht....

Jetzt frage ich mich ob ich denn espeak richtig eingerichtet habe?!
Ich hab es also beim compilern ausgewählt und sonst nichts weiter an der config von dtmfbox geändert. Unter Programme und Pfade kann man ja angeben wo sich espeak befinden soll...standart ist da wohl "/var/dtmfbox/extras", aber da ist nichst....
Was mach ich also Falsch?

Vielen Dank für Eure Hilfe...

Der Tom
 
So letzter Versuch...

Scheint ja keiner hier zu lesen oder zu antworten...

Ich würd gern wissen, wo beim compilern "espeak" hingeschrieben wird.
Denn unter "/var/dtmfbox/extras" ist halt nichts zu finden.

Also da es ja zu diesem Thema kein HowTo gibt und hier wohl keiner Interesse zeigt, muss ich mir wohl eine andere Lösung ausdenken.
Schade....

Der Tom
 
Hallo Tommyland78,

nicht gleich so ungeduldig ;)

espeak muss nicht unbedingt einkompiliert sein. Man kann auch die Webstream-Variante im Webinterface einstellen (Scripteinstellungen / Text2Speech / Espeak Modus = Webstream). Es wird dabei das Skript "espeak.sh" aufgerufen.

Um Skriptausgaben zu sehen, muss man die dtmfbox im Vordergrund starten:
Code:
./rc.dtmfbox stop
./rc.dtmfbox foreground

Das kann nützlich sein, wenn du espeak.sh mit 'echo' debuggen möchtest.
 
Mhhh toll!

Das hat ja erst mal weiter geholfen. Ich hatte wget rausgenommen, da ich dies an anderer Stelle mit einem statischen Aufruf im cifs mache....

Na zumindest konnte sich auf diesem Weg das File nicht runtergeladen werden, was dann mittels espeak vorgespielt werden soll....zumindest bei der Web-Variante.

Ich hab jetzt wget wieder eingebaut und dtmfbox 0 -speak "Tom" geht jetzt.

Allerdings habe ich festgestellt, dass manchmal nur ein superlautes "kreischen" ankommt. Woran könnte das liegen? Gibt es dafür einen speziellen Grund?

Noch eine Frage: Wenn ich nicht möchte das der AB rann geht...
also dtmfbox-Skript, dann kann ich doch mein eigenes Script basteln...

Also mit "nimm ab" mach dann dies mach dann das.
Gibt es da ein Script was ich mir ansehen kann um im Grunde die Einstellungen mit der Zeit....spezieller Anrufer oder unbekannter Anrufer und so weiter ansehen kann?

Der Tom
 
Tommyland78 schrieb:
Allerdings habe ich festgestellt, dass manchmal nur ein superlautes "kreischen" ankommt. Woran könnte das liegen? Gibt es dafür einen speziellen Grund?
Kein Grund, der mit jetzt bekannt wäre. :confused:

Tommyland78 schrieb:
Noch eine Frage: Wenn ich nicht möchte das der AB rann geht...
also dtmfbox-Skript, dann kann ich doch mein eigenes Script basteln...

Also mit "nimm ab" mach dann dies mach dann das.
Gibt es da ein Script was ich mir ansehen kann um im Grunde die Einstellungen mit der Zeit....spezieller Anrufer oder unbekannter Anrufer und so weiter ansehen kann?
Klar kannst du das. Die Einstellungen stehen in script.cfg. Diese kannst du um neue Einstellungen erweitern, welche man auch im Webinterface anzeigen lassen kann. Jedes Skript bindet diese Datei ein und kann auf die Variablen zugreifen.

Der Anrufbeantworter und das Callback/Callthrough werden durch Aktionen aufgerufen (Menü bearbeiten -> Text-Editor Link). Der Anrufbeantworter ruft z.B. das Skript action_am.sh auf, bei einem eingehenden Anruf.

Hier habe ich vorhin auch mal ein kleines Anti-Callcenter Skript geposted. Vielleicht hilft das etwas.
 
Ah ja....da hab ich mal vor einiger Zeit drüber gelesen. Stimmt...das hilft mir schon weiter!
Daraus kann man ja mal was basteln...mal sehen wie ich mich da anstelle.

Das mit der Scriptschreiberrei ist aber nichts für Anfänger...ist halt schon etwas schwieriger...Ich schreibe gerade in Excel ein riesen vba-script und werd da schon immer blöde im kopf...aber das hier ist dann doch noch etwas einfacher :)

Das führt mich zu der Überlegung die ganze script-sache grafisch darstellen zu können....aber ich kann leider nur das vbs-zeug aus word und excel....aber mal ne überlegung wert....allerdings könnte man sowas auch im internet selbst als grafik anbieten...ist am ende wohl leichter...na nur so ne idee....

Also ich kann, um nochmal eine Frage los zu werden, die scripte auch auf ein cifs packen statt direkt in der box oder? Sollte doch keine Probleme machen oder ?

Der Tom
 
Du müsstest nur den USB-Pfad auf den CIFS-Mount festlegen. Das dürfte kein Problem sein.
VBA-Skripte könnte man mit der Win32-Version der dtmfbox ausführen - da fehlt jedoch das WebIf ;).
 
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.