MoH (Music on Hold) oder MP3 abspielen

voipmichael

Neuer User
Mitglied seit
13 Jul 2005
Beiträge
76
Punkte für Reaktionen
0
Punkte
0
Pitufo schrieb:
Hallo,

kann mir mal jemand einen Tipp geben ob und wie ich die MOH zum laufen bekomme?

CU!
Hallo CU,

MOH = MusicOnHold ?

dann musst du zusätzlich ein Programm installieren das mp3 abspielen kann. (mpg123) oder das Asterisk add-on utility format_mp3.

Ob allerdings die Prozessor Leistung der Box ausreicht zum Abspielen von MP3 und zur Codec-Transformation für die Sprachverbindung ?

Weitere Infos: http://www.voip-info.org/wiki-Asterisk+config+musiconhold.conf

Wo willst du die mp3 speichern ? (der Platz im Speicher auf der 7050 ist knapp)

Möglicherweise ist es möglich per shfsmount ein remote Filesystem per ssh zu mounten um Platz zu bekommen?

Dazu könnte man den ds-mod (enhält ssh) und Asterisk zusammen auf der Box installieren ?
Ob der Speicher dazu reicht?

Gruss,
Michael
 
Zuletzt bearbeitet:
Hi,

mal ne Frage zum Thema MOH, warum ist das eigentlich so kompliziert? GSM Files spielt asterisk doch so schon ab, warum geht das denn nicht auch bei der Wartemusik??

Also so richtig nette Musik in der Warteschleife wäre echt super!!! :)


Gruß
mastertester

PS: Wie bekommt man das hier alles am dümmsten auf einen USB Stick installiert? (Die Asterisk Installation)
 
Zuletzt bearbeitet:
Sollte das denn so ohne weiteres mit gsm files gehen? Habe da schon mehrere stunden probiert, aber er spielt sie nicht ab.....

Telnet:
Code:
 -- Started music on hold, class 'default', on channel 'SIP/29170363-70ce'
 -- Stopped music on hold on SIP/29170363-70ce

Meine musiconhold.conf sieht so aus:
Code:
[default]
mode=files
directory=> /var/media/USBFlashMemory-Partition-0-1/sound

Und im Verzeichnis sound liegt ein gsm file aus der asterisk konfiguration....


Bin ich denn der einzige, der seine wartenden Gesprächspartner mit Musik verwöhnen möchte?


Gruß
mastertester
 
Zuletzt bearbeitet:
Moh

mastertester schrieb:
Sollte das denn so ohne weiteres mit gsm files gehen?

Es kommt dann immer Starte MOH und dann sofort stoppe MOH.
mastertester

Hi Mastertester,

Asterisk Version 1.2 spielt keine gsm-Sounds als MusicOnHold files ab.
Was geht ist natürlich ein Abspielen eines GSM-Sounds aber nicht als Call-Hold Funktion.
Bei Version 1.4 kannst du in Zukunft aber Wav-Files nutzen.

http://www.voip-info.org/wiki-Asterisk+config+musiconhold.conf

Weitere neue Feature im neuen Major Release 1.4:
- IP-Fax-Unterstützung
- Einbindung der Instant-Messaging-Protokolle Jabber, Jingle und GoogleTalk (Unified-Messaging)

Voipmichael
 
Zuletzt bearbeitet:
Hallo voipmichael,

danke für deine Antwort, schade das es so nicht geht.... Wann darf man denn mit der Version 1.4 von Asterisk rechnen???

Ich sehe gerade, dass Asterisk 1.4.0-beta3 der neuste Stand ist....

Muss da eigenlich viel angepasst werden, um es auf die FB zu portieren?

Gruß
mastertester
 
mastertester schrieb:
music on hold

Code:
[default]
mode=files
directory=> /var/media/USBFlashMemory-Partition-0-1/sound
Hallo Mastertester,
da ich nur eine 7050 habe, lohnt es sich für mich nicht MusicOnHold zu testen (kein USB-Speicher, CPU wahrscheinlich nicht leistungsfähig genug etc.).

Die musiconhold.conf könnte so aussehen mit Helper Application mpg321 (oder mgp123):
Code:
[default]
mode=quietmp3
directory=/var/media/USBFlashMemory-Partition-0-1/sound
application=/var/tmp/mpg321 -q -r 8000 -f 8192 -b 2048 --mono -s

du musst natürlich noch das Packet mpg321 kompilieren. Wahrscheinlich werden die mp3 komplett in der Speicher geladen. Deshalb solltest du die MP3-Files auf eine geeignete Grösse (< 500 KByte) schneiden.

