folgendes Szenario: Ich habe vier SNOM PA1 über die ich ein Pausensignal in unseren Produktionshallen absetzen möchte.
momentane Lösung: Ich setze über eine virtuelle Maschine einen zeitgesteuerten VLC-Stream über Multicast an die SNOMs ab.
Nachteil: Ich brauche hierfür extra einen Rechner der das für mich tut. Außerdem ist der Sound des Pausensignals trotz der Lösung die ich hier auch schon gepostet habe bescheiden.
gewünschte Lösung:
MD setzt zeitgesteuert einen Multicast ab, spielt eine erstellte Ansage ab und legt wieder auf.
Ist eine solche Lösung möglich oder hat jemand sowas vielleicht sogar schon umgesetzt?
Bin für alle Lösungsvorschläge dankbar!
Falls ich dein Problem richtig verstanden habe,
käme mir hier folgende Lösung in den Sinn. Ähnlich der Standard Durchsage, welche du im Commander konfigurieren kannst. Du erstellst per cron-job auf der MobyDick ein call file, siehe http://community.pascom.net/showthread.php?1383-MD-ignoriert-Call-files&highlight=call+file. Über das call file lässt du ein Skript anrufen, welches eine Durchsage an dein snom macht. Als Beispiel kannst du dir das von der Durchsage abschauen. Beim der page App musst dan noch als Parameter deine Ansage-Datei mit einbringen, welche du als Ansage im Commander hochladen bzw. aufnehmen kannst. Das snom muss noch so konfiguriert sein, falls es noch nicht so ist, dass es automatisch Anrufe annimmt.
im Prinzip könnte ich das so machen. Allerdings muss der Call per Multicast abgesetzt werden. Nehme ich hier eine Rufgruppe nehmen nicht alle SNOMs den Anruf entgegen sondern immer nur eins. Kann ich diese Lösung auch für Multicast nutzen und wenn ja wie setze ich das um?
Allerdings gibt mir das CLI dann die folgende Meldung aus:
Executing [s@multicast:3] Page(“SIP/jlkho8HZh482f98-000004c9”, “MulticastRTP/basic/224.0.0.1:1234”) in new stack
[Apr 30 14:51:14] WARNING[5533][C-000001e5]: channel.c:5956 ast_request: No channel type registered for ‘MulticastRTP’
Gut, wenn man die Anweisung
noload => chan_multicast_rtp.so
aus /etc/asterisk/modules.conf entfernt, dann verschwindet diese Meldung. Allerdings habe ich dann die nächste und da bin ich mit meinem Latein am Ende:
-- Executing [s@multicast:3] Page("SIP/jlkho8HZh482f98-00000001", "MulticastRTP/basic/224.0.0.1:1234") in new stack
[Apr 30 14:57:37] ERROR[6406][C-00000001]: rtp_engine.c:259 ast_rtp_instance_new: No RTP engine was found. Do you have one loaded?
Es ist ein RTP Stack geladen, aber woher bekomme ich einen RTP engine?
asterisk -rx “module show like rtp”
Module Description Use Count
chan_multicast_rtp.so Multicast RTP Paging Channel 0
res_rtp_asterisk.so Asterisk RTP Stack 0
Hallo,
in unserem MobyDick sind die beiden Multicast Module res_rtp_multicast.so und chan_multicast_rtp.so aktiviert und der Asterisk neugestartet.
Ein Yealink T41P ist für Multicast konfiguriert und ist in dieser Funktion auch von einem SNOM 821 erreichbar.
Nun verschiebe ich in das Verzeichnis /var/spool/asterisk/outgoing den folgenden callfile:
Der Asterisk zieht die Datei und im CLI erscheinen die folgenden Meldungen:
[Jun 19 18:18:51] WARNING[22595]: pbx_spool.c:309 safe_append: Unable to set utime on /var/spool/asterisk/outgoing/callfile: Operation not permitted
– Attempting call on MulticastRTP/basic/224.0.0.1:1234 for application Playback(de/Keine_Geschaeftszeit) (Retry 1)
> Channel MulticastRTP/0x317f238 was answered.
> Launching Playback(de/Keine_Geschaeftszeit) on MulticastRTP/0x317f238
– <MulticastRTP/0x317f238> Playing ‘de/Keine_Geschaeftszeit.gsm’ (language ‘en’)
Das Yealink tutet zweimal kurz, im Display wird angezeigt, dass ein Gespräch angenommen wurde, aber ich höre die Ansage Keine_Geschäsftzeit nicht, obwohl sie laut CLI abgespielt wird?
Rufe ich die Durchwahl an, reagiert sofort das entsprechend konfigurierte Yealink und ich kann mir Geschichten erzählen.
Es wird aber die Durchsage abgespielt.
Ersetze ich DIAL durch PAGE, so wie in manchen Anleitungen vorgeschlagen, ändert sich auch nichts.