Anrufer Nummernblock sperren - Hilfe

mcclusky55

Neuer User
Mitglied seit
29 Jun 2006
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

Und wieder ist ein Sonntagnachmittag mit pröbeln draufgegangen, jetzt muss ich einfach um Hilfe bitten:

Ich möchte folgendes tun (Asterisk 1.6.1):

Wenn eine bestimmte Rufnummer oder Rufnummergruppe anruft, sagen wir zum Anfangen eine Rufnummer (Gruppe pröble ich später) die mit 079xxxxxxx anfängt möchte ich dass der Anruf angenommen wird und auf einen Beispieltext, in unserem Beispiel den Text "Auf Wiedersehen" umgeleitet wird und dann aufgehängt wird. Ruft eine Nummer mit anderer Vorwahl an, soll die interne Nummer 1962 ganz normal verbunden werden.

Ich habe im Forum überall recherchiert, aber nur unzusammenhängende Aussagen gefunden.

Hier meine relevanten extensions.conf Einträge:

[incoming_guest-voip]
exten => 4132xxxxxxx/_07.,1,Ringing
exten => 4132xxxxxxx/_07.,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,1,Goto(ansage,s,1)
;
[ansage]
exten => t,1,Playback(vm-goodbye)
exten => i,1,Playback(vm-goodbye)

[default]
include => lokal
include => incoming_guest-voip
include => ansage

Das Problem ist, dass mit diesen Einstellungen alle Anrufer auf den Text umgeleitet werden. Wie schaffe ich es, dass der Asterisk nur auf die von mir gewünschte Nummer (079xxxxxxx) reagiert? Trage ich beispielsweise _XX. ein, werden wieder alle Anrufe auf 1962 durchgestellt. Ich sehe hier einfach den Zusammenhang nicht.
 
Zuletzt bearbeitet:
Zum Beispiel wie folgt:

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,GotoIf($["${CALLERID(num)}" = "079XXXXX"]?ansage)
exten => 4132xxxxxxx,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,n,Hangup
exten => 4132xxxxxxx,n(ansage),Answer
exten => 4132xxxxxxx,n,Wait(1)
exten => 4132xxxxxxx,n,Goto(ansage,s,1)
;
[ansage]
exten => s,1,Playback(vm-goodbye)
exten => s,n,Hangup
exten => t,1,Playback(vm-goodbye)
exten => i,1,Playback(vm-goodbye)

[default]
include => lokal
include => incoming_guest-voip

Einfach 079XXXXX durch gewünschte Rufnummer ersetzen und es sollte funktionieren.
Möchtest Du das für mehrere Rufnummern machen (Rufnummernblock), empfiehlt sich REGEX, z.B. (relevante Zeile):

Code:
exten => 4132xxxxxxx,n,GotoIf($[${REGEX("^079",${CALLERID(num)})}=1]?ansage)

Leitet alle eingehenden Anrufe, die von der Vorwahl 079 kommen, auf die Ansage um.
 
Hallo abw1oim,

Herzlichen Dank für die Antwort, sieht super aus! Werde ich am Wochenende testen.
 
Hallo abw1oim,

Ich habe mit Deinen freundlicherweise zur Verfügung gestellten Angaben getestet. Der Context muss in Ordnung sein, da ich ohne Probleme damit telefonieren kann. Jedoch dass was er tun sollte, die Rufnummer 079xxxxxx rausfiltern macht er einfach nicht, weder mit der Nummerblockangabe, noch mit der Einzelnummerangabe. Er lässt einfach jeden Anrufer bis zu meinem Dial 1962 Befehl für die interne Rufnummer durch und es klingelt. Nehme ich meinen Dial 1962 Befehl raus, kommt brav die Ansage und hängt auf, aber natürlich für alle. Könnte es etwas damit zu tun haben, wie mein Provider Sipcall.ch die CallerID liefert und ich einfach nicht die richtige Caller ID eingebe und somit auch nichts abgefangen wird? Wenn ich mich selbst auf einem anderen Telefon anrufe, sehe ich die CallerID die ich auch im Kontext verwende. Wie finde ich heraus welche (allenfalls andere)CallerID der Asterisk zu sehen bekommt? Hier noch ein Debugauszug wenn ich eingehend mit meiner testweise gesperrten 079 Rufnummer anrufe (die 200er Adresse ist der voipgateway.org Server):

