[Gelöst] BLACKLIST() im Dialplan greift noch nicht

Diani

Neuer User
Mitglied seit
20 Dez 2016
Beiträge
26
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

ich versuche gerade die Funktion "BLACKLIST()" in einen Teil meines Dialplans auszuführen.
Zuerst soll getestet werden, ob die anrufende Nummer überhaupt auf einer schwarzen Liste steht. Wenn nein, wird die Erreichbarkeit des Gerätes geprüft, respektive die Feiertage.

Code:
[day]
[COLOR=#ff0000]exten => 02118563112,1,GotoIf($[${BLACKLIST()}?blacklisted)[/COLOR]
 same => n,GotoIf($[${DEVICE_STATE(PJSIP/63112)}=UNAVAILABLE]?unavail63112)
 same => n,GotoIfTime(10:00-17:29,*,6,jan?holiday2)                                     
 same => n,GotoIfTime(10:00-17:59,*,14,apr?holiday2)                                    
 same => n,GotoIfTime(10:00-17:59,*,17,apr?holiday2)                                    
 same => n,GotoIfTime(10:00-17:59,*,1,may?holiday2)                                     
 same => n,GotoIfTime(10:00-17:59,*,25,may?holiday2)                                    
 same => n,GotoIfTime(10:00-17:59,*,5,jun?holiday2)                                     
 same => n,GotoIfTime(10:00-17:59,*,15,jun?holiday2)                                   
 same => n,GotoIfTime(10:00-17:59,*,3,oct?holiday2)                                     
 same => n,GotoIfTime(10:00-17:59,*,31,oct?holiday2)                                    
 same => n,GotoIfTime(10:00-17:59,*,1,nov?holiday2)                                     
 same => n,GotoIfTime(10:00-17:59,*,25,dec?holiday2)                                    
 same => n,GotoIfTime(10:00-17:59,*,26,dec?holiday2)                                    
 same => n,GotoIfTime(12:00-12:30,mon-fri,*,*?unavail63112)                             
 same => n,GotoIfTime(16:00-17:29,fri,*,*?friday-closed)                                
 same => n,GotoIfTime(18:00-7:59,mon-fri,*,*?unavail63112)
 same => n,Dial(PJSIP/63112&PJSIP/6001,20,m[through-the-fields])
 same => n(unavail63112),Playback(Day)
[COLOR=#ff0000] same => n(blacklisted),Playback(Access-Denied)
 same => n,Hangup()[/COLOR]
 same => n,VoiceMail(3112@office,s)
 same => n,Hangup()
 same => n(friday-closed),Playback(Closed-Day)
 same => n,VoiceMail(3112@office,s)
 same => n,Hangup()
 same => n(holiday2),Playback(Holiday-Day)
 same => n,VoiceMail(3112@office,s)
 same => n,Hangup()

In der Asterisk-CLI habe ich die AstDB mit meiner Mobilfunknummer befüllt
Code:
database put blacklist +49160123546 "Testing"
Wahlweise mit "+49160..." oder "0160..." Dann habe ich einen "core restart gracefully" durchgeführt.
Ein Abruf auf der Nummer "02118563112" vom Mobiltelefon aus, führt mich dennoch zu
"same => n,Dial(PJSIP/63112&PJSIP/6001,20,m[through-the-fields])"

Was mache ich noch falsch?

Besten Dank

Diani
 
Zuletzt bearbeitet:
Moin


:confused:
Was mache ich noch falsch?
Du kiekst dir die Anrufernummer nicht so an, wie Asterisk sie sieht.
Mach mal als zweite Zeile...
Code:
same => n,Verbose(Nummer: ${CALLERID(num)})
...und die gehört in die Blacklist rein mit dem database Kommando.

Alternativ dazu könntest auch die Extension in einen "Lernmodus" laufen lassen...
Code:
same  => n,Set(DB(blacklist/${CALLERID(num)})=AUTOSPERRE)
 
Zuletzt bearbeitet:
Sorry, ich denke, die steht bereits richtig in der AstDB, so an wie sie Asterisk sieht:
Code:
database show
/blacklist/+49160123546                          : Testing
Was Dein Code mit VERBOSE auch beweist.
 
Und? Auch geladen?

Asterisk Konsole
Code:
 osmc*CLI> module show like blacklist
Module                         Description                              Use Count
func_blacklist.so              Look up Caller*ID name/number from black 0
1 modules loaded

Ansonsten kann es nur noch ein Flüchtigkeitsfehler sein, fehlende Klammer ( $[...] ) oder sowas.
Bei mir funktioniert...
Code:
same => n,GotoIf(${BLACKLIST()}?blacklisted)
 
Zuletzt bearbeitet:
Stimmt
Code:
GotoIf([COLOR=#b22222]$[[/COLOR]${BLACKLIST()}?blacklisted)
das waren zwei Zeichen zu viel.

Vielen Dank, jetzt läuft es.
 
Oder...
Code:
 GotoIf([color="red"]$[[/color]${BLACKLIST()}[color="red"]][/color]?blacklisted)
...eins zu wenig.

Was jetzt "richtiger" ist, weiss ich aber auch nicht.
:rolleyes:
 
Das war ja meine erste Vorgehensweise. Allerdings hatte ich die schließende Klammer übersehen.
 
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.