[HowTo] Universalanleitung Plattformunabhängig 7390, 7270, 7170, ...

dougi

Neuer User
Mitglied seit
14 Nov 2006
Beiträge
116
Punkte für Reaktionen
0
Punkte
0
Hallo liebe Forengemeinde,

ich hatte ja meine Kurzanleitung in zwei Sätzen bereits gepostet.

Damit nicht das Rad wieder neu erfunden werden muss nun also doch ein wenig ausführlicher:

1. Freetz-trunk runterladen
2. Diesen Patch http://freetz.org/raw-attachment/ticket/706/asterisk_1.6.2.22_chan_capi_datacard_dongle_25.patch in das Verzeichnis freetz-trunk runterladen.
3. Den Patch auf den Trunk anwenden:
# Voraussetzung: Patch ist entpackt im Freetz-Ordner
# Einspielen mit
patch -p0 < asterisk_1.6.2.22_chan_capi_datacard_dongle_25.patch
4. Asterisk ist als Modul im Freetz-Menu verfügbar und kann dort inklusive Capi-Modul ausgewählt werden.
5. Im Freetz-Menu unter External die Asteriskmodule Config und Sounds auswählen
6. Image bauen und flashen
7. Ein Startscript anlegen, welches a. die notwendigen Verzeichniss anlegt und verlinkt und b. den Asterisk startet. Bei mir heißt die Datei asterisk.sh und liegt auch im external-Verzeichniss. Rote Pfade müssen angepasst werden:
#!/bin/sh
mkdir /var/run/asterisk
mkdir /var/mod/root/asterisk
mkdir /var/mod/root/asterisk/modules
mkdir /var/mod/root/asterisk/configs
mkdir /var/mod/root/asterisk/moh
mkdir /var/mod/root/asterisk/sounds
mkdir /var/mod/root/asterisk/sounds/de
mkdir /var/mod/root/asterisk/agi-bin
mkdir /var/mod/root/asterisk/cdr-csv
mkdir /var/mod/root/asterisk/firmware
mkdir /var/mod/root/asterisk/firmware/iax
ln -s /var/media/ftp/FRITZ/external/sounds/de/* /var/mod/root/asterisk/sounds/de/
ln -s /var/media/ftp/FRITZ/external/configs/* /var/mod/root/asterisk/configs/
ln -s /usr/lib/asterisk/modules/* /var/mod/root/asterisk/modules/
/usr/sbin/asterisk -C /var/media/ftp/FRITZ/external/configs/asterisk.conf
8. asterisk.sh ausführbar machen mit dem Befehl
chmod +x asterisk.sh
9. Das Startscript bei Boxstart ausführen lassen. Ich habe dazu zwei Zeilen im Freetz-Webinterface unter rc.custom eingefügt:
cd /var/media/ftp/FRITZ/external
./asterisk.sh
10. Et voila bei Boxstart sollte der Asterisk laufen und das mit den unter external ausgelagerten Configdateien.

Viele Grüße und viel Spass beim nachbauen.

Dougi

PS: Dieser Weg funktioniert unabhängig davon ob wir eine 7390, 7270 oder what ever haben, weil der Asterisk ja für die jeweilige Systemarchitektur eigens kompiliert wird.

English-Version (Thanks to rentier-s):
1. Download Freetz-trunk:
svn checkout http://svn.freetz.org/trunk freetz-trunk
2. Download the patch from http://freetz.org/raw-attachment/ticket/706/asterisk_1.6.2.22_chan_capi_datacard_dongle_25.patch to the freetz-trunk directory.
3. Applay the patch:
patch -p0 < asterisk_1.6.2.22_chan_capi_datacard_dongle_25.patch
4. Asterisk is now available as a modul in the Freetz build menu (i.e. make menuconfig), and can be selected the along with the Capi module.
5. Select the Asterisk modules "Config" and "Sounds" in the Freetz "External" menu.
6. Build and flash the image
7. Create a startup script (e.g. asterisk.sh), which will create and link all neccessary directories and startup Asterisk.
See http://www.ip-phone-forum.de/showthread.php?t=234930 for details, the red paths have to be changes according to the system.
8. Make the startup script executable:
chmod +x asterisk.sh
9. Have the startup script be executed on system boot, e.g. add it to Freetz's rc.external:
cd /var/media/ftp/FRITZ/external
./asterisk.sh
10. Now Asterisk should be started at boot time, using the configuration files placed in the external directory.
 
Zuletzt bearbeitet:
Hallo,

bis einschliesslich Punkt 6 konnte ich der Anleitung bestens folgen. Nur dann gehts los...

a. es werden 2 imagefiles erstellt, einmal das normale .image und dann noch ein .external, wie muss das .external eingespielt werden ?
b. die "asterisk.sh" wo und wie muss die abgelegt werden ?
c. auf was müssen die roten verzeichnisse angepasst werden ?
d. ist ein webinterface zur Konfiguration integriert ?

Gruss

Lars
 
a) unter Freetz-Weboberfläche: System/Firmware-Update/Externals-Datei hochladen

b) quasi egal, z.B. unter /var/media/FRITZ/external :)

c) an den Pfad, der zum Speicherort führt - das hängt davon ab, in welchen Ordner die External-Datei hochgeladen und entpackt wurde
bei o.a. Pfad wäre nur
ln -s /var/media/ftp/FRITZ/external/configs/* /var/mod/root/asterisk/configs/
/usr/sbin/asterisk -C /var/media/ftp/FRITZ/external/configs/asterisk.conf
falsch, es müsste heißen
ln -s /var/media/ftp/FRITZ/external/asterisk/* /var/mod/root/asterisk/configs/
/usr/sbin/asterisk -C /var/media/ftp/FRITZ/external/asterisk/asterisk.conf
da die Config-Dateien in der .external Datei im Verzeichnis asterisk und nicht config sind

d) nein

Wenn man die external drauf hat, sollte man noch eben telnet starten und sich in das Verzeichnis /var/media/ftp/FRITZ/external/ begeben und die Rechte zum Schreiben erlauben
Code:
   __  _   __  __ ___ __
  |__ |_) |__ |__  |   /
  |   |\  |__ |__  |  /_

   The fun has just begun ...


BusyBox v1.18.5 (2011-07-15 13:52:12 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@fritz:/var/mod/root# cd /var/media/ftp/FRITZ/external/
root@fritz:/var/media/ftp/FRITZ/external# chmod -R a+w *
root@fritz:/var/media/ftp/FRITZ/external#
Nun kann man (wenn unter Heimnetz/USB-Speicher/Speicher(NAS) aktiv ist), per \\fritz.box\FRITZ.NAS\FRITZ\external im Windows-Explorer auf die Configdateien und Sounds lesend und schreibend zugreifen. Man sollte natürlich vorher ein Kennwort setzen, denn sonst kann da ja jeder drin wuseln.

Als Editor geht auf keinen Fall Notepad, man braucht einen, der auch Unix-Codierung speichert, z.B. TextPad oder AEdiX. Sonst ist der Zeilenumbruch nicht korrekt formatiert und Batch und Configs arbeiten nicht.

Mit TextPad kann man auch die asterisk.sh anlegen (nicht vergessen, das Unix-Format beim Speichern zu wählen! Bei AEdiX muss das unter Tools/Configure Fileformat *nix eingestellt werden, bei TextPad beim Speichern statt DOS Unix auswählen)

Nun geht man wieder zu Telnet und macht die asterisk.sh ausführbar und sorgt dafür, dass es bei jedem Systemstart mit gestartet wird (wie im Eingangsthread beschrieben).

Ganz Pfiffige haben in freetz auch den Callmonitor installiert und einen Listener für
Code:
out:request ^ 0001 /var/media/ftp/FRITZ/external/asteriskrestart.sh
eingerichtet, wobei man natürlich das Skript asteriskrestart.sh noch im external-Ordner anlegen muß:
Code:
killall -9 asterisk
/usr/sbin/asterisk -C /var/media/ftp/FRITZ/external/asterisk/asterisk.conf
Gerade wenn man noch frisch an den Configs bastelt und als Windows-User nach der Basiseinrichtung nicht mehr unter telnet agieren möchte, ist es praktisch, wenn man mit einem an die FBF angeschlossenem Telefon durch Wahl von 0001 den Asterisk neu starten kann (hartes Beenden und neu starten)
Wenn alles stabil läuft, entfernt man den Listener wieder.

Es gibt im Netz übrigens durchaus noch Kopien der berühmten Sprachpromts der Stadt Pfortzheim, einfach mal nach "ast_prompts_de_v2_0.tar" googeln. Die Sounddateien kann man sich auch noch gleich ins Verzeichnis kopieren.

Besten Dank an dougi, der Thread hat mir sehr geholfen (ich bin das erste mal mit Asterisk@fbf unterwegs), hoffe, es stört Dich nicht, wenn ich hier die Punkte näher erläutere, wo es auch bei mir geharkt hat.
 
Zuletzt bearbeitet:
Hallo Andre,

das freut mich wenn mein Guide auch bei dir zum Erfolg geführt hat.
Die Frage nach den Erläuterungen würde ich gerne umkehren. Wenn es für dich in Ordnung ist würde ich die Ergänzungen in den Guide oben mit aufnehmen?

Viele Grüße,

Dougi
 
Klar, die Weiterverwendung ist ja Ziel eines Forums. Deshalb auch meine Signatur, dass ich es auch fürs Wiki erlaube.

Jetzt gehts: Die asterisk.conf enthält lauter Pfade, die ganz anders sind, als vorher mit asterisk.sh angelegt. Überhaupt sind alle .conf speziell für Gatewaynutzung angelegt.
Teilweise habe ich die Pfade in der asterisk.conf korrigien können, teilweise bin ich mir nicht sicher (aber grundsätzlich läufts). extension.conf und sip.conf habe ich nach dem Asterisk-Buch von Wintermeyer angelegt.

Ich habe im external-Verzeichnis noch die Unterordner log und astdb angelegt - da möchte ich auch einfach drauf zugreifen können.

Meine Pfade in der asterisk.conf sehen jetzt so aus: (ich habe auch modules auf extern, da kann ich unbenutzte einfach in ein Unterverzeichnis schieben zum Deaktivieren):

Code:
[directories]
astetcdir => /var/media/ftp/FRITZ/external/asterisk
astmoddir => /var/media/ftp/FRITZ/external/modules
astvarlibdir => /usr/lib/asterisk
astdbdir => /var/media/ftp/FRITZ/external/astdb
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/mod/root/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/media/ftp/FRITZ/external/log

Die ganzen mkdir im Startskript und die ln -s sollten eigentlich nicht erforderlich sein, wenn die asterisk.conf beim Start des Asterisk geladen wird - zumindest zum Teil. Denn die Definitionen der asterisk.conf haben ja Vorrang.

Was ich noch gemerkt habe, ist, dass ich bei meiner 7390 auch zweistellige Nummern registrieren kann, bei meiner Classic das aber schief ging. Ich habe jetzt also 4-stellige interne Nummern.

Meine sip.conf:
Code:
[general]
language=de
bindport = 5061
bindaddr = 0.0.0.0
context=sonstige

; 1. Analoge Nebenstelle auf der Fritzbox Classic
[2000]
host=dynamic
type=friend
secret=2000
context=meine-telefone

; 2. Analoge Nebenstelle auf der Fritzbox Classic
[2001]
host=dynamic
type=friend
secret=2001
context=meine-telefone

; 1. Analoge Nebestelle auf der Fritzbox 7390
[2002]
host=dynamic
type=friend
secret=2002
context=meine-telefone
Meine extensions.conf
Code:
[sonstige]

[meine-telefone]

exten => 2000,1,Dial(SIP/2000)
exten => 2001,1,Dial(SIP/2001)
exten => 2002,1,Dial(SIP/2002)
In den Fritzboxen habe ich die alte Classic mit
Anderer Anbieter
Internetrufnummer 2000
Benutzer 2000
Kennwort 2000
(x) Internetrufnummer für die Anmeldung verwenden
(für 2001 entsprechend)
registriert und fon1 auf eingehend/ausgehend nur 2000, fon2 2001 eingerichtet.
In der 7390 habe ich erstmal nur 2002 eingerichtet, als zusätzlich eingehende Nummer an fon1.
(Die 7390 ist meine Produktivbox, da soll die normale Telefonie erstmal ohne Asterisk laufen, bis ich so weit bin)

Damit gehts jetzt schon mal, ich kann mich jetzt an AB und "Apfelmus GmbH" wagen...
 
Zuletzt bearbeitet:
So, meine Beiträge sind abschließend (hoffe ich) editiert und haben bei mir zu einem brauchbaren System geführt.
Ich werde mich die nächsten Wochen mal mit der "Apfelmus GmbH" aus dem Buch von Wintermeyer auseinandersetzen. Wenn das vollständig läuft, werde ich mal eine Alternative zum http://freetz.org/raw-attachment/tic...1.6.2.15.patch entwerfen, der einem den Asterisk inklusive der passenden Konfigdateien und einem Startscript erzeugt, was die Einrichtung für einen Newbee wie mich, der erstmal Schritt für Schritt nach Handbuch Asterisk erlenen möchte, die ganzen Arbeiten der Installation noch weiter erleichtert.
Ich habe mir den patch schon mal angeschaut, sehr kompliziert dürften die Änderungen nicht werden.
Wenn das alles so klappt wie gewünscht, werde ich mich in den nächsten Monaten daran wagen, meine ganze Anlage auf Asterisk umzustellen. Ich habe noch einigere komplexere Anlagen bei Kollegen in Bearbeitung, wenn ich die auch auf Basis Asterisk hinbekomme, wäre das für die internen Rufnummernpläne eine echte Bereicherung.

So, leider ist der Erfolg dann doch sehr eingeschränkt. Die Pfade zu den Ansagetexten klappen nicht, es scheitert bei mir also schon am 2. Beispiel des Buches von Wintermeyer :-(
Insgesamt scheinen die Pfade so ein Problem zu sein...
Gut, ich könnte die Anrufe nach 20 Sekunden einfach an den AB der FBF weiterreichen - aber ob das der Weisheit letzter Schluß ist?
 
Zuletzt bearbeitet:
Ich bin einen riesen Schritt weiter...

Zunächst zu den Pfaden.:
- Man sollte wohl bei freetz bei den Einstellungen für external "keep subdirectorys" wählen, dann sieht man wenigstens, welche Pfade gemeint sind. Entsprechend sind die Pfade der asterisk.conf nur um den absoluten Pfad zu ergänzen.
- freetz schiebt die Sounds fälschlich in /usr/lib/asterisk/sounds statt in /var/lib/asterisk/sounds
Einfaches Verschieben der Dateien bringt einem der Lösung näher, aber...
Die Pfade in der Deutschen Sprachdatei sind falsch, d.h. die Ordner falsch sortiert. Z.B. sollte "de" nicht Unterverzeichnis von digits sein, sondern digits eins von de. Einfach dem Aufbau des Englischen Ordners folgen...
- Ich habe jetzt alles von Asterisk nach externals gelegt. Damit ich im Zweifel alles finde...
- Ein paar Ordner musste ich noch anlegen, das findet man bei Aufruf mit
Code:
/var/media/ftp/uStor01/external/usr/sbin/asterisk -vvvvc -C /var/media/ftp/uStor01/external/etc/asterisk/asterisk.conf
unter telnet aber anhand der warnings schnell raus. Warnings wie iax, vserver.ip usw. kann man vorerst ignorieren - da sind halt Werte in den Configs, die noch nicht angepasst sind, aber in den nächsten Schritten werden (wobei iax eher deaktiviert wird).

Was ich bemerkt habe - ich bräuchte eine Alternative zu Sendmail. Irgendwie muss man doch konfigurieren können, dass er nicht sendmail versucht, sondern ein Skript aufruft, dass den Push-Service der FBF nutzt. Sendmail wäre ja mit Kannonen auf Spatzen geschossen. Wieder ein neues Thema...
 
Zuletzt bearbeitet:
Nachdem ich mich vorgestern mit dem Thema der Pfade beschäftigt hatte (und fehlende einfach angelegt habe), war mein nächster Schritt, mich als absoluter newbee in der Bash Programmierung ein kleines Skript zu schreiben, das es mir ermöglicht, den Push-Service der FBF für AB-Mails zu nutzen. Meine Lösung ist damit notgedrungen etwas sehr quick&dirty (da er den Pfad der Aufzeichnung aus einem Pfad hohlt, in dem .../default/... enthalten ist, muss ich wohl damit rechnen, dass dies bei anderem Kontext nicht mehr so einfach ist).

Hintergrund: Ein AB mit Mailfunktion ist meiner Meinung nach essentielle Funktion einer modernen Telefonanlage. Sendmail ist aber nicht auf der FBF verfügbar. Ergo muss man die Mails irgendwie anders versenden - und für den Asterisk soll es genauso ablaufen, als würde sendmail aufgerufen.
Asterisk übergibt sendmail quasi eine fast fertige eMail, mit mime-kodierten Anhang. Leider kann man das nicht direkt an den FBF-Mailer weitergeben. Man muss alles wichtige draus extrahieren und dem Mailer passend übergeben.
Ich habe einfach den übergebenen pipe in eine temporäre Datei gecat, Zeile für Zeile ausgelesen - die relvanten Infos stehen ja immer an der gleichen Stelle. Den Pfad zur wav bekommt ma da nicht, da diese - wie gesagt - bereits in mime-codiert übergeben wurde. Nur den Dateinamen sieht man. Anhand der Nummer der Mailbox weis man dann beim default-Kontext auch den Pfad.
Nun muss nur noch ein Mailbody in eine temporäre Datei geschrieben werden und der FBF-Mailer mit den gefundenen Parametern aufgerufen - und voila, schon bekommt man die Mails von seinem Sternchen inklusive wav-Anhang.

Das Skript habe ich gleich mal hier:
mailsenden.sh
Code:
#!/bin/sh

#der Spoolpfad, in dem die wav-Dateien des AB abgelegt werden, basiert auf einem Basispfad,
#der internen Rufnummer, dem Unterverzeichnis INBOX. Dieses Skript geht momentan immer von
#"default" aus, hat man verschiedene AB-Kontexte, muss man sich was einfallen lassen

abSpoolpath1="/var/media/ftp/uStor01/external/var/spool/asterisk/voicemail/default/"
abSpoolpath2="/INBOX/"

# "unknown" sollte durch die passenden Deutschen Texte ersetzt werden
textreplace="ein namentlich nicht bekannter Anrufer"
namereplace="unbekannt"

# antike Technik - wir definieren einen Schleifenzähler
i=0

#Jetzt der Umweg über eine Textdatei - verwendet man eine Pipe, was unter Bash ja
#eher üblich wäre, hat man das Problem, dass man die Variablen der while do done - Schleife
#nicht in den globalen Kontext bekommt. Uneleganz, aber funktioniert, solange nicht mehrere
#Anrufer gleichzeitig das besprechen verschiedener Mailboxen im System beenden...

cat $1 > /var/media/ftp/uStor01/external/tmp.txt

#Nun die große Schleife, die den in tmp.txt gespeicherten Datenstrom für Sendmail Zeile für Zeile
#durchgeht. Quick&ganz ganz dirty: Es wird nach Zeilennummer entscheiden, was wo steht.
#Änderungen von voicemail.conf / updates von Asterisk können da Anpassungen erforderlich machen...

while read variable
do

#if/fi if/fi ... Nix gegen elif, wäre schneller, ich musste beim Basteln aber auch mal den ersten
#oder letzten Teil auskommentieren. Mit if/fi verennt man sich nicht so.

#Der Empfänger der Mail steht in der 3. Zeile (nummereiert beginnend mit 0), sb der 4. Stelle
if [ $i -eq 2 ]
 then
  abMailEmpfaenger=${variable:4}
fi

#Der Name des Angerufenen
if [ $i -eq 17 ]
 then
  abVMname=${variable:0}
fi

#Die Dauer des Anrufs (verwende ich nicht weiter)
#if [ $i -eq 18 ]
# then
#  abVMdur=${variable:0}
#fi

#Auch die Nummer des Eintrags in der Mailbox brauche ich nicht
#if [ $i -eq 19 ]
# then
#  abVMmsgnum=${variable:0}
#fi

#Auf welcher Nummer der Anruf eingeht, interessiert schon eher
if [ $i -eq 20 ]
 then
  abVMmailbox=${variable:0}
fi

#Erst recht, wessen Nummer das war ...
if [ $i -eq 21 ]
 then
  abVMcidnum=${variable:0}
    case "$abVMcidnum" in
    *unknown*) abVMcidnum=$namereplace ;;   # jetzt wirds Deutsch - weg mit "unknown"
  esac
fi

#... oder wie er gar heist
if [ $i -eq 22 ]
 then
  abVMcidname=${variable:0}
  case "$abVMcidname" in
    *unknown*) abVMcidname=$textreplace ;;
  esac
fi

#CallerID und die Nummer sind nicht immer gleich, aber meist
if [ $i -eq 23 ]
 then
  abVMcallerid=${variable:0}
fi

#Eigentlich wollte ich Datum und Uhrzeit auslesen - habe es mir dann anders überlegt.
#Da nehme ich lieber die Systemzeit, die kann ich europäisch formatieren

if [ $i -eq 24 ]
 then
  abVMdate=`date +%d.%m.%Y`
  abVMtime=`date +%H:%M`
fi

#Jetzt noch eben der Name der Sounddatei
if [ $i -eq 27 ]
 then
  abVMsound=${variable:33:11}
fi

#Die antike C64-Schleifentechnik, fehlt nur noch ein goto...
let i=$i+1

#Der Header des Sendmail-Inhalts kann unterschiedlich viele zeilen haben, je
#nachdem, ob der Anrufer erkannt wird oder nicht. Um über die Zeilennummer
#weiter auswerten zu können, setze ich diese auf 15, sobald nach
#Content-Transfer-Encoding: 8bit
#der eigentliche Mailbody beginnt. Quick und very dirty
  zeilentest=${variable:0}
    case "$zeilentest" in
    *8bit*) let i=15 ;;   # jetzt wirds Deutsch - weg mit "unknown"
  esac


#Naja, done ist das Gegenstück zu do. Hier wird auch die vorhin erzeugte Textdatei
#eingespeist.
done </var/media/ftp/uStor01/external/tmp.txt

#Nachdem wir alle relevanten Daten aus dem für sendmail gedachten Paket haben, gehts
#nun an das Basteln der Parameter für den FBF-Pushservice

#Zunächst Pfad+Dateiname zur wav, aus den am Anfang definierten teilpfaden, der Mailboxnummer und dem Namen der wav-Datei:
abSpoolpath="${abSpoolpath1}${abVMmailbox}${abSpoolpath2}${abVMsound}"

#Auch den Body der Mail müssen wir zur Übergabe an den Push-Dienst in eine Datei schreiben.
#Packen wir ihn doch zur Wav-Datei
abSpoolpathtxt="${abSpoolpath1}${abVMmailbox}${abSpoolpath2}${abVMsound}.txt"

#eventuell steht anstelle des Namens des Anrufers ebenfalls dessen Rufnummer
#das wäre unschön, wir wissen dadurch immer noch nicht seinen richtigen Namen
#also ersetzen wir den Namen in diesem Fall durch den Standardtext für namentlich nicht bekannte Anrufer.
  case "$abVMcidname" in
    "${abVMcidnum}") abVMcidname=$textreplace ;;
  esac

#Nun schreiben wir den Body rein:
echo "Moin ${abVMname}," > "${abSpoolpathtxt}"
echo "" >> "${abSpoolpathtxt}"
echo "${abVMcidname} hat am ${abVMdate} um ${abVMtime} vergeblich versucht, Dich auf der Nebenstelle ${abVMmailbox} zu erreichen." >> "${abSpoolpathtxt}"
echo "Seine Rufnummer ist ${abVMcidnum}." >> "${abSpoolpathtxt}"
echo "" >> "${abSpoolpathtxt}"
echo "Herzliche Grüße" >> "${abSpoolpathtxt}"
echo "" >> "${abSpoolpathtxt}"
echo "Dein Sternchen" >> "${abSpoolpathtxt}"
echo "(aka Asterisk auf Fritz!Box fon 7390)" >> "${abSpoolpathtxt}"

#Auf den ersten Blick das wichtigste kommt natürlich schon in den Betreff
VMMailbetreff="Anruf von ${abVMcidnum} am ${abVMdate} um ${abVMtime}"

#Jetzt wirds kniffelig. Die Empfängermailaddy hat um den richtigen Namen doppelte Anführungszeichen.
#Quick&Dirty gegen einfache getauscht.

mailarg1="${VMMailbetreff}"
mailarg2=`echo ${abMailEmpfaenger} | tr -- '"' "'"`
mailarg3="${abSpoolpath}"       # hier keine Extra Anführungstüddelchen
mailarg4="${abSpoolpathtxt}"    # hier auch nicht ...
#und raus geht die Mail...
mailer -s "${mailarg1}" -t "${mailarg2}" -d "${mailarg3}" -i "${mailarg4}"
Dazu muss die voicemail.conf natürlich passen:
Code:
[general]
format = wav
mailcmd=/var/media/ftp/uStor01/external/mailsenden.sh

emailsubject=Anruf
emailbody=\n${VM_NAME}\n${VM_DUR}\n${VM_MSGNUM}\n${VM_MAILBOX}\n${VM_CIDNUM}\n${VM_CIDNAME}\n${VM_CALLERID}\n${VM_DATE}\n
attach=yes

;Variables to use in emailsubject and emailbody
;VM_NAME
;VM_DUR
;VM_MSGNUM
;VM_MAILBOX
;VM_CIDNUM
;VM_CIDNAME
;VM_CALLERID
;VM_DATE

[default]
2000 => 2000,Andre,[email protected]
2001 => 2001,Andre,[email protected]
2002 => 2002,Andre,[email protected]
2003 => 2003,Andre,[email protected]
So sieht die eingehende Mail dann aus:

sternchenmail.jpg
 
Zuletzt bearbeitet:
Hab den Asterisk mit obiger Anleitung auf einer FBF 7270 v3 zum Laufen gebracht. Das Problem mit den Pfäden zu Sound-Files hab ich auch, mit absoluten Pfäden funktioniert es:
Code:
exten => 1001,1,Answer
exten => 1001,2,Playback(/var/media/ftp/uStor01/external/sounds/en/hello-world)
exten => 1001,4,Hangup()

Beim Einrichten einer Queue/Warteschlange hatte ich noch folgendes Problem:
Code:
pbx.c:3696 pbx_extension_helper: No application 'Queue' for extension (capi-in1, 123456, 2)

Ursache war das fehlende Modul "app_queue.so". Die Datei "app_queue.so" konnte ich aber im Freetz-trunk Verzeichnis finden:

Code:
find  ~/freetz-trunk -name "app_queue.so"
/home/freetz/freetz-trunk/source/target-mipsel_uClibc-0.9.31.1/asterisk-1.6.2.15/apps/app_queue.so

Ich hab dann alle Asterisk Module von "/usr/lib/asterisk/modules" in ein Verzeichnis auf den USB Stick kopiert (bei mir "/var/media/ftp/uStor01/modules") und die "app_queue.so" aus dem freetz-trunk Verzeichnis auch dahinkopiert.

Das "astmoddir" in der asterisk.conf angepasst.
Auszug aus meiner asterisk.conf:
Code:
[directories]
astetcdir => /var/media/ftp/uStor01/external/configs
astmoddir => /var/media/ftp/uStor01/modules
(...)

Die modules.conf um folgende Zeile ergänzt:
Code:
load => app_queue.so

Danach asterisk restart und die Warteschlangen/Queues funktionieren.

Wäre noch interessant wie man die app_queue.so gleich via freetz-asterisk-build mit in das Image bekommt. Aber da kenn ich mich leider zu wenig aus.

Gruß Ralf
 
Zuletzt bearbeitet:
Moin Ralf,
prima Einstieg ins Forum, besten Dank für die Infos. Das ist ein Lösungsansatz, der einem sicher bei einigen Problemen weiterhilft.

Noch ein Hinweis zum Speicherpfad:
Ich hatte eine kurze Stromunterbrechung. Danach waren einige Daten (diejenigen, die ich noch in Aedix offen hatte, aber auch neu angelegte Ordner und Inhalte) hin bzw. weg.
Die FBF scheint einiges, was sich auf dem internen Speicher tut, zu cachen.
Bei einem USB-Stick kann man das Speichern erzwingen - Auswerfen, danach abziehen und wieder einstecken (das geht nur, wenn man asterisk vorher beendet). Sinnvollerweise macht man das nachdem man wieder eine Session vor der FBF verbracht hat. Bei dem internen Speicher scheint es keine direkte Funktion aus dem Webinterface heraus zu geben, den Speicher zu beenden).
Aus Bequemlichkeit habe ich die external dann auf dem externen Speicher abgelegt (und bin dabei mir alles neu anzupassen). Nach meinen Änderungen den Stick abgemekldet, wieder eingesteckt, Box stromlos gemacht, neu gestartet - alles noch da.
 
Zuletzt bearbeitet:
Hab da mal kurz ne frage.

Funktioniert das auch alles genau so auf ner 7570 ?
da dies ne OEM Box ist und von AVM für verschiedene Anbieter gebaut wird, findet man nicht sehr viel darüber.

Danke im voraus
 
Sollte auch mit der 7570 gehen. Einfach ausprobieren und hier berichten ...
 
Hallo zusammen,

erstmal vielen Dank für die bisherigen beiträge. Auf meiner 7390 läuft jetzt der Asterisk. Die spannende Frage die sich mir aber stellt: angeblich wird ja auch die chan_capi mitinstalliert, damit ich auch vom Asterisk ins Festnetz komme via iSDN. Ich finde aber weder die capi.conf bei den conf-Dateien, noch wird mir via core show channeltypes CAPI angezeigt.

Hat da jemand eine Idee? Wenn das noch funktionieren würde wäre es perfekt.
 
Hallo zusammen,

ich versuche gerade meine 7170-Bastelbox mit Asterisk zu versorgen. Leider scheitere ich beim Image bauen. "Image too big".
Bei den Patches habe ich

Assisstenten,
Help-Files,
USB-Fernanschluss,
CAPI over TCP,
minid MT-D
mediasrv
dtrace,
AVM vpn,
UPNP daemon

schon zum Entfernen markiert. Es fehlen immer noch 872 kB :-(

Es soll eine reine Telefon-fbf werden. Also könnte ich notfalls auch auf WLAN verzichten.

Kann mir jemand einen oder mehrere noch den ultimativen Speicherfresser nennen, welcher man (für Telefonfunktion gefahrlos) entfernen kann?

Danke und Gruß
Claus
 
So weit so gut. Wie könnte man nun res_timing_timerfd.so kompilieren?
Ich antworte mir selbst: Es war genug in den Asterisk-Sourcen (.tar.gz) in der Datei "menuselect-tree" die Zeile "<depend>timerfd</depend>" durch "<defaultenabled>yes</defaultenabled>" zu ersetzen.
 
Zuletzt bearbeitet:
Hab den Asterisk mit obiger Anleitung auf einer FBF 7270 v3 zum Laufen gebracht. Das Problem mit den Pfäden zu Sound-Files hab ich auch, mit absoluten Pfäden funktioniert es:
Code:
exten => 1001,1,Answer
exten => 1001,2,Playback(/var/media/ftp/uStor01/external/sounds/en/hello-world)
exten => 1001,4,Hangup()

Gibt es dazu eigentlich schon eine etwas umfassendere Lösung? Weil Asterisk scheint überhaupt keine Soundfiles zu finden - damit ist eine Voicemailbox nicht zu gebrauchen :(

Nach langem durchhangeln durch Doku, config-files, source-code, bekomme ich einfach nicht raus, woran es liegt. Ich hab auch die Soundfiles schon an verschiedene Stellen kopiert ... nichts!

Wäre super, wenn da jemand eine Lösung parat hätte...
 
Wie Andre schon geschrieben hat, die Pfade in der asterisk.conf richtig eintragen. Und danach nicht vergessen das Template-Kommando (!) zu entfernen, sonst werden die Pfade nicht beachtet.

Zum Thema "falsche Sortierung" sei die Option languageprefix erwähnt.
 
Hallo rentier-s,

vielen Dank, machman sieht man echt den Wald vor lauter Bäume nicht mehr, dabei dachte ich echt, ich hätte das Post von Andre genau durchgearbeitet...

Also, nochmal langsam, für alle, die an der gleichen Stelle hängen sollten (das waren zumindest meine Probleme):

1.
freetz schiebt die Sounds fälschlich in /usr/lib/asterisk/sounds statt in /var/lib/asterisk/sounds

Ich habe einfach einen Link in /var/lib/ auf /usr/lib/asterisk eingefügt.​

2.
die Pfade in der asterisk.conf richtig eintragen.

Besonderes Augenmerk auf diese beiden hier richten!
Code:
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk

Also nochmal vielen Dank hier an alle! Endlich läuft der Asterisk auch bei mir!
 
rc.custom ist ggf. kein geeigneter Ort, um asterisk.sh zu starten !

Zumindest bei mir kam es vor, dass die Sachen aus /var/media/ftp/uStor01/external noch gar nicht da waren !

Und da ich ungern mit sleeps arbeite, habe ich den Aufruf einfach an die rc.external angehängt.
 
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.