Ansage nach abheben

PeterB72

Neuer User
Mitglied seit
22 Dez 2017
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Hallo die Runde

Ich arbeite schon 2 Tage an einem Problem und komm auf keine Lösung :-(

Es soll die Nummer 1000 angerufen werden->Asterisk hebt ab spielt Music on Hold
Code:
exten => 1000,1,Answer()
exten => 1000,n,SetMusicOnHold(schleife)
exten => 1000,n,MusicOnHold()
Während Musik gespielt wird sollen 4 Teilnehmer angerufen werden (Funktioniert leider nicht entweder dauernd Musik und kein Wählen  oder Wählen und keine Musik)

exten => 1000,1,Dial(SIP/1100&SIP/1200&SIP/1300&SIP/1400&SIP/,60)

Wenn Irgendwer von den 4 Nummern abhebt soll ein MP3 File abgespielt werden

exten => 1000,n,MP3Player(/opt/loxberry/data/plugins/Door/gong.mp3)
(funktioniert auch nicht *heul* )
Dann auflegen
Code:
exten => 1000,n,Hangup()

Kann mir da bitte jemand auf die Sprünge helfen?

PS Das mit der Musik habe Ich gelöst
Code:
 exten => 1000,n,Dial(SIP/1100&SIP/1200&SIP/1300&SIP/1400&SIP/48,60,m)

LG

//edit stoney: Code-Tags gesetzt
 
Zuletzt bearbeitet von einem Moderator:
Moin

PS Das mit der Musik habe Ich gelöst
Diese Form von "Musik" nennt sich übrigens: Early Media
...und wird anstelle von "tuuut - tuuut" verwendet.

Ist dein Problem damit gelöst ?
 
Nur das Musik Problem während es läutet

aber Ich weiß noch nicht wie Ich automatisch ein MP3 abspielen kann wen der Angerufene abhebt
LG
 
Wenn ich das so eingebe spielt er mir das file ja ab

Code:
exten => 1000,1,Answer()
exten => 1000,n,MP3Player(/opt/loxberry/data/plugins/Door/gong.mp3)

aber wie/was muss Ich einstellen das er es abspielt wenn der angerufene abhebt

alles was ich nach exten => 1000,n,Dial(SIP/1100&SIP/1200&SIP/1300&SIP/1400&SIP/48,60,m)
hinschreibe macht er erst wenn der Angerufene aufgelegt hat

//edit stoney: Code-Tags gesetzt
 
Zuletzt bearbeitet von einem Moderator:
Logisch.

Den Gong musst du in der angerufenen Extension nach Answer() abspielen lassen.
Beispiel, Extension 1100, die angerufen wird...
Code:
exten => 1100,1(bestboy),Answer(250)
same => n(playgong),MP3Player(/opt/loxberry/data/plugins/Door/gong.mp3)
...und immer schön die Wahlpläne checken, in der Asteriskkonsole mit: dialplan show nummer@context

Willst du den Gong nur für Externe abspielen und Interne sollen den nicht hören, brauchst du noch ein "Ausführen nach Bedingung", siehe...
https://www.voip-info.org/wiki/view/Asterisk+cmd+ExecIf
 
Zuletzt bearbeitet:
Hmmmm dann macht er das aber immer wenn diese Nebenstelle angerufen wird, oder?

es soll nur sein wenn die 1000 angerufen wird, denn die Nebenstellen sollen ja auch untereinander telefonieren können ohne das das File abgespielt wird.

Hintergrund ist wenn am Raspberry ein gpio auslöst sollen alle 4 Nebenstellen angerufen werden und eine Alarm Message abgespielt werden bei dem der halt abhebt
 
Hmmmm dann macht er das aber immer wenn diese Nebenstelle angerufen wird, oder?
Ohne ExecIf() ? - Ja

es soll nur sein wenn die 1000 angerufen wird, denn die Nebenstellen sollen ja auch untereinander telefonieren können ohne das das File abgespielt wird.
Mit ExecIf() kannst du die ${CALLERID(ani)} checken, und MP3Player() nur ausführen lassen, wenn der Alarm anruft.
Nimm mal zum debuggen...
Code:
same => n(whoscalling),Verbose(${EXTEN}: INCOMING CALL FROM ${CALLERID(ani)})
( Wird in der Asteriskkonsole ausgegeben )
 
hab das jetzt mal so eingegben

Code:
exten => 1300,1,Dial(SIP/1300,60,tT,Answer(10))
exten => 1300,n,ExecIf($["${EXTEN}" = "1000"]?|MP3Player(/opt/loxberry/data/plugins/Door/gong.mp3))
exten => 1300,102,Busy
exten => 1300,n,Hangup
aber da spielt er nichts ab, mit der CallerID bekommt er die Nummer von dem Telefon wo der ruf initiert wir

Maaaaaa I check des net :-(

//edit stoney: Code-Tags gesetzt
 
Zuletzt bearbeitet von einem Moderator:
Wie soll das funktionieren ?
Allein die erste Zeile hab ich so noch nie gesehen, wo haste das denn her ?
Nur ein Answer() will ich da sehen.

Abgesehen davon, folgst du meinen Tipp mit der ${CALLERID(ani)} nicht.
Du rufst die 1300 an und deren ${EXTEN} ist 1300 und nicht 1000.
Was kommt bei den Test wohl raus ?
Genau dies: False

Und bitte [ code ] für Quellcode [ / code ] nutzen.
( Ohne die von mir eingefügten Leerzeichen )

Was ist mit dem Raspberry Pi ?
Mit welcher ${CALLERID(ani)} ruft der an ?
 
Zuletzt bearbeitet:
Code:
exten => 1300,1,Answer(250)
same => n,ExecIf($["${CALLERID(ani)}" = "raspberry"]?MP3Player(/opt/loxberry/data/plugins/Door/gong.mp3):Verbose(Kein Alarm: ${CALLERID(ani)}))
same => n,Hangup()
...damit kriegstes raus.
Und "raspberry" mit der richtigen Anrufer ANI ersetzen.
Ansonsten musst du Eine in der 1000 ( Extension ), die den Gruppenruf auslöst, setzen.
...und "raspberry" mit der ersetzen.
Siehe: http://das-asterisk-buch.de/1.6/functions-callerid.html
ANI war eh nur ein grober Vorschlag.
Kannst auch ${CALLERID(name)} nutzen.
...als sinnvoller Text fürs Telefondisplay oder Anruferliste ;)
 
Zuletzt bearbeitet:
Danke funktioniert prinzipiell nur hört der Anrufer das MP3 und nicht der angerufene!
 
Es gibt auch noch die Möglichkeit über Makro was beim Angerufenen auszulösen.
...ist aber ein bischen komplizierter.

Das funktioniert, wie die Musik ( m() ) , im Dial() mit dem Parameter M()...
Code:
exten => 1000,1,Answer(250)
same => n,Set(CALLERID(all)="Raspberry Alarm<1000>")
same => n,Dial(SIP/1100&SIP/1200&SIP/1300,60,m()M(gong))
Makro könnte so aussehen...
Code:
[macro-gong]
exten => s,1,Verbose(Macro: Playing MP3)
; same => n,Set(MACRO_RESULT=CONTINUE)
same => n,MP3Player(/opt/loxberry/data/plugins/Door/gong.mp3)
same => n,MacroExit()
Ohne MACRO_RESULT wird "gebridged" und mit obigen Inhalt gesetzt wird der Anrufer aufgelegt.
Es wird auch wieder in den Aufrufskontext/Extension ( 1000 ) zurückgesprungen.
...da könnte also auch MP3Player() nach dem Dial() stehen/funktionieren.
...spiel mal damit rum ;)
 
Zuletzt bearbeitet:
Danke hab es gerade so gelöst

Code:
exten => 1000,n,Dial(SIP/1100&iax2/1100&SIP/1200&iax2/1200&SIP/1300&iax2/1300&SIP/1400&iax2/1400&SIP/60,60,tM(Sabotage))
exten => 1000,n,Hangup

[macro-Sabotage]
exten => s,1,MP3Player(/opt/loxberry/data/plugins/Door/gong.mp3)
 
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.