Code:
From: <sip:[email protected]>;tag=67c5461c934770ce4d85efe16ef5f317o
To: <sip:[email protected]>
Call-ID: [email protected]~1o~1o
CSeq: 200 INVITE
Contact: Anonymous <sip:212.117.200.148:5061>
Expires: 300
User-Agent: Sippy
cisco-GUID: 226681896-3126661598-3148742676-1766112306
h323-conf-id: 226681896-3126661598-3148742676-1766112306
Content-disposition: session
Content-Length: 430
Content-Type: application/sdp
 
Mach mal folgendes:

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,NoOp(Num: ${CALLERID(num)})
exten => 4132xxxxxxx,n,NoOp(Name: ${CALLERID(name)})
exten => 4132xxxxxxx,n,GotoIf($["${CALLERID(num)}" = "079XXXXX"]?ansage)

anschließend dialplan reload und core set verbose 5 in der Console.
Dann rufst Du nochmal mit Deinem Handy an und postest den entstandenen CLI-Log. Dann sehen wir, was als CALLERID angekommen ist und warum ggf. die Auswertung nicht funktioniert.
 
Hallo abw1oim,

Ok hier meine jetztige extensions.conf:

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,NoOp(Num: ${CALLERID(num)})
exten => 4132xxxxxxx,n,NoOp(Name: ${CALLERID(name)})
exten => 4132xxxxxxx,n,GotoIf($["${CALLERID(num)}" = "079xxxxxxx"]?ansage)
exten => 4132xxxxxxx,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,n,Hangup
exten => 4132xxxxxxx,n(ansage),Answer
exten => 4132xxxxxxx,n,Wait(1)
exten => 4132xxxxxxx,n,Goto(ansage,s,1)
;
;
[ansage]
exten => s,1,Playback(vm-goodbye)
exten => s,n,Hangup
exten => t,1,Playback(vm-goodbye)
exten => i,1,Playback(vm-goodbye)
;
;
; --------------------------------------------------------------------
;
[default]
include => lokal
include => incoming_guest-voip

Und hier das Ergebnis, wenn ich mit der 079xxxxxxx Nummer anrufe (Merkwürdigerweise taucht nirgends meine 079xxxxxx Nummer auf???, es klingelt aber):

Code:
xxx*CLI> dialplan reload
Dialplan reloaded.
xxx*CLI> core set verbose 5
Verbosity was 0 and is now 5
  == Using SIP RTP CoS mark 5
    -- Executing [4132xxxxxxx@default:1] Ringing("SIP/4132xxxxxxx_out-0836b418", "") in new stack
    -- Executing [4132xxxxxxx@default:2] NoOp("SIP/4132xxxxxxx_out-0836b418", "Num: 4132xxxxxxx") in new stack
    -- Executing [4132xxxxxxx@default:3] NoOp("SIP/4132xxxxxxx_out-0836b418", "Name: 4132xxxxxxx") in new stack
    -- Executing [4132xxxxxxx@default:4] GotoIf("SIP/4132xxxxxxx_out-0836b418", "0?ansage") in new stack
    -- Executing [4132xxxxxxx@default:5] Dial("SIP/4132xxxxxxx_out-0836b418", "SIP/1962,45") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 1962
    -- SIP/1962-b6500500 is ringing
  == Spawn extension (default, 4132xxxxxxx, 5) exited non-zero on 'SIP/4132xxxxxxx_out-0836b418'
       > doing dnsmgr_lookup for 'voipgateway.org'
xxx*CLI>
 
