Eine Leitung Teilen- Dail Ansage (Klopfen)

Fredjam

Mitglied
Mitglied seit
7 Mai 2006
Beiträge
362
Punkte für Reaktionen
0
Punkte
0
Guten Morgen

Ich habe ein kleines Problem und noch keine Richtige Lösung.
Habe eine Provider aber nur eine Leitung, wollte jetzt wenn einer telefoniert und eine zweite Person die gleiche Leitung nutzten will, das die erste Person so was wie einen anklopfen oder noch besser eine audio Datei hört.
Hier bei darf natürlich nur der anrufende diese audio Datei hören.

Jetzt hatte ich mir erste den Dial befehl angeschaut, aber hier nur den Flag

L(x[:y][:z])

"Begrenzt die Dauer des Anrufs auf x Millisekunden, wobei y Millisekunden vor Ablauf der festgesetzten Dauer und danach wiederholt alle z Millisekunden bis zum Anlauf der Frist eine Warnung signalisiert wird. Der x-Parameter muss angegeben werden, y und z sind optional. Die folgenden speziellen Variablen können ebenfalls gesetzt werden und stellen zusätzliche Kontrollmöglichkeiten zur Verfügung:"

Gefunden was mich aber nicht weiter bringt.


Jetzt habe ich mir gedacht, den befehl ExtenSpy() zu nutzten
http://www.das-asterisk-buch.de/2.1/applikationen-extenspy.html

in Verbindung mit dem dial Flag P[(x)]
P[(x)]

"Aktiviert den Geheimhaltungs-Modus, wobei optional x als Familie/Schlüssel-Wert in der AstDB spezifiziert werden kann. Dieser Modus ist beispielsweise nützlich, wenn Anrufe aus einer Blacklist (Anrufe von Nummern aus der Blacklist werden explizit abgelehnt) oder Whitelist (Anrufe von den gelisteten Nummern werden explizit akzeptiert) angenommen werden. Siehe auch LookupBlacklist()."

Glaubt ihr das geht ?



Ach ja und noch was hat jemand von euch schon mal hinbekommen nicht vor dem dial, (so mache ich das gerade) sondern wehrend das Dial eine audio datei anzuspielen? also mit dem flag A(x)
"Spielt dem angerufenen Teilnehmer eine Ankündigung vor. x ist der Dateiname der audio Datei, die als Ankündigung abzuspielen ist."

Habe hier meine variable eingefügt aber der Ignoriert einfach die Flag

Schon mal im Voraus Danke für die Hilfe
 
Die Lösung für dein zweites Problem (audiodatei "beim" DIAL einspielen) ist mittels ChanSpy möglich.
Ich habe es so realisiert, dass direkt vor dem DIAL eine callfile angelegt wird. Diese ruft zuerst einen lokalen context auf welcher so aussieht:
Code:
[announce_spy]
exten => _.X.,1,Answer()
exten => _.X.,n,NoCDR()
exten => _.X.,n,ChanSpy(SIP/${EXTEN},qw)
exten => _.X.,n,Wait(10)
exten => _.X.,n,Hangup()

Das andere Ende dieser Leitung wird hiermit verbunden:
Code:
[announce_say]
exten => s,1,Answer()
exten => s,n,NoCDR()
exten => s,n,Wait(0.5)
exten => s,n,Playback(${CallAnnounce})
exten => s,n,Hangup()

In der Callfile wird folgendes abgespeichert:
Channel: Local/${CHANNEL:4}@announce_spy (in diesem Fall weis ich, dass es sich um ein SIP channel handelt, deswegen kann ich die 4 Buchstaben "SIP/" einfach vorne abschneiden)
Context: announce_say
Extension: s
Set: CallAnnounce=${CallAnnounce} (diese Variable enthält den namen der Sounddatei die abgespielt werden soll)
 
Hallo und danke für die schnelle antwort.
Eins habe ich noch nicht ganz verstanden wie weist du welcher der richtiege channel ist...
${CHANNEL:4}@announce_spy
Das verstehe ich nicht so kanns muss ich nicht auch noch beim anfänglichen dial out auch noch was setzten so das der channel gefunden wird?
 
${CHANNEL} ist eine Asterisk-Variable und enthält den Namen des aktuellen Channels z.B. "SIP/1003-824482a4". Dieser wird halt mit in die Callfile geschreiben und in ChanSpy verwendet.
 
Oki es funktioniert :)

habe es ein wenig abgeändert usw so

exten => _X.,n,Set(SPYGROUP=10005)
den set haeb ich vor dem dial gesetzt also wenn die erste person raustelefoniert wo die leitung noch frei ist.

und so habe ich es dann an deinen code angepast.

Code:
[announce_spy]
exten => _.X.,1,Answer()
exten => _.X.,n,NoCDR()
exten => _.X.,n,ChanSpy(,qwg(10005))
exten => _.X.,n,Wait(10)
exten => _.X.,n,Hangup()
das ist einfach super

Vielleicht werde ich jetzt noch dieses ein wenig Individualisieren und den jeweiliegen teilnehmern die möglich keit zu geben die wichtigkeit und wer überhaubt versucht gerade zu telefonieren dort hinzuzufügen.

Vielen Danke für deine Hilfe.
 
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.