Gruss,
Voipmichael
 
Zuletzt bearbeitet:
voipmichael schrieb:
du musst natürlich noch das Packet mpg321 kompilieren.
Ist nun unter spblinux.de/fbox/modules/mpg zu finden, zusammen mit den benötigten Bibliotheken (kompiliert für die uClibc-0.9.26 der derzeit aktuellen avm firmware).

Da der asterisk mit chroot läuft muss man mpg321 dann mit chroot /oldroot mpg321 aufrufen (im Prinzip so wie hier beschrieben, nur dass es zusätzlich noch ein LD_LIBRARY_PATH=/var braucht, wenn die zusätzlichen Bibliotheken in /var liegen).

Ich würde es zunächst per telnet im Verzeichnis /var probieren, ob mpg321 tut, was er soll (export LD_LIBRARY_PATH=.)

Mit mpg321 -t fp-calm-river.mp3 zeigt mir top auf der 7050 ca. 97% cpu last an (./chroot asterisk top); wenn das stimmt, dann sollte man jedenfalls keine Stereo MP3 Dateien abspielen.

spblinux
 
spblinux schrieb:
chroot /oldroot mpg321

spblinux
[Size=-1]
Hallo Spblinux,

Ich versuche gerade MusicOnHold zum Laufen zu bringen. Wie muss ich in der musiconhold.conf mpg321 aufrufen (chroot)?
Wenn ich die MusicOnHold-extension wähle stopp der MusicOnHold sofort nach dem Start. Ein Abspielen per Konsole funktioniert.

anbei ein Ausschnitt aus meiner debug.cfg
Code:
echo "export PATH=$PATH:/var/tmp " > /var/tmp/.profile
echo "export LD_LIBRARY_PATH=/var " >> /var/tmp/.profile
##
cd /var/asterisk/var/modules
wget http://www.spblinux.de/fbox/lzma/new/modules/res_musiconhold.so
##
cat <<EOP > /var/ast_MusicOnHold
cd /var
wget http://spblinux.de/fbox/modules/mpg/mpg321
chmod 755 /var/mpg321
cp /var/mpg321 /var/asterisk/var
chmod 755 /var/asterisk/var/mpg321
wget http://spblinux.de/fbox/modules/mpg/libao.so.2
wget http://spblinux.de/fbox/modules/mpg/libgcc_s.so.1
wget http://spblinux.de/fbox/modules/mpg/libid3tag.so.0
wget http://spblinux.de/fbox/modules/mpg/libmad.so.0
wget http://spblinux.de/fbox/modules/mpg/libz.so.1
cd /var/asterisk/oldroot/var
mkdir mp3
cd /var/asterisk/oldroot/var/mp3
wget http://spblinux.de/fbox/modules/mpg/fpm-calm-river.mp3
EOP
chmod +x /var/ast_MusicOnHold
#/var/ast_MusicOnHold
####

Die Installation starte ich dann mit /var/ast_MusicOnHold.

Von der Konsole funktioniert das Abspielen:
Code:
/var/chroot /var/asterisk/oldroot/ /var/mpg321  -t /var/mp3/fpm-calm-river.mp3

Ausschnitt aus meiner extensions.conf
Code:
exten => _604,1,Answer
exten => _604,2,MusicOnHold()
musiconhold.conf Sind die Pfade richtig für die Chroot-Umgebung?
Code:
[default]
mode=quietmp3
directory=/var/mp3
application=/var/chroot /var/asterisk/oldroot/ /var/mpg321

Asterisk log
Code:
       > requested format = alaw,
       > requested prefs = (),
       > actual format = ulaw,
       > host prefs = (),
       > priority = mine

    -- Executing Answer("IAX2/300-5", "") in new stack

    -- Executing MusicOnHold("IAX2/300-5", "") in new stack

    -- Started music on hold, class 'default', on channel 'IAX2/300-5'

    -- Stopped music on hold on IAX2/300-5

  == Spawn extension (fullaccess, 604, 2) exited non-zero on 'IAX2/300-5'
    -- Hungup 'IAX2/300-5'
[/size]
Gruss,
Voipmichael
 
Zuletzt bearbeitet:
voipmichael schrieb:
musiconhold.conf Sind die Pfade richtig für die Chroot-Umgebung?
vermutlich kommt die Umgebungsvariable LD_LIBRARY_PATH nicht durch.

