Asterisk dialplan

Introducere în extensia (extensii) și contexte (context)

Canalele sunt alocate contexte. Contextele definesc regulile stabilite pentru canalele
Plan de apelare este format din unul sau mai multe contexte. Fiecare context, este un set de extensii (extensiile). Fiecare ekstenshen în contextul unui nume unic.

Contextele sunt utilizate pentru a îndeplini funcțiile de bază ale centralei telefonice.

Securitate. Puteți activa pe distanțe lungi / apeluri internaționale numai pentru abonații specifice.

Rutarea apelurilor. Dirijarea apelurilor în funcție de ID-ul apelantului.

Auto Attendant. Redarea un salut și o invitație de a intra extensia.

meniuri vocale multi-nivel. Meniul voce pentru customer service, vanzari, etc.

Sună înapoi. Pentru a reduce costul de lungă distanță / apeluri internaționale.

liste de acces. Clienții plictisitor lista neagră, oferindu-le nici o ocazie pentru a vă contacta.

Virtual PBX. Puteți crea un „PBX virtual“ în cadrul PBX principal.

Mod zi / noapte. Puteți schimba comportamentul PBX, în funcție de momentul zilei.

Macrocomenzile. Puteți crea script-uri pentru a rezolva probleme recurente în planul de apelare.

Ce este ekstenshen?

La PBX tradițional ekstenshen legat la o interfață (port). Ekstenshen Asterisk definită ca o listă de aplicații (aplicații) și argumentele lor, efectuate într-o anumită ordine, ordinea de execuție este determinată de prioritate (prioritate). Când ekstenshen prioritățile formate executate înainte de a deconecta apelul sau redirecționa către o altă extensie. Fiecare pas este scris după cum urmează:

EXEMPLUL ekstenshena simplu

Acest ekstenshen este format din 4 acțiuni.

