Wiki source code of Dial plan
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
2.1 | 1 | = {{id name="_Toc508027809"/}}13.Dial plan = |
2 | |||
3 | Come indicato precedentemente, il dial plan deve essere impostato nella finestra “Advanced account settings” che può essere attivata premendo il pulsante “Advanced settings” che si trova nella scheda “Account” della finestra “Settings” (per maggiori dettagli consultare il paragrafo “Account”). | ||
4 | |||
5 | Un dial plan può avere diverse funzioni connesse ai piani di numerazione; le seguenti costituiscono solo un esempio: | ||
6 | |||
7 | * Impostare l’esecuzione automatica di numeri interni composti da tre cifre. | ||
8 | * Individuare i numeri telefonici appartenenti ad apparecchi esterni ed impostare il codice di impegno previsto dal centralino (ad es. “0”) . | ||
9 | * Eliminare il codice “+39” per le chiamate dirette in Italia, oppure riconoscere le chiamate dirette all’estero, di conseguenza sostituire il codice “+” con quello previsto per le chiamate internazionali, ossia “00”. | ||
10 | |||
11 | == {{id name="_Toc508027810"/}}Struttura del dial plan == | ||
12 | |||
13 | Il dial plan è composto da regular expression tipicamente suddivise in tre parti. Queste possono essere separate dai caratteri “|” o “!”; ad esempio, prendiamo la regular expression "|^\+([0-9]*)$|000\1|d": | ||
14 | |||
15 | 1. La prima parte (“|^\+([0-9]*)$|”) contiene il pattern che verrà usato per individuare il numero chiamato. | ||
16 | 1. La seconda parte (“|000\1|”) contiene le istruzioni dell’operazione di sostituzione da applicare ai risultati ottenuti nella prima parte. | ||
17 | 1. La terza (“|d”|) è opzionale e contiene i flag che impostano alcuni attributi addizionali. | ||
18 | |||
19 | == {{id name="_Toc508027811"/}}Le sostituzioni == | ||
20 | |||
21 | Le espressioni di sostituzione trovano nella seconda parte del dial plan e sono sempre indicate dal carattere “\” seguito da un valore. Questo può essere di due tipi: | ||
22 | |||
23 | * di tipo numerico, ad es. “\1”; | ||
24 | * il segnaposto “d”, ad es. “\d”. | ||
25 | |||
26 | Nel primo caso l’istruzione di sostituzione deve essere applicata alla stringa che costituisce il primo risultato del match compiuto dalla prima parte del dial plan. | ||
27 | |||
28 | Nel secondo caso l’istruzione “\d” indica sempre il valore del registrar server (per maggiori informazioni su quest’ultimo consultare il paragrafo “Account”). | ||
29 | |||
30 | Ad esempio la seguente regular expression “|*|sip:\1@\d|” antepone la stringa “[[sip:>>path:sip:]]” al numero individuato dall’espressione “*”, secondo appunto l’istruzione di sostituzione “\1”, ed aggiunge il nome del dominio SIP dopo il carattere “@”, come indicato dal segnaposto “\d”. | ||
31 | |||
32 | == {{id name="_Toc508027812"/}}I flag == | ||
33 | |||
34 | Sono altresì disponibili i seguenti flag: | ||
35 | |||
36 | * “d”: permette di chiamare il numero visualizzato nel display senza premere il pulsante di chiamata. Ad esempio la seguente regular expression “|([0-9]{3})|sip:\1@ifminfomaster.com|d” esegue immediatamente la chiamata al numero indicato, ma solo se esso è composto da tre cifre (“{3}”). | ||
37 | * “i”: indica che le operazioni di confronto sono case-sensitive. | ||
38 | |||
39 | == {{id name="_Toc508027813"/}}Dial plan complessi (concatenazione di dial plan) == | ||
40 | |||
41 | In alcune circostanze, affinché si possano compiere operazioni complesse, i dial plan possono essere concatenati tra loro. Per fare ciò è necessario che i singoli dial plan siano racchiusi tra doppi apici, ad es. "|^\+39([0-9]*)$|0\1|d" "|^\+([0-9]*)$|000\1|d". | ||
42 | |||
43 | **Attenzione**: i doppi apici vanno utilizzati soltanto in presenza di concatenazione. |