asterisk webradio spielen lassen

NebuK

Neuer User
Mitglied seit
16 Jan 2005
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
hallo ...

ich wollte meinem asterisk - zur belustigung meiner anrufer :) - beibringen webstreams zu spielen. also hab ich mich auf voip-info umgesehen. es scheint 2 moeglichkeiten zu geben: die eine ist ein mpg123 wrapper zu schreiben und asterisk dann eine beliebige mp3 aufrufen zu lassen (MP3Player oder MusicOnHold). die andere ist eben MusicOnHold - das problem hierbei ist nur dass asterisk dann die _ganze_ zeit ueber die streams am laufen hat, und damit eine (fuer ne dsl leitung) beachtliche portion bandbreite frisst.

und naja ... jetzt such ich eben eine andere moeglichkeit asterisk streams spielen zu lassen :)
 
exten => 4440,1,MP3Player(http://radio.pulverradio.com/high.mp3)

Geht mit einigen Telefonen nicht, weil der * kein Ack zurückschickt (Bei einigen ist das dann einstellbar, z.B. beim SNOM Softphone). Die mpg123 Prozesse scheinen sich ab und an nicht zu beenden, wenn der Teilnehmer aufgelegt hat. Evtl. kann man um dei extesnion noch was drumrumbauen, damit es zuverlässiger wird.

jo

jo
 
evtl. solltest du vorher ein 'answer' machen. Kann sein, dass mp3player das nicht macht.
 
also dass man vorher answern muss is soweit klar - nur scheint MP3Player auf eine url (z.b. digitally imported chillout. siehe hier -> http://64.236.34.67:80/stream/8022 ) einfach keinen output zu liefern egal was ich mach.

danke aber schonmal soweit
 
bzw. ich hab jetz doch noch mit einigen v's mehr einen brauchbareren error entdeckt:

-- Executing MP3Player("SIP/phone1-7070", "http://broadband.afterhoursdjs.org:8008") in new stack
Mar 3 17:55:18 NOTICE[23442]: rtp.c:430 ast_rtp_read: RTP: Received packet with bad UDP checksum
Mar 3 17:55:29 NOTICE[23442]: app_mp3.c:91 timed_read: Poll timed out/errored out with 0


villeicht kann man damit etwas mehr machen - allerdings is upd doch dazu da fehlerhafte pakete in massen zu kriegen und trotzdem auszubuegeln oder? Oo daher erscheint mir das ganze etwas unlogisch
 
Poste doch mal deine Extension, bitte.
 
das ganze scheint ein problem von mpg123 zu sein ... in der derzeitigen stable version hat dies probleme mit einigen streams die sich wohl nicht ganz so verhalten wie sie sollten. hier trotzdem mal die extension (mit einer liste von sendern die alle funktionieren):

Code:
[webradio]
exten => s,1,background(vm-webmenu)
exten => s,2,Goto(webradio,s,1)
;trance
exten => 1,1,MP3Player(http://broadband.afterhoursdjs.org:8008/)
exten => 2,1,MP3Player(http://addicted.puredj.com:8000/)
exten => 3,1,MP3Player(http://64.236.34.67:80/stream/1003)
;chill
exten => 4,1,MP3Player(http://205.188.234.65:8022/)
exten => 5,1,MP3Player(http://64.236.34.97:80/stream/1032)
exten => 6,1,MP3Player(http://64.236.34.97:80/stream/1018)
;jazz 
exten => 7,1,MP3Player(http://64.236.34.196:80/stream/1005)
;house
exten => 8,1,MP3Player(http://64.236.34.196:80/stream/1007)
;rock 
exten => 9,1,MP3Player(http://64.236.34.67:80/stream/2001)
;ragge
exten => 0,1,MP3Player(http://213.202.217.185:8000/)

man sollte sich am besten noch eine AGI schreiben die verbleibende mpg123 prozesse (asterisk verpeilts manchmal die zu killen) dann nachdem der hoerer fertig ist toetet.


aber danke trotzdem fuer eure hilfe!
 
Denke es geht nur, wenn die URL auf eine File verweist, nicht auf ein Verzeichnis.

jo
 
doch selbst dann - allerdings darf der ending-slash nich fehlen
 
Hi,

in meiner Musiconhold.conf steht das:
[classes]
default => mp3:/var/lib/asterisk/mohmp3,http://66.28.68.70:8000/
und in meinem Ordner
/var/lib/asterisk/mohmp3 liegt genau eine Datei mit null Bytes Länge.
Macht man mit
touch /var/lib/asterisk/mohmp3/a.mp3
Damit spielt der Raggae, aber nur wenn jemand in der Warteschleife steht. Sonst ist kein Traffic. Definitiv.

Regards,

Andreas
 
Ja hatte auch das Problem! Loesung: Ending-Slash! Viel Spass!
 
@AndreasJlk: welche asterisk version hast du, bzw. kannst du mal per ps fauxw (oder auxw auf *BSD) nachsehen ob wirklich kein mpg123 prozess mehr laeuft? bei mir wird der konstant am rennen gehalten.

@allesOK: das is das eine - das andere is dass die derzeitige stable von mpg123 mit einigen streams einfach nicht klarkommt - da ist nix zu machen ausser auf die naechste stable zu warten :)
 
Habt ihr das ganze auch für eine Rufnummer gelöst? Mit Debian Jessie also Asterisk 11 und mpg123 1.2 kriege ich mit folgendem Dialplan bei beiden Nummern nur die selbe Fehlermeldung wie NebuK
Code:
app_mp3.c:133 timed_read: Poll timed out/errored out with 0
Code:
exten => 72,1,Answer()
exten => 72,n,MP3Player(http://edge.live.mp3.mdn.newmedia.nacamar.net:80/ps-gongwb/livestream.mp3)

exten => 73,1,Answer()
exten => 73,n,MP3Player(http://edge.live.mp3.mdn.newmedia.nacamar.net:80/ps-gongwb/livestream.mp3/)

Dabei funktioniert das Kommando in der Konsole wie es von Asterisk erzeugt werden sollte
Code:
mpg123 -q -s -b 1024 -f 8192 --mono -r 8000 http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-gongwb/livestream.mp3
 
Ähm, eine kurze Frage:
Wohnst Du in Deutschland?
Dann vergiss es. Technisch zwar machbar, aber GEMA-pflichtig. Kann richtig richtig teuer werden.
Beim Privatanschluss zwar kein hohes Risiko, erwischt zu werden, aber wenn man erwischt wird, gibts ein großes Loch in der Haushaltskasse.
 
Ich muss mich zum Glück nicht mit solchen Gesetzgebungen herumschlagen. Deshalb besteht bei mir immer noch die Frage,wie man das ganze zum laufen bringen könnte da das ganze auch mit simplen MP3 Dateien über http nicht funktioniert hat.
 
Ich habe ebenfalls Interesse daran. GEMA ist ja nicht so das Problem, es gibt ja genug Streams die nur GEMA- bzw. lizenzfreie Musik spielen, wie z. B. http://www.the-radio.cc.
Aber zum Thema:
Eine Lösung habe ich leider auch nicht, dafür etwas recherchiert.
Wenn man nach der Fehlermeldung sucht, kommt man ja an diverse Stellen im Netz, wo Leute vom gleichen Problem berichten.
Es war auch vor einigen Jahren mal als Bug bei Asterisk gemeldet. Der Verlauf dort lässt vermuten, dass es in der app_mp3 einen Timeout gibt, und der Grund für die Fehlermeldung und den Abbruch der App ist offenbar, dass nach Ablauf des Timeouts keine Daten im Puffer liegen. Mark Spencer hat dahingehend einen Timeout eingebaut, wenn HTTP-Streams abgespielt werden:
In
Code:
        if (!strncasecmp(data, "http://", 7)) {
                timeout = 10000;
        }
        /* Wait 1000 ms first */

Soweit ich das nachverfolgen kann wird die Zeit in ast_poll aber in µs definiert. Sprich Asterisk würde hier nicht 1000 ms wie im Kommentar angegeben sondern 0,01 s warten. Vielleicht setzt man diesen Timer einfach mal rauf? Ich habe momentan keine Maschine wo ich das "mal eben" testen könnte.
 
@sunnyman

Um das zu testen müsste man Asterisk doch neu kompilieren oder?
 
So, gerade nochmal recherchiert und getestet. In einem russischen Asterisk-Forum (Google Übersetzer sei Dank!) fand ich den Hinweis https://forum.asterisk.ru/viewtopic.php?p=56218
mpg123 wird von Asterisk mit einem Buffer von 1 MB gestartet. Zusammen mit dem Timeout (s.o.) dauert es wohl einfach zu lange, bis mpg123 den Puffer gefüllt hat. Lässt man die Option weg (was lt. manpage der Default ist), klappt es. Eine app_mp3.so für Asterisk 11.22 könnte ich auf Wunsch auch per Mail verschicken, ggf. kann man die am lebenden System austauschen.
 
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.