Prima aplicație este executată Așteptați c Prioritatea 1 - așteptați 5 secunde (timpul stabilit de argumentul (5).
A doua cerere de răspuns - ridica telefonul.
Apoi, Redare - pentru a reda fișierul de sunet; Argumentul specifică numele fișierului (demo-Congrats) în directorul implicit.
Cererea finală este executată Închidere - închide. prioritate # „N #“ înseamnă următorul (următoarea) și poate fi folosit în loc de orice tip de prioritate, altele decât 1.

Utilizarea priorității # „N #“ face ușor de a edita liniile individuale, fără a rescrie toate prioritățile.

apelare

Cel mai adesea cauzată de o interfață diferită. Apelul se face comanda de apelare echipa Asterisk.

Routing CallerID

EXEMPLU rutare linie apelant.

Dacă numit ekstenshen 100 apelul este direcționat către interfața DAHDI / 1, cu excepția cazului în cazul în care apelul poartă abonat 1234567. În acest caz, apelul este respins. În exemplul se vede că ID-ul apelantului dat de forma # '/ # 1234567'.

Un alt exemplu de rutare, este acum în absența CallerID.

În acest exemplu, în cazul în care un apel sosește fără CallerID, apelul este blocat prin intermediul aplicației Zapateller ()

Prelucrarea și distribuirea unei multitudini de apeluri există un mecanism special - rândul său. se numește Coadă () de comandă.

Asterisk IVR

Meniul vocal stabilit, de obicei, în propriul lor context.

Utilizarea variabilelor

În Asterisk, există variabile globale și specifice de canal folosite ca argumente pentru comenzi. Variabilele sunt scrise în dialplan ca $. unde # „Foo #“ este numele variabilei. Numele trebuie să înceapă cu o literă și poate consta din orice numere și litere, dar există nume predefinite, aici sunt unele dintre ele:

Variabilele globale sunt alocate în secțiunea [GLOBALS] Dialplan. Luați în considerare următorul exemplu:

Organizarea dialplan, astfel încât să puteți realoca rapid și ușor interfețele fizice pentru utilizatori specifici, adesea folosite în contexte.

contexte imbricate

Un context poate include și alte contexte care sunt procesate în ordinea listată. A se vedea, de asemenea, procedura de selectare a ekstenshena dorit utilizând șabloane.

unde - contextul inclus
opțional:
- Ceasuri sunt context valabile (de exemplu, timpul de lucru 9: 00-17: 00)
-zile ale săptămânii (luni-vineri)
- zi
- luni

În acest exemplu, contextul # „Local_long #“ # „include alte două context pentru comunicare urban și pe distanțe lungi, și contextul # „Local_only #“ numai pentru oraș.

Zi Mod / noapte. timp de rutare

contexte imbricate pot fi folosite pentru a pune în aplicare de zi, de noapte și praznichnogo moduri. Luați în considerare următorul exemplu:

Acest exemplu stabilește zi, noapte și modul de vacanță parohiale apeluri.

apelurile efectuate

Direcția Originare poate fi realizat pentru a detecta codul de acces scurt (de exemplu, # „# 9“), sau pentru a determina model complet numere formate.

desen # „Ignorepat ⇒ 9 # „Spune sa Asterisk nu este gata pentru a opri tonul după formarea unui număr specificat.

Context [internaționale] vă permite să formați un număr internațional, cu orice număr de cifre.

Context [distanțe lungi] - un număr de 11 cifre la distanțe lungi.

Context [locale] - număr fix lung la 7 cifre.

Elimină $ prefixul variabila:

modele de modele

Ekstensheny model poate fi comparat, în loc de cifre predeterminate în mod unic. Șablonul trebuie să înceapă cu o subliniere (_) și se poate utiliza oricare dintre următoarele caractere:

X - orice cifre de la 0-9

Z - orice cifră 1-9

N - orice cifră 2-9

. - orice simboluri posibile.

trunchiuri de backup și (RLC alegerea direcției cu cel mai mic cost)

Este foarte util pentru a configura LCR (rutare de coastă) și redirecționarea, în cazul unei linii externe.

În acest exemplu, apelurile pe distanțe lungi sunt dirijate spre DAHDI interfață, dar apelurile sunt trimise la Moscova prin intermediul furnizorului mai profitabil pe IAX trunchi. În cazul indisponibilității IAX trunchiului, apelurile sunt redirecționate prin DAHDI.

Utilizarea Macrocomenzi

Poate fi necesar pentru a crea o mulțime de extensii (extensii) sunt foarte asemănătoare între ele. Pentru a face mai ușor de utilizat Macrocomenzi dialplan. context, al cărui nume este folosit pentru a crea un macro începe cu «macro» și apoi un nume unic pentru macro. Macro-ul începe cu ektenshena # 'S #'. Macroul utilizează variabilele locale:

$ - Ekstenshen numit macro $ - $ Context numit macro - prioritate activă numită $ macro - dacă este setat determină deplasarea de n + $ $ - argument # 'N #' în macro.

Atunci când macro-uri [macro-oneline] și [macro-twoline] creat în contextul [implicit] trebuie să scrie doar o singură dată pentru executarea mai multor acțiuni standard.

Macro cerere este învechită, în schimb, este recomandat să utilizați GoSub.

sintaxa Gosub

conversații Asterisk de înregistrare

În acest exemplu, un apel cu prefixul # '# ​​9', care urmează să fie comutat prin intermediul trunchiului ITSP SIP. Conversația va fi înregistrată în format # 'Wav #' și salvat în directorul implicit «/ var / lib / asterisc / monitor / GodMesyatsDen-ChasyMinutySekundy-NomerVyzyvayuschego Abonenta.wav

Structura aceluiași cod ⇒ reduce prin evitarea multe repetari «EXTEN ⇒ s,» în acest caz.

O idee bună de a experimenta cu alte variabile în numele de fișier, cum ar fi $.

Asterisk Dialstatus

Definim starea liniei și selectați acțiunea pe această bază. Să presupunem că aveți un număr de ramuri (de exemplu, branch1 - camere 42HH - extensii 41HH și branch2) care folosesc gateway-uri Cisco SPA8800. Utilizarea unui șablon GoSub alege portul FXO liber pentru un apel de ieșire. Alegerea gateway-dreapta face pe baza callerid (num) abonatului.

În primul bloc avem trei din context-internă - contextul global pentru toate extensiile, de la-branch1 - contextul primului aspect, de la-branch2 - cadrul celui de al doilea aspect și așa mai departe. (Ramuri, după cum știți poate fi orice număr)
Prima linie de contexte de la-branchN stabilește o variabilă: tehnologie (SIP) și numele trunchiului, care este specific pentru această ramură: SIP / branch_fxo
Linia cu comanda GoSub transmite nume de trunchi ca argument, adăugarea unui număr de la 1 la 4.
Astfel, în contextul context sub-spa8800 [de-branch1], de exemplu, primește SIP / argumente branch1_fxo1, SIP / branch1_fxo2, SIP / branch1_fxo3, SIP / branch1_fxo4
Argumentul a cincea a trecut la numărul apelat - $
iar ultimul, al șaselea argument - numele sucursalei.
Total în contextul sub-spa8800 este trecut 6 argumente:

articole similare