.titleBar { margin-bottom: 5px!important; }

Probleme mit Playback()

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von sellfisch, 21 Okt. 2008.

  1. sellfisch

    sellfisch Neuer User

    Registriert seit:
    11 Jan. 2008
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Fachinformatiker Systemintegration
    Ort:
    Hannover
    Bin mit meinem Latein am Ende. Versuche gerade eine Ansage der aktuellen Fussballergebnisse zu basteln. Ein shellscript ließt die Ergebnisse aus einer Webseite aus und schreibt vier Dateien in den /tmp Ordner (kann man bestimmt besser lösen, bin offen für Vorschläge).
    /tmp/fp_v1 = name des ersten Vereins
    /tmp/fp_v2 = name des zweiten Vereins
    /tmp/fp_e1 = Tore des ersten Vereins
    /tmp/fp_e2 = Tore des zweiten Vereins

    /usr/fussball/fussball.sh:
    Code:
    #!/bin/bash
    if [ -z $1 ];then
      wget http://[FUSSBALLSEITE] -O /tmp/fp_erg.txt
    else
      string=`head /tmp/fp_erg.txt -n $1 | tail -1`
      IFS="|"
      part=($string)
      echo $string
      echo ${part[0]} > /tmp/fp_v1.txt
      echo ${part[1]} > /tmp/fp_v2.txt
      echo ${part[2]} > /tmp/fp_e1.txt
      echo ${part[3]} > /tmp/fp_e2.txt
    fi
    #eintrag in log
    echo "ausgefuehrt mit $1" >> /tmp/fp_log.txt
    exit 0
    
    Ergebniss der Fussballseite (also dann /tmp/fp_erg.txt):
    Code:
    bochum|gladbach|2|2
    bremen|dortmund|3|3
    wolfsburg|bielefeld|4|1
    hannover|hoffenheim|2|5
    frankfurt|leverkusen|0|2
    berlin|stuttgart|2|1
    karlsruhe|bayern|0|1
    koeln|cottbus|1|0
    hamburg|schalke|1|1
    
    extensions.conf:
    Code:
    exten => 1001,1,Answer();
    exten => 1001,n,Playback("fp_willkommen");
    exten => 1001,n,System(sh /usr/fussball/fussball.sh 2)
    exten => 1001,n,Readfile(v1=/tmp/fp_v1.txt,100)
    exten => 1001,n,Readfile(v2=/tmp/fp_v2.txt,100)
    exten => 1001,n,Readfile(e1=/tmp/fp_e1.txt,100)
    exten => 1001,n,Readfile(e2=/tmp/fp_e2.txt,100)
    exten => 1001,n,Playback('fp_bielefeld')
    exten => 1001,n,Playback(fp_gegen)
    exten => 1001,n,Playback(fp_${v2})
    exten => 1001,n,Playback(fp_${e1})
    exten => 1001,n,Playback(fp_zu)
    exten => 1001,n,Playback(fp_${e2})
    
    Zunächst wird die Willkommensnachricht "fp_willkommen" abgespielt, dann der Script aufgerufen (die 2 gibt die Spielnummer an) wollte das später mal in eine schleife packen. Der Shellscript erzeugt dann die tmp dateien die ich mit Readfile auslese. Dannach soll er das Ergebniss ansagen (die entsprechenden Dateien liegen schon im Soundordner.

    Soviel zur Theorie:
    Problem:
    Wenn ich das so ausführe, spielt er die Namen der Vereine nicht ab, obwohl die Dateien existieren. Ich habe zum Testen, in der Extentions.conf den soundfile fp_bielefeld direkt eingegeben (wie man oben sehen kann) und das ganze mit dem Spiel getestet wo bielefeld die zweite Manschaft ist. Das manuell eingegebene spielt er ab, beim vom Script kommenden gibt es eine Fehlermeldung:
    Code:
    
    [Oct 21 17:36:11] WARNING[28466]: app_readfile.c:94 readfile_exec: /tmp/fp_e2.txt is longer than 100, and 2
        -- Executing [1001@amt:7] Playback("SIP/1001-08194980", "fp_bielefeld") in new stack
        -- <SIP/1001-08194980> Playing 'fp_bielefeld' (language 'de')
        -- Executing [1001@amt:8] Playback("SIP/1001-08194980", "fp_gegen") in new stack
        -- <SIP/1001-08194980> Playing 'fp_gegen' (language 'de')
        -- Executing [1001@amt:9] Set("SIP/1001-08194980", "verein2="fp_bielefeld
    "") in new stack
        -- Executing [1001@amt:10] Playback("SIP/1001-08194980", "fp_bielefeld
    ") in new stack
    [Oct 21 17:36:14] WARNING[28466]: file.c:602 ast_openstream_full: File fp_bielefeld
     does not exist in any format
    [Oct 21 17:36:14] WARNING[28466]: file.c:912 ast_streamfile: Unable to open fp_bielefeld
     (format 0x8 (alaw)): No such file or directory
    [Oct 21 17:36:14] WARNING[28466]: app_playback.c:439 playback_exec: ast_streamfile failed on SIP/1001-08194980 for fp_bielefeld
    
    
    Wie man sehen kann, versucht er die gleichen Sounddatei zu öffnen, mekcert aber dass er die Datei gar nicht finden kann.

    Was habe ich übersehen?
     
  2. sellfisch

    sellfisch Neuer User

    Registriert seit:
    11 Jan. 2008
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Fachinformatiker Systemintegration
    Ort:
    Hannover
    Problem gelöst, bei in der sh datei muss mit
    echo -n gearbeitet werden, damit kein Zeilenumbruch drin is

    Thema bitte schließen