Habe deshalb mpg321.sh nach fbox/modules/mpg/ hochgeladen:
ruft man mpg321.sh statt mpg321 auf, so wird zuerst LD_LIBRARY_PATH gesetzt und dann mpg321 aufgerufen.
(mpg321.sh muss dann natürlich zusätzlich per wget runtergeladen werden)

vom asterisk aus gesehen beginnt alles unterhalb von /var/asterisk, also
Code:
application=/bin/chroot /oldroot/ /var/mpg321.sh /var/mp3/fpm...
... und man sieht, warum der Wechsel auf uClibc0.9.28 in der Laborfirmware das einzig wahre ist: kein chroot mehr nötig

edit: das -t muss weg, da es nur zum Testen ist; wie es mpg321 auf der Konsole ohne Argumente aufgerufen auch anzeigt.
spblinux
 
Zuletzt bearbeitet:
Hallo,

also MOH bekomme ich leider auch noch nicht zum laufen...

Beim Start von Asterisk kommt immer folgende Meldung:

Code:
  == Parsing '/etc/asterisk/musiconhold.conf': Found
Nov 24 14:15:09 WARNING[22]: res_musiconhold.c:336 spawn_mp3: /var/media/ftp/USB
FlashMemory-Partition-0-1/sound is not a valid directory
Nov 24 14:15:09 WARNING[22]: res_musiconhold.c:488 monmp3thread: Unable to spawn
 mp3player

Es ist auch egal welches Verzeichnis ih angebe, habe auch schon /var/... versucht, aber es kommt immer diese Meldung.

Meine musiconhold.conf
Code:
[default]
mode=quietmp3
directory=/var/media/ftp/USBFlashMemory-Partition-0-1/sound
application=/var/chroot /var/asterisk/oldroot/ /var/mpg321.sh

Was könnte das denn sein???



Gruß
mastertester

EDIT: Jetzt verstehe ich die Welt nicht mehr.... Er spielt mit jetzt gsm files als MOH ab, aber keine mp3's..... Werde weiter testen, und berichten....
 
Zuletzt bearbeitet:
Chroot Asterisk Mp3 Verzeichnis MOH

[size=-1]
mastertester schrieb:
FlashMemory-Partition-0-1/sound is not a valid directory

directory=/var/media/ftp/USBFlashMemory-Partition-0-1/sound
application=/var/chroot /var/asterisk/oldroot/ /var/mpg321.sh
Hi Mastertester,

Das sollte an Asterisk in der Chroot-Umgebung liegen.

Asterisk Chroot startet bei /var/asterisk dann wäre dein Directory:

/var/asterisk/var/media/ftp/USBFlashMemory-Partition-0-1/sound

Deshalb habe ich mp3 in /var/asterist/var/mp3 abgelegt.
[/size]
Gruss,
Michael
 
Zuletzt bearbeitet:
Aber warum spielt mir asterisk jetzt gsm files ohne mpg321 ab??? MP3's bekomme ich garnicht ans laufen....



Das mit dem Verzeichnis geht so leider auch nicht....

/var/asterisk/var/media

Das Verzeichnis media ist dort bei mir nicht....

Gibt es da eventuell noch eine andere Möglichkeit aus dieser chroot Umgebung zu kommen?


Gruß
mastertester
 
mastertester schrieb:
s mit dem Verzeichnis geht so leider auch nicht....

/var/asterisk/var/media

Das Verzeichnis media ist dort bei mir nicht....

[size=-1]
mkdir /var/asterisk/var/media
[/size]

Gruss,
Michael
 
Aber das soll ja auch auf meinen USB Stick gehen... ?!?

EDIT:

Wie kann ich mit Asterisk aus der chroot Umgebung auf meinen USB Stick zugreifen?

Oder am besten asterisk auf meinem USB Stick laufen lassen.... Aber da habe ich leider keine Ahnung wie ich das anpacken müsste....


Gruß
mastertester
 
Zuletzt bearbeitet:
mastertester schrieb:
Wie kann ich mit Asterisk aus der chroot Umgebung auf meinen USB Stick zugreifen?
Möglicherweise hilft ein symbolischer Link oder du wartest auf die neue usb-install Option.

Funktioniert den das MusicOnHold bei dir. Ich kann noch keine Mp3 abspielen.

Kannst du mal deine MusicOnHold Konfiguration posten.

Voipmichael
 
voipmichael schrieb:
Funktioniert den das MusicOnHold bei dir. Ich kann noch keine Mp3 abspielen.

Kannst du mal deine MusicOnHold Konfiguration posten.