Und da liegt der Hund begraben:
Wenn die 079xxx nicht in CALLERID(num) steckt, kann auch nicht auf sie geprüft werden. Ich weoß zwar nicht, warum SIPCALL hier was falsches übermitteln soll, aber ... mach mal noch folgenden Test (bei Anruf von 079x):

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,NoOp(Num: ${CALLERID(num)})
exten => 4132xxxxxxx,n,NoOp(Name: ${CALLERID(name)})
exten => 4132xxxxxxx,n,NoOp(From: ${SIP_HEADER(FROM)})
exten => 4132xxxxxxx,n,NoOp(To: ${SIP_HEADER(TO)})
exten => 4132xxxxxxx,n,GotoIf($["${CALLERID(num)}" = "079xxxxxxx"]?ansage)
exten => 4132xxxxxxx,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,n,Hangup
exten => 4132xxxxxxx,n(ansage),Answer
exten => 4132xxxxxxx,n,Wait(1)
exten => 4132xxxxxxx,n,Goto(ansage,s,1)

und poste das ERgebnis aus asterisk -rvvvvv bei einem entsprechenden Anruf (ggf. als PN, da die vollständigen (nicht aus-gexten) Daten fpr das Problem relevant sein könnten)
 
Danke für Deine Antwort. Ich werde das vorgeschlagene auch noch testen. Ich habe bei meinen Texten nichts relevantes ausgexxxt. Dass was ich gepostet habe ist alles was rausgekommen ist. Die einzigen Sachen die jeweils ausgext sind ist die Nummer des Sipcall Accounts den ich zum testen nutze (4132xxxxxxx, auf den soll angerufen werden) und die Nummer des Handys 079xxxxxxx (mit dem rufe ich zum testen an), sowie dem Asterisk Servernamen der ja bei der CLI zu sehen wäre.
 
Zuletzt bearbeitet:
Hier das Ergebnis:

Code:
 == Using SIP RTP CoS mark 5
    -- Executing [4132xxxxxxx@default:1] Ringing("SIP/4132xxxxxxx_out-09752190", "") in new stack
    -- Executing [4132xxxxxxx@default:2] NoOp("SIP/4132xxxxxxx_out-09752190", "Num: 4132xxxxxxx") in new stack
    -- Executing [4132xxxxxxx@default:3] NoOp("SIP/4132xxxxxxx_out-09752190", "Name: 4132xxxxxxx") in new stack
    -- Executing [4132xxxxxxx@default:4] NoOp("SIP/4132xxxxxxx_out-09752190", "From: <sip:[email protected]>;tag=69df6b177e4a037460fa7386f0925318o") in new stack
    -- Executing [4132xxxxxxx@default:5] NoOp("SIP/4132xxxxxxx_out-09752190", "To: <sip:[email protected]>") in new stack
    -- Executing [4132xxxxxxx@default:6] GotoIf("SIP/4132xxxxxxx_out-09752190", "0?ansage") in new stack
    -- Executing [4132xxxxxxx@default:7] Dial("SIP/4132xxxxxxx_out-09752190", "SIP/1962,45") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 1962
    -- SIP/1962-0976ed70 is ringing
  == Spawn extension (default, 4132xxxxxxx, 7) exited non-zero on 'SIP/4132xxxxxxx_out-09752190'
xxx*CLI>
Mit dem Sip Header from Befehl erscheint die Handynummer.
 
