Il sistema di call parking: configurazione e funzionamento (obsoleto, da risistemare)

Il call parking consente di parcheggiare delle chiamate trasferendole ad un interno fittizio, per poi poterle riprendere in un secondo momento. Se una chiamata resta parecheggiata oltre il timeout impostato, Asterisk richiama il telefono che l'ha parcheggiata per riconnettere la chiamata parcheggiata con il parcheggiatore.

Nota: Nelle mie prove il sistema non sta funzionando bene, perche` dopo aver trasferito la chiamata al "parcheggio", la connessione fra il mio telefono e asterisk cade immediatamente, prima che Asterisk riesca a "dirmi" (suonando i files vocali) su che extension la chiamata viene parecheggiata. Il risultato e` che il sistema funziona, ma io non so che numero devo chiamare per recuperare la mia chiamata (e non quella di un altro!) Non so se il problema sia legato al telefono o ad Asterisk, pero` di fatto questo rende il sistema inutilizzabile.

Configurazione del call parking

La configurazione del call parking, assieme con altre configurazioni miste (chissa` perche`?) si trova nel file /etc/asterisk/features.conf. Nella versione Debian Sarge di Asterisk ci sono poche funzioni, nella attuale CVS (che sara` la 1.2) ce ne sono di piu`, ma noi qui prendiamo in considerazione la versione vecchia.

; Questo file non controlla solo il sistema del parking, ma anche
; altre funzionalita`.

; ##################################
; qui ci sono le funzioni di parking
; ##################################

[general]
parkext => 700                  ; What ext. to dial to park
parkpos => 701-720              ; What extensions to park calls on
context => parkedcalls          ; Which context parked calls are in
;parkingtime => 45              ; Number of seconds a call can be parked for
                                ; (default is 45 seconds)
;transferdigittimeout => 3      ; Number of seconds to wait between digits when transfering a call
courtesytone = beep             ; Sound file to play to the parked caller
                                ; when someone dials a parked call
;adsipark = yes                 ; if you want ADSI parking announcements


; #########################################
; Qui ci sono altre funzioni non di parking
; #########################################

;pickupexten = *8               ; Configure the pickup extension.  Default is *8

Per poter riprendere le chiamate parcheggiate, e` NECESSARIO che nel file extensions.conf, nei vari context in cui si trovano i telefoni che devono usare il parking, sia incluso il context speciale "parkedcalls" (cosi` come indicato nel file di config del parking qui sopra), cosi`:

include => parkedcalls

Funzionamento del call parking

Durante una comunicazione, si trasferisce una chiamata all'interno numero 700. La chiamata viene "parcheggiata" su un interno compreso fra 701 e 720 (il primo libero). Da qualsiasi telefono che si trovi nel context che include quello delle "parkedcalls", e` possibile chiamare l'interno 7xx giusto (diciamo 701 per la prima chiamata parcheggiata) per riprendere la chiamata.