Also mp3's kann ich auch nicht abspielen, aber dafür funktioniert es halt wie schon gesagt mit gsm und raw files plötzlich....

musiconhold.conf
Code:
[default]
mode=files
directory=/oldroot/var/flash/asterisk/sound

modules.conf
Code:
[modules]
autoload=yes
; uncomment to disable a channel (and in case of chan_capi
; remove or comment out the line in section [global])
;noload => chan_capi.so
;noload => chan_sip.so
;noload => chan_iax2.so
;noload => chan_local.so
;
preload =>res_features.so
preload =>codec_alaw.so
;preload => res_musiconhold.so
;
[global]
chan_capi.so=yes

Und dann noch wie von spblinux beschrieben ein:
Code:
mount /dev/scsi/host0/bus0/target0/lun0/part1 /var/asterisk/var/flash/

Und mein USB Stick ist auch eingebunden.... :)

Vielen Dank an euch alle!!!!!

Nur ein Problem habe ich noch, ich kann immer nur ei Gespräch abgehend führen.....

Habe dazu hier mal gepostet:
http://www.ip-phone-forum.de/showthread.php?p=738670#post738670


Gruß
mastertester


EDIT:
Fogendes:

Ich telefoniere über meinen asterisk account, drücke die R-Taste, und höre das FritzBox interne tut tut tut?? (Ist es das von der FB, oder vom asterisk)

AHA!!!!!! Das schein es zu sein, dass kommt wohl vom asterisk..... nur wie komme ich jetzt wieder zur fritz box, um einen anderen account der fritzbox zu benutzen???



Gruß
mastertester


EDIT2:

@spblinux,

habe es eben nochmal getestet, und 2 gleichzeitig abgehende sip Gespräche sind ohne probleme mit der FB möglich.... Irgendwie muss asterisk das blockieren....
 
Zuletzt bearbeitet:
MOH Problem

Nachdem diese Zeile abgearbeitet wird:

exten => 12345,1,Dial,SIP/771&SIP/772&SIP/774&CAPI/ISDN3/51||m

sollte nach meinem bisherigen Verständnis Music on hold anstelle des Klingelzeichens kommen.
Es kommt aber das normale Klingelzeichen und diese Meldung:


Code:
Executing Dial("SIP/12345-12345678", "SIP/771&SIP/772&SIP/774&CAPI/ISDN3/51||m") in new stack
    -- Called 771
    -- Called ISDN3/51
    -- Started music on hold, class 'default', on SIP/12345-12345678
    -- SIP/771-6d3b is ringing
       > ISDN3#02: CAPI INFO 0x3492: No user responding
Weiß Jemand, wo der Fehler liegen könnte?
Der moh-Test funktioniert übrigens.
 
Tippfehler schrieb:
Weiß Jemand, wo der Fehler liegen könnte?
Der moh-Test funktioniert übrigens.
Wie verhält es sich, wenn Du den ISDN-Channel aus Deiner Dial-Anweisung rausnimmst ?
Tritt der Fehler dann immer noch auf ?
Ich könnte mir vorstellen, daß der Ringtone bei ISDN von Deinem Telefonanbieter rüberkommt ... ansonsten könnte man ja, statt des Ringtones einfach schon das Gespräch über die Leitung jagen ( quasi vor dem Annehmen des "gebührenpflichtigen" Gespräches )
 
Ich habe nur Voip, kein ISDN. Die Rufe kommen nur über dus.net oder 1und1 rein. Ich habe auch schon versucht, mich vom Handy aus anzurufen. Leider kann ich erst nächste Woche weiter testen, wenn meine Frau nicht da ist.
Hat es etwas mit dem .raw-File zu tun, brauche ich ein .gsm-File im moh-Verzeichnis?
 
Ich nutze selber kein MOH ... aber wie gesagt, ich könnte mir durchaus vorstellen, daß sowohl anrufe aus dem GSM-Netz als auch aus dem PSTN Festnetz, MOH als Klingelton nicht übertragen ( m.W. wird der Voice-Kanal erst nach Annahme des Gespräches freigeschaltet ). Wenn ich später Zeit habe, kann ich mal ein paar Tests machen.

Versuch es aber mal mit einem SIP->SIP Anruf ...

Ausserdem solltest Du auch folgenden Hinweis beachten:
; If you are not using "autoload" in modules.conf, then you
; must ensure that the format modules for any formats you wish
; to use are loaded _before_ res_musiconhold. If you do not do
; this, res_musiconhold will skip the files it is not able to
; understand when it loads.
 
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.