Na, dann probier mal:

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,Set(foo=${CUT(SIP_HEADER(FROM),>,1);
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,Set(foo=${CUT(foo),<,2);
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,Set(foo=${CUT(foo),@,1);
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,Set(foo=${CUT(foo),:,2);
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,GotoIf($["${foo}" = "079xxxxxxx"]?ansage)
exten => 4132xxxxxxx,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,n,Hangup
exten => 4132xxxxxxx,n(ansage),Answer
exten => 4132xxxxxxx,n,Wait(1)
exten => 4132xxxxxxx,n,Goto(ansage,s,1)

Die NoOps sind nur zur Kontrolle, um zu sehen was passiert, falls das gewünschte Ergebnis nicht eintritt (respektive ich mich beim extrahieren der Nummer vertan habe).
 
Ich glaube jetzt geht es in die richtige Richtung, dass man mit einer Variable und dem Cut Befehl den vorderen vom hinteren Teil des SIP_HEADERS abtrennen kann und dann in die Variable die eigentliche Rufnummer abtrichtern könnte. Irgendwie scheint es aber noch Context Fehler zu haben:

Code:
Connected to Asterisk 1.6.1.0 currently running on xxx (pid = 21849)
Verbosity is at least 5
  == Using SIP RTP CoS mark 5
    -- Executing [4132xxxxxxx@default:1] Ringing("SIP/4132xxxxxxx_out-097566d0", "") in new stack
[Oct 18 16:22:26] WARNING[24071]: pbx.c:2967 pbx_substitute_variables_helper_full: Error in extension logic (missing '}')
[Oct 18 16:22:26] ERROR[24071]: func_cut.c:232 acf_cut_exec: Syntax: CUT(<varname>,<char-delim>,<range-spec>) - missing argument!
    -- Executing [4132xxxxxxx@default:2] Set("SIP/4132xxxxxxx_out-097566d0", "foo=") in new stack
    -- Executing [4132xxxxxxx@default:3] NoOp("SIP/4132xxxxxxx_out-097566d0", "Foo: ") in new stack
[Oct 18 16:22:26] WARNING[24071]: pbx.c:2967 pbx_substitute_variables_helper_full: Error in extension logic (missing '}')
[Oct 18 16:22:26] ERROR[24071]: func_cut.c:232 acf_cut_exec: Syntax: CUT(<varname>,<char-delim>,<range-spec>) - missing argument!
    -- Executing [4132xxxxxxx@default:4] Set("SIP/4132xxxxxxx_out-097566d0", "foo=") in new stack
    -- Executing [4132xxxxxxx@default:5] NoOp("SIP/4132xxxxxxx_out-097566d0", "Foo: ") in new stack
[Oct 18 16:22:26] WARNING[24071]: pbx.c:2967 pbx_substitute_variables_helper_full: Error in extension logic (missing '}')
[Oct 18 16:22:26] ERROR[24071]: func_cut.c:232 acf_cut_exec: Syntax: CUT(<varname>,<char-delim>,<range-spec>) - missing argument!
    -- Executing [4132xxxxxxx@default:6] Set("SIP/4132xxxxxxx_out-097566d0", "foo=") in new stack
    -- Executing [4132xxxxxxx@default:7] NoOp("SIP/4132xxxxxxx_out-097566d0", "Foo: ") in new stack
[Oct 18 16:22:26] WARNING[24071]: pbx.c:2967 pbx_substitute_variables_helper_full: Error in extension logic (missing '}')
[Oct 18 16:22:26] ERROR[24071]: func_cut.c:232 acf_cut_exec: Syntax: CUT(<varname>,<char-delim>,<range-spec>) - missing argument!
    -- Executing [4132xxxxxxx@default:8] Set("SIP/4132xxxxxxx_out-097566d0", "foo=") in new stack
    -- Executing [4132xxxxxxx@default:9] NoOp("SIP/4132xxxxxxx_out-097566d0", "Foo: ") in new stack
    -- Executing [4132xxxxxxx@default:10] GotoIf("SIP/4132xxxxxxx_out-097566d0", "0?ansage") in new stack
    -- Executing [4132xxxxxxx@default:11] Dial("SIP/4132xxxxxxx_out-097566d0", "SIP/1962,45") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 1962
    -- SIP/1962-09745878 is ringing
  == Spawn extension (default, 4132xxxxxxx, 11) exited non-zero on 'SIP/4132xxxxxxx_out-097566d0'
xxx*CLI>
 
Lies die Fehlermeldung: Es fehlen noch ein paar schließende geschweifte Klammern... (Versuchsweise würde ich die mal in den jeweiligen Zeilen vor die letzte schließende runde Klammer packen.)

Edit: ...und schließende runde Klammern fehlen auch noch einzelne...
 
Habe noch folgendes herausgefunden:

Wenn man den obersten Befehl so verändert:
Code:
exten => 4132xxxxxxx,n,Set(foo=${CUT(SIP_HEADER(From),@,1)})

Erhält man:
Code:
  == Using SIP RTP CoS mark 5
    -- Executing [4132xxxxxxx@default:1] Ringing("SIP/4132xxxxxxx_out-09752a00", "") in new stack
    -- Executing [4132xxxxxxx@default:2] Set("SIP/4132xxxxxxx_out-09752a00", "foo=<sip:079xxxxxxx") in new stack
    -- Executing [4132xxxxxxx@default:3] NoOp("SIP/4132xxxxxxx_out-09752a00", "Foo: <sip:079xxxxxxx") in new stack

Wie bringe ich jetzt noch den sip: Text von der Nummer weg?
 
Dies müsste der 4. CUT-Befehl bewirken.
 
Sorry für die Tippfehler, hier die korrekte Fassung:

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,Set(foo=${CUT(SIP_HEADER(FROM),>,1)});
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,Set(foo=${CUT(foo),<,2)});
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,Set(foo=${CUT(foo),@,1)});
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,Set(foo=${CUT(foo),:,2)});
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,GotoIf($["${foo}" = "079xxxxxxx"]?ansage)
exten => 4132xxxxxxx,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,n,Hangup
exten => 4132xxxxxxx,n(ansage),Answer
exten => 4132xxxxxxx,n,Wait(1)
exten => 4132xxxxxxx,n,Goto(ansage,s,1)
 
Irgendwie klappt's immer noch nicht ganz:

Code:
  == Using SIP RTP CoS mark 5
    -- Executing [4132xxxxxxx@default:1] Ringing("SIP/4132xxxxxxx_out-0976e720", "") in new stack
    -- Executing [4132xxxxxxx@default:2] Set("SIP/4132xxxxxxx_out-0976e720", "foo=<sip:[email protected]") in new stack
    -- Executing [4132xxxxxxx@default:3] NoOp("SIP/4132xxxxxxx_out-0976e720", "Foo: <sip:[email protected]") in new stack
    -- Executing [4132xxxxxxx@default:4] Set("SIP/4132xxxxxxx_out-0976e720", "foo=") in new stack
    -- Executing [4132xxxxxxx@default:5] NoOp("SIP/4132xxxxxxx_out-0976e720", "Foo: ") in new stack
    -- Executing [4132xxxxxxx@default:6] Set("SIP/4132xxxxxxx_out-0976e720", "foo=") in new stack
    -- Executing [4132xxxxxxx@default:7] NoOp("SIP/4132xxxxxxx_out-0976e720", "Foo: ") in new stack
[Oct 18 16:59:53] ERROR[24605]: func_cut.c:232 acf_cut_exec: Syntax: CUT(<varname>,<char-delim>,<range-spec>) - missing argument!
    -- Executing [4132xxxxxxx@default:8] Set("SIP/4132xxxxxxx_out-0976e720", "foo=") in new stack
    -- Executing [4132xxxxxxx@default:9] NoOp("SIP/4132xxxxxxx_out-0976e720", "Foo: ") in new stack
    -- Executing [4132xxxxxxx@default:10] GotoIf("SIP/4132xxxxxxx_out-0976e720", "0?ansage") in new stack
    -- Executing [4132xxxxxxx@default:11] Dial("SIP/4132xxxxxxx_out-0976e720", "SIP/1962,45") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 1962
    -- SIP/1962-09773898 is ringing
  == Spawn extension (default, 4132xxxxxxx, 11) exited non-zero on 'SIP/4132xxxxxxx_out-0976e720'
xxx*CLI>
 
Ist heute - hinsichtlich korrekter Schreibweise - scheinbar nicht mein Tag:

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,Set(foo=${CUT(SIP_HEADER(FROM),>,1)});
exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
[B]exten => 4132xxxxxxx,n,Set(foo=${CUT(foo,<,2)});
[/B]exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
[B]exten => 4132xxxxxxx,n,Set(foo=${CUT(foo,@,1)});
[/B]exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
[B]exten => 4132xxxxxxx,n,Set(foo=${CUT(foo,:,2)}); alternativ: exten => 4132xxxxxxx,n,Set(foo=${foo:4});
[/B]exten => 4132xxxxxxx,n,NoOp(Foo: ${foo})
exten => 4132xxxxxxx,n,GotoIf($["${foo}" = "079xxxxxxx"]?ansage)
exten => 4132xxxxxxx,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,n,Hangup
exten => 4132xxxxxxx,n(ansage),Answer
exten => 4132xxxxxxx,n,Wait(1)
exten => 4132xxxxxxx,n,Goto(ansage,s,1)
 
Hab's rausbekommen:

Es braucht nur die erste Zeile in der man doppelt cutten kann (habe ich im VOIP-Info.org gefunden):

http://www.voip-info.org/wiki/view/Asterisk+func+sip_header (Example 3)

Obenstehendes werde ich auch noch testen, vielen Dank.


Code:
exten => 4132xxxxxxx,n,Set(foo=${CUT(CUT(SIP_HEADER(From),@,1),:,2)})

Dann Output:
Code:
  == Using SIP RTP CoS mark 5
    -- Executing [4132xxxxxxx@default:1] Ringing("SIP/4132xxxxxxx_out-09765000", "") in new stack
    -- Executing [4132xxxxxxx@default:2] Set("SIP/4132xxxxxxx_out-09765000", "foo=079xxxxxxx") in new stack
    -- Executing [4132xxxxxxx@default:3] GotoIf("SIP/4132xxxxxxx_out-09765000", "1?ansage") in new stack
    -- Goto (default,4132xxxxxxx,6)
    -- Executing [4132xxxxxxx@default:6] Answer("SIP/4132xxxxxxx_out-09765000", "") in new stack
    -- Executing [4132xxxxxxx@default:7] Wait("SIP/4132xxxxxxx_out-09765000", "1") in new stack
    -- Executing [4132xxxxxxx@default:8] Goto("SIP/4132xxxxxxx_out-09765000", "ansage,s,1") in new stack
    -- Goto (ansage,s,1)
    -- Executing [s@ansage:1] Playback("SIP/4132xxxxxxx_out-09765000", "vm-goodbye") in new stack
    -- <SIP/4132xxxxxxx_out-09765000> Playing 'vm-goodbye.gsm' (language 'de')
    -- Executing [s@ansage:2] Hangup("SIP/4132xxxxxxx_out-09765000", "") in new stack
  == Spawn extension (ansage, s, 2) exited non-zero on 'SIP/

Vielen herzlichen Dank für Eure Unterstützung, ohne die ich niemals soweit gekommen wäre.
 
Die funktionierende Anrufernummeridentifizierung und Umleitung auf einen beliebigen Text für eine einzelne Rufnummer die man nicht haben möchte (z.B. Werbeanrufe) bei Sipcall.ch lautet also:

Extensions.conf:
Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Ringing
exten => 4132xxxxxxx,n,Set(foo=${CUT(CUT(SIP_HEADER(From),@,1),:,2)})
exten => 4132xxxxxxx,n,GotoIf($["${foo}" = "079xxxxxxx"]?ansage) ; einzelne Nummer sperren/umleiten
;exten => 4132xxxxxxx,n,GotoIf($[${REGEX("^079",${foo})}=1]?ansage) ; Nummernblock sperren/umleiten (muss ich noch testen)
exten => 4132xxxxxxx,n,Dial(SIP/1962,45)
exten => 4132xxxxxxx,n,Hangup
exten => 4132xxxxxxx,n(ansage),Answer
exten => 4132xxxxxxx,n,Wait(1)
exten => 4132xxxxxxx,n,Goto(ansage,s,1);
;
[ansage]
exten => s,1,Playback(vm-goodbye)
exten => s,n,Hangup
exten => t,1,Playback(vm-goodbye)
exten => i,1,Playback(vm-goodbye)
;
;
; --------------------------------------------------------------------
;
[default]
include => lokal
include => incoming_guest-voip

Nur die 079xxxxxxxx Rufnummer wird umgeleitet, alle anderen kommen durch.
 
Zuletzt bearbeitet:
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.