TK-Leistungsmerkmal - VIP-Behandlung

Asterisk Logo

Im Gegensatz zu Sperrung einzelner Rufnummer, wie in den vorgenannten Beispielen unter "Blacklisting" beschrieben, können wir natürlich auch den Mustervergleich nutzen, um einzelne Anruferen einem besonderen Service angedeihen zu lassen.

In folgenden Beispiel gehen wir von folgendem Beispiel aus. Wir unterhalten für unser Unternehmen zwei Supportgruppen, den 1st- und den 2nd-level Support. Die 1st-level Gruppe besteht aus 9 internen Arbeitsplätzen, mit den Rufnummern 11 bis 19, der 2nd-level Support (Nst. 20) wird von einem Mitarbeiter wahrgenommen und steht im Grunde nur für interne Rückfragen des 1st-level Supports zu Verfügung. Lediglich der VIP-Kunde mit der Rufnummer 08949757369 wird direkt zu ihm durchgestellt. Der Anruf wird dabei parallel auf der internen Rufnummer 20 und auch auf der Händierufnummer 01907422960 signalisiert.

Der zugehörige dialplan beim Kontext [ankommend_(mISDN)] würde hierzu wie folgt aussehen:

; ankommende ISDN-Anrufe der MSN 883176 werden in der 1st-level Supportgruppe signalisiert; d.h. die definierten Nebenstellen von
; 11 bis 19 sollen bei einem Anruf klingeln. Ruft hingegen unser VIP-Kunde mit der Rufnummer 08949757369 an bei der MSN 883176 an, 
; so landet dieser direkt beim 2nd-level Support und wir an dessen internen Nebenstelle 20 und auf der dessen Mobilfunkrufnummer
; 01907422960
exten => 883176/08949757369,1,NoOp(Anruf des VIP-Kunden mit der Rufnummer ${CALLERID(num)} ruf an! VIP-Behandlung veranlassen!)
exten => 883176/08949757369,n,Dial(SIP/20&mISDN/g:Mnet/01907422960,60)
exten => 883176/08949757369,n,Hangup
exten => 883176,1,NoOp(Externanrufer mit der Rufnummer ${CALLERID(num)} ist 08/15-Kunde und wird im 1st-level Support abgeworfen.)
exten => 883176,n,Dial(SIP/11&SIP/12&SIP/13&SIP/14&SIP/15&SIP/16&SIP/17&SIP/18&SIP/19,60)
exten => 883176,n,Hangup

Wie immer bearbeiten wir mit nachfolgendem Aufruf unseren Dialplan.

# /etc/asterisk/extensions.conf

Anschließend laden wir den dialplan neu und verbinden uns mit dem CLI des Asterisken. Mit dem Befehl dialplan show ankommend_(mISDN) können wir uns davon überzeugen ob die Änderungen am [ankommend_(mISDN)] Kontext übernommen wurden.

asterisk*CLI> dialplan show ankommend_(mISDN)
[ Context 'ankommend_(mISDN)' created by 'pbx_config' ]
  '883176' (CID match '08949757369') =>  1. NoOp(Anruf des VIP-Kunden mit der Rufnummer ${CALLERID(num)} ruf an! VIP-Behandlung veranlassen!) [pbx_config]
                    2. Dial(SIP/204&mISDN/g:Mnet/01907422960,60)   [pbx_config]
                    3. Hangup()                                   [pbx_config]
  '883176' =>       1. NoOp(Externanrufer mit der Rufnummer ${CALLERID(num)} ist 08/15-Kunde und wird im 1st-level Support abgeworfen.) [pbx_config]
                    2. Dial(SIP/11&SIP/12&SIP/13&SIP/14&SIP/15&SIP/16&SIP/17&SIP/18&SIP/19,60)                    [pbx_config]
                    3. Hangup()                                   [pbx_config]

-= 2 extensions (7 priorities) in 1 context. =-
asterisk*CLI>

Rufen nun unsere „Ottonormalsterblichen Kunden“ an, so werden diese Anrufe wie gewünscht in der 1st-level Supportgruppe signalisiert.

asterisk*CLI> 
    -- Executing [883176@ankommend_(mISDN):1] NoOp("mISDN/1-u52", "Externanrufer mit der Rufnummer 08121883179 ist 08/15-Kunde und wird im 1st-level Support abgeworfen.") in new stack
    -- Executing [883176@ankommend_(mISDN):2] Dial("mISDN/1-u52", "SIP/11&SIP/12&SIP/13&SIP/14&SIP/15&SIP/16&SIP/17&SIP/18&SIP/19,60") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 11
    -- SIP/11-0000001c is ringing
    -- Called 12
    -- SIP/12-0000001c is ringing
    -- Called 13
    -- SIP/13-0000001c is ringing
    -- Called 14
    -- SIP/14-0000001c is ringing
    -- Called 15
    -- SIP/15-0000001c is ringing
    -- Called 16
    -- SIP/16-0000001c is ringing
    -- Called 17
    -- SIP/17-0000001c is ringing
    -- Called 18
    -- SIP/18-0000001c is ringing
    -- Called 19
    -- SIP/19-0000001c is ringing
  == Spawn extension (ankommend_(mISDN), 883176, 2) exited non-zero on 'mISDN/1-u52'
asterisk*CLI>

Ruft aber nun unser VIP-Kunde an, so wird dieser nicht zum 1st-level Support geschickt, sondern direkt zum Spezialisten beim 2nd-level Support.

asterisk*CLI> 
    -- Executing [883176@ankommend_(mISDN):1] NoOp("mISDN/1-u58", "Anruf des VIP-Kunden mit der Rufnummer 08949757369 ruf an! VIP-Behandlung veranlassen!") in new stack
    -- Executing [883176@ankommend_(mISDN):2] Dial("mISDN/1-u58", "SIP/14&mISDN/g:Mnet/01907422960,60") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 14
    -- Called g:Mnet/01907422960
    -- SIP/14-0000001e is ringing
    -- SIP/14-0000001e is ringing
    -- mISDN/2-u60 is proceeding passing it to mISDN/1-u58
    -- SIP/14-0000001e is ringing
    -- mISDN/2-u60 is ringing
    -- SIP/14-0000001e is ringing
  == Spawn extension (ankommend_(mISDN), 883176, 2) exited non-zero on 'mISDN/1-u58'
asterisk*CLI>