Probleme beim blockieren von Spam-Anrufen
Ich versuche Anrufe einer bestimmten Nummer zu blockieren. Mein Vorgehen war wie folgt:
- Mit dem Graphischen Skript Editor wurde ein Skript erstellt, welches bei einem Anruf der betreffenden Rufnummer den Anruf sofort beendet.
- Dieses Skript wurde habe ich unter dem Namen PreProcessing gespeichert.
- Nun wurde über das SwyxAdmin Tool über Server>Eigenschaften>Dateien>bearbeiten das Skript lokal gespeichert und anschließend im Bereich Global wieder hinzugefügt. Es wird dann unter rulePreProcessing.vbs angezeigt.
Nun zu meinem Problem. Verfahre ich wie oben und gebe meine eigene Mobilfunknummer an, werde ich wie gewünscht blockiert. Will ich auf genau die selbe Weise die Spam-Nummer (004421...) blockieren, kommt sie trotzdem durch.
Es wurden mehrere Schreibweisen (+4421..., 004421..., 0004421...) probiert. Erfolglos.
Ebenso hat das Blockieren mit mehreren anderen Nummern (ausländische, deutsche,...) funktioniert.
Wir nutzen die Swyx Version 10.40.2694 de-DE mit Optionspaket SwyxECR.
-
Hey Thomas,
das Skript sieht aus wie folgt:
'$$$GSEScript$$$
'GSE rule: rulePreProcessing; GSEVersion: 10.40.0.5
Function rulePreProcessing(ByRef rInputParams)
PBXScriptOutputTrace "Begin GSE Script (Rule: rulePreProcessing)"
PBXScriptOutputTrace "GSEVersion: 10.40.0.5"
Dim szState, retVal, rcDummy, bWasDisconnect, UseExit, bRuleResult
bRuleResult = False
szState = "Start0"
bWasDisconnect = False
Do
Select Case szState
'////////////////////////
Case "Start0"
PBXScriptOutputTrace " case [Start0]"
retVal = gseStart()
Select Case retVal
Case gseStateStarted
szState = "Call4"
Case Else
PBXScriptOutputTrace "Error: Abnormal case thread"
Exit Do
End Select
'////////////////////////
Case "End1"
PBXScriptOutputTrace " case [End1]"
bRuleResult = True
Exit Do
'////////////////////////
Case "Skip2"
PBXScriptOutputTrace " case [Skip2]"
bRuleResult = False
Exit Do
'////////////////////////
Case "Disconnect3"
PBXScriptOutputTrace " case [Disconnect3]"
If (Not bWasDisconnect) Then
szState = "End1"
bWasDisconnect = True
Else
PBXScriptOutputTrace "GSE anti-LOOP script executed"
bRuleResult = True
Exit Do
End If
'////////////////////////
Case "Call4"
PBXScriptOutputTrace " case [Call4]"
retVal = gseCalls((CallsWithCallerID("000442175925064")))
CheckIfCallIsDisconnected retVal
Select Case retVal
Case gseStateTrue
szState = "Terminate5"
Case gseStateFalse
szState = "Skip2"
Case gseStateDisconnected
szState = "Disconnect3"
Case Else
PBXScriptOutputTrace "Error: Abnormal case thread"
Exit Do
End Select
'////////////////////////
Case "Terminate5"
PBXScriptOutputTrace " case [Terminate5]"
retVal = gseTerminate("2")
Select Case retVal
Case gseStateTerminated
szState = "Disconnect3"
Case Else
PBXScriptOutputTrace "Error: Abnormal case thread"
Exit Do
End Select
'////////////////////////
Case Else
'Something wrong
Exit Do
End Select
Loop
rulePreProcessing = bRuleResult
PBXScriptOutputTrace "Rule result: " & bRuleResult
PBXScriptOutputTrace "End GSE Script (Rule: rulePreProcessing)"
End FunctionIm GSE sieht es so aus:
CDRs habe ich nicht.
Gruß
Roquefort
-
Dein Script scheint ja prinzipiell zu funktionieren. Ich vermute die Spammer rotieren die Durchwahlen?
hier:https://www.swyx.de/produkte/support/wissensdatenbank/artikel-details/swyxknowledge/kb2219.html
gibts eine schönes Script bzw. Funktion um Nummern abzuprüfen. Wenn du eine MYSQL datenbank nimmst, kannst du auch mit LIKE im Statement die Kopfnummer eintragen und dann ein % auch ganze Bereiche sperren.
Und du musst bei einer zusätzlichen Rufnummer nicht immer im Preprocessing rummachen sondern einfach einen neuen Eintrag in die DB.
Please sign in to leave a comment.
Comments
3 comments