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

Radio Stream mit Musiconhold will nicht! :(

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von cornelinux, 18 Jan. 2009.

  1. cornelinux

    cornelinux Neuer User

    Registriert seit:
    19 Feb. 2008
    Beiträge:
    33
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich hab ein asterisk 1.4.18 und will da mal ein radio stream drauflegen.
    Ich hatte gelesen, dass das mit musiconhold toll gehen soll.

    In der extension.conf habe ich folgende Zeilen eingetragen:

    Code:
    exten => 66,1,Answer
    exten => 66,3,SetMusicOnHold,swr3
    exten => 66,4,WaitMusicOnHold,300
    exten => 66,5,Hangup
    
    Andere Musiconhold definitionen (wenn ich swr3 ersetze) funktionieren beim Anruf der 66.

    Meine musiconhold.conf sieht so aus:

    Code:
    [swr3]
    mode=custom
    directory=/etc/asterisk/stream
    application=/etc/asterisk/swr3.sh
    
    die swr3.sh so

    Code:
    #!/bin/bash
    wget -q -O - http://edge.live.mp3.mdn.newmedia.nacamar.net/swr3live/livestream.mp3  | /usr/bin/madplay -Q -z -o raw:- --mono -R 8000 -a -12 -
    
    Wenn ich die swr3.sh an der shell starte bekomme ich auch ganz viel datenmüll/musik auf die Stdout. Der Anruf bei der 66 bleibt aber tot.

    Ich bin auch etwas ratlos, wo ich mein debug beginnen soll.

    Besten Dank für jeden Tipp
    Cornelius
     
  2. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,613
    Zustimmungen:
    3
    Punkte für Erfolge:
    38
    Versuch mal das hier:
    Code:
    [swr3]
    mode=custom
    directory=/etc/asterisk/stream
    application=[COLOR="Red"]/bin/sh[/COLOR] /etc/asterisk/swr3.sh
     
  3. cornelinux

    cornelinux Neuer User

    Registriert seit:
    19 Feb. 2008
    Beiträge:
    33
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    danke für den Hinweis. Das hatte ich vorher auch schonmal gesehen. Das hat aber auch nicht geholfen.
    Nur insofern, dass ich nochmal über das Problem nachgedacht hatte und dann....

    Der asterisk benötigt ein restart und nicht nur ein reload (was ich immer gemacht hatte), damit er die musiconhold anzieht!

    Besten Gruß
    Cornelius
     
  4. tsibi

    tsibi Neuer User

    Registriert seit:
    12 Dez. 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Nürnberg
    MMöchte Stream aus named pipe laden

    Hallo zusammen,

    auch ich möchte in meiner Asterisk beim Anruf einer Extension einen Internet-Livestream abspielen. Leider funktionieren die obigen Einstellungen bei mir nicht. Es ist nichts zu hören. Mir ist nicht klar, warum das Verzeichnis /etc/asterisk/stream angegeben wird, wenn es nicht existiert und das Shellskript ja nur in /etc/asterisk liegt.

    Kann man es nicht so einrichten, dass der Stream seine Daten in eine named pipe unterhalb von /var/lib/asterisk/moh/antenne ablegt und die musiconhold.conf das Verzeichnis als Eingabe verwendet?

    Für eure Hilfe wäre ich dankbar, da alles bisher ausprobierte nicht funktioniert.

    Asterisk läuft auf einem Server mit ausreichend Bandbreite für geöffnete Streams. Wenn ich das aber richtig sehe, müsste bei einer named pipe nur ein Stream offengehalten werden.

    Viele Grüße
    von Simon
     
  5. cornelinux

    cornelinux Neuer User

    Registriert seit:
    19 Feb. 2008
    Beiträge:
    33
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Simon,

    das Verzeichnis brauchst Du in der Tat nicht.
    Bei mir funktioniert nun das das Radio wie folgt:

    musiconhold.conf:
    Code:
    [swr3]
    mode=custom
    ;directory=/etc/asterisk/stream
    application=/etc/asterisk/swr3.sh
    
    extension.conf
    Code:
    exten => 66,1,Answer
    exten => 66,3,SetMusicOnHold,swr3
    exten => 66,4,WaitMusicOnHold,30000
    exten => 66,5,Hangup
    
    swr.sh:
    Code:
    #!/bin/bash
    wget -q -O - http://edge.live.mp3.mdn.newmedia.nacamar.net/swr3live/livestream.mp3  | /usr/bin/madplay -Q -o raw:- --mono -R 8000 -a -4 -
    
    Wichtig war bei mir: der Asterisk braucht ein restart, kein reload!
    Dann sehen die laufenden Prozesse so aus:

    Code:
    18832 ?        S      0:00 /bin/bash /usr/sbin/safe_asterisk
    18836 ?        Sl    34:20  \_ /usr/sbin/asterisk -f -vvvg -c
    18848 ?        S      0:01      \_ /usr/bin/mpg123 -q -r 8000 -f 8192 -b 2048 --mono -s Horton's_Choice_-_Shores.mp3 Analogue_Popkick_-_Two_June
    18849 ?        S      0:00      |   \_ /usr/bin/mpg123 -q -r 8000 -f 8192 -b 2048 --mono -s Horton's_Choice_-_Shores.mp3 Analogue_Popkick_-_Two_
    18850 ?        S      0:00      \_ /bin/bash /etc/asterisk/swr3.sh
    18852 ?        S      0:00          \_ wget -q -O - http://edge.live.mp3.mdn.newmedia.nacamar.net/swr3live/livestream.mp3
    18853 ?        S      0:00          \_ /usr/bin/madplay -Q -o raw:- --mono -R 8000 -a -4 -
    
    Der stream ist unter swr3.sh.
     
  6. tsibi

    tsibi Neuer User

    Registriert seit:
    12 Dez. 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Nürnberg
    Hallo Cornelinux,

    danke für deine Antwort. Ich habe es übrigens ans laufen gebracht. Wenn ich mich nicht irre, lag es an den Berechtigungen des Shellscripts. Allerdings habe ich das Problem, dass die Musik nicht aktuell ist. Rufe ich die Extension an, höre ich oft einen Teil des Streams, der schon länger zurückliegt. Dann ist eine kurze Pause zu hören und erst danach wird der Stream aktualisiert.

    Gibt es nicht eine Application, mit der ich zwischen den abzuspielenden Dateien wechseln kann? Falls ja, wäre meine Idee mit den named Pipes eine tolle Sache, da man dann zwischen verschiedenen Radiostationen umschalten könnte. Evtl. würde sich damit mein Pufferproblem auch erledigen. ich werde dem einmal nachgehen.

    VG Simon
     
  7. tsibi

    tsibi Neuer User

    Registriert seit:
    12 Dez. 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Nürnberg
    Hallo Cornelinux,

    danhke für deine Antwort. Wenn ich mich richtig erinnere, lag es bei mir an falschen Rechten am Shellscript. Allerdings habe ich das problem, dass der Stream nicht immer aktuell ist. man hört oft noch einen gepufferten teil und nach einer kurzen Pause erst den aktuellen Verlauf.

    Gibt es nicht eine Application, bei der man ein Verzeichnis angeben und mit bestimmten Tasten zwischen den Dateien wechseln kann? Falls ja, könnte man bei named Pipes zwischen verschiedenen Streams umschalten, da sie sich ja quasi wie Dateien verhalten.

    Viele Grüße
    von Simon