SOFTVÉROVÁ ÚSTREDŇA VOIP A JEJ NASADENIE VO …diplom.utc.sk/wan/2511.pdf · Náplň práce...
Transcript of SOFTVÉROVÁ ÚSTREDŇA VOIP A JEJ NASADENIE VO …diplom.utc.sk/wan/2511.pdf · Náplň práce...
Žilinská univerzita v Žiline Elektrotechnická fakulta
Katedra experimentálnej elektrotechniky
SOFTVÉROVÁ ÚSTREDŇA VOIP A JEJ NASADENIE VO FIREMNOM PROSTREDÍ
František DRABECKÝ
2008
Softvérová ústredňa VoIP a jej nasadenie vo firemnom prostredí
BAKALÁRSKA PRÁCA
FRANTIŠEK DRABECKÝ
ŽILINSKÁ UNIVERZITA V ŽILINE Elektrotechnická fakulta DP Liptovský Mikuláš
Katedra experimentálnej elektrotechniky
Študijný odbor: Telekomunikácie
Vedúci bakalárskej práce: Ing. Milan Bobek
Stupeň kvalifikácie: bakalár (Bc.) Dátum odovzdania bakalárskej práce: 6.jún 2008
LIPTOVSKÝ MIKULÁŠ 2008
Abstrakt
Náplň práce spočíva vo vlastnom návrhu pobočkovej ústredne Asterisk a jej nasadení do
LAN siete, s pripojením do internetu a možnosťou využitia pripojenia verejných sietí,
v našom prípade Slovak Telecom. Súčasťou je tiež vytvorenie technickej dokumentácie
k ústredni Asterisk a jej konfiguračných údajov. Táto práca má široké využitie
s možnosťou jej aplikácie vo viacerých oblastiach (školstvo, malé a stredné firmy).
Scope of this work in its own concept extension switch-board Asterisk and its deployment
into a LAN network with internet connection and with an option to take advantage of
public networks in our case Slovak Telecom . The part of work is also development of
Asterisk's technical documentation and its configurational inputs. This work has it's wide
utilization with an option of deployment in several departments (like school system,
small and medium-sized companies)
Kľúčové slová: Asterisk, Linux, Zaptel, VoIP, Wildcard TDM400P, Sip.conf,
Zaptel.conf, Zapata.conf, SmartGate, Analógový telefón, IP telefón. X-Lite,
Anotačný záznam
Pobočková ústredňa Asterisk pracuje pod operačným systémom LINUX. V autorovom
prípade je použitá distribúcia REDHAT s operačným systémom FEDORA CORE 7.
Asterisk bude pripojený do lokálnej siete typu Ethernet, na ktorú sú pripojené počítače s
nainštalovanými softvérovými X-lite telefónmi a pripojené hardvérové IP telefóny. Celá
sieť je pripojená do internetu pomocou optického kábla. Do ústredne je zapojená GSM–
Brána, kde je SIM karta s telefónnym číslom, pomocou ktorej sa dá dovolať do ústredne
na mobilné telefónne číslo a samozrejme z nej aj von. Súčasťou ústredne je aj prípojka na
štátnu linku od T-Comu. Ústredňa je pripojená na verejnú IP adresu, ktorú využíva
Elektrotechnická fakulta Žilinskej univerzity v Žiline na Detašovanom pracovisku
v Liptovskom Mikuláši.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
Obsah
1. Úvod ............................................................................................................................ 1
1.1 Podrobnejší popis PBX Asterisk ............................................................................... 2
2. Požiadavky na OS Linux pre PBX Asterisk ............................................................... 3
2.1 Doporučené Hardvérové požiadavky pre PBX Asterisk: ......................................... 4
2.2 Rozdelenie disku pre pripravenie inštalácie OS Linux Fedora Core 7 ..................... 4
2.3 Popísanie jednotlivých diskových oddielov .............................................................. 6
2.4 Stručná inštalácia OS Linux Fedora Core 7 .............................................................. 9
2.5 Nastavenie sieťovej karty a pripojenie do internetu ................................................. 10
3. Logický a technický návrh PBX .................................................................................. 12
3.1 Popis praktického návrhu PBX ................................................................................. 13
3.2 FXO a FXS porty ...................................................................................................... 14
4. Inštalácia PBX Asterisk .............................................................................................. 18
4.1 Inštalácia ASTERISK ............................................................................................... 19
4.2 Inštalácia grafického prostredia Asterisk .................................................................. 20
5. Automatická spojovateľka DISA ................................................................................ 29
6. Logové súbory PBX Asterisk ..................................................................................... 30
7. SIP ............................................................................................................................... 30
7.1 H.323 norma ............................................................................................................. 32
7.2 IAX ........................................................................................................................... 33
8. Základné konfiguračné rozhranie cfgbasic.html ......................................................... 34
8.1 Users ......................................................................................................................... 35
8.2 Conferencing ............................................................................................................ 36
8.3 Voicemail ................................................................................................................. 36
8.4 Service Providers ..................................................................................................... 38
8.5 Calling Rules ............................................................................................................ 38
Žilinská univerzita v Žiline, Elektrotechnická fakulta
8.6 Incomming Cals ...................................................................................................... 38
9. Porovnanie a prehľad voľne dostupných softvérových ústrední ............................... 39
Žilinská univerzita v Žiline, Elektrotechnická fakulta
I
Zoznam obrázkov a tabuliek
Tab. 2.3.1 – Diskové oddiely ............................................................................................ 6
Obr. 2.2.1 – Rozdelenie disku ........................................................................................... 4
Obr. 3.1 – Praktické zapojenie PBX ................................................................................ 12
Obr. 3.1.1 – Analógová karta Openvox TDM A400P – Pohľad z predu ........................ 13
Obr. 3.1.2 – Analógová karta Openvox TDM A400P – Pohľad zo zadu ......................... 14
Obr. 3.2.1 – Prídavný modul FXS do karty Openvox TDM A400P ............................... 15
Obr. 3.2.2 – Prídavný modul FXO do karty Openvox TDM A400P ............................... 16
Obr. 8.1 – Úvodná stránka konfiguračného rozhrania Asterisku cfgbasic.html .............. 34
Obr. 8.1.1 – Grafické rozhranie Asterisk – Users ............................................................ 35
Žilinská univerzita v Žiline, Elektrotechnická fakulta
II
Zoznam použitých skratiek
ACD – Automatic Call Distribution
API – Application Programming Interface
FXO – Foreign exchange office
FXS – Foreign exchange service
GNU – General Public Licence
GSM – Global System for Mobile Communication
IP – Internet Protokol
IVR – Interactive Voice Response
LAN – Local Area Network
OS – Operačný Systém
PBX – Private Branch eXchange
PC – Personal Computer
PCI – Peripheral Component Interconnect
SmartGate – GSM Brána
ST – Slovak Telecom
TDM – Time-Division Multiplexing
VoIP – Voice over Internet Protokol
Žilinská univerzita v Žiline, Elektrotechnická fakulta
1
1.Úvod
Asterisk je softvérová ústredňa (PBX), ktorá beží pod OS Linux a poskytuje všetky
vlastnosti, ktoré sa dajú očakávať od ústredne. Poskytuje telefonovanie cez internet (IP)
prostredníctvom troch protokolov a je kompatibilný so všetkými telekomunikačnými
zariadeniami využívajúc relatívne nenákladný hardvér. Poskytuje služby hlasovej pošty
(Voicemail) s adresárom, konferenčné hovory. Má podporu pre identifikáciu volajúceho,
SIP a H.323 (aj ako klient, aj ako brána). Nepotrebuje žiadny dodatočný hardvér pre hlas
cez internet (VoIP). Pre prepojenie s digitálnymi, alebo analógovými zariadeniami
Asterisk podporuje množstvo hardvérových rozhraní. K dispozícii sú aj rozhrania s FXS
alebo FXO analógovými portami.
Asterisk podporuje širokú škálu TDM protokolov pre prechod hlasu do tradičných
"pevných" telekomunikačných rozhraní. Podporuje americké aj európske signalizačné
štandardy, ktoré umožňujú spájať hovory medzi integrovanými sieťami ďalšej generácie a
existujúcou infraštruktúrou. PBX nepodporuje len tradičné telekomunikačné zariadenia,
ale rozširuje ich možnosti o ďalšie schopnosti. Umožňuje transparentné prepínanie medzi
všetkými podporovanými rozhraniami a povoľuje združovať rôzne zmiešané telefónne
systémy do jedného.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
2
1.1 Podrobnejší popis PBX Asterisk
Asterisk je softvérová PBX ústredňa postavená na dôslednom návrhu, ktorý spočíva vo
flexibilite dosiahnutej cez dodatočné moduly pripojiteľné k Asterisku. Samotné jadro
Asterisku sa stará iba o základné úlohy: prepínanie, spúšťanie externých aplikácií,
prekladanie kodekov, plánovač úloh a nahrávanie externých modulov do pamäte. Ďalšia
funkcionalita je prístupná vo forme prídavných modulov. Preto pre každý protokol, ktorý
má Asterisk obsluhovať, musí byť doinštalovaný a nakonfigurovaný prídavný modul,
ktorý musí implementovať všetky potrebné funkcie na správne fungovanie konkrétneho
protokolu, a cez pevne nadefinované rozhranie špecifikované v Asterisk API sa pripojiť
na Asterisk. Vďaka dobre navrhnutým rozhraniam Asterisku je možné kombinovať
prekladanie medzi rôznymi protokolmi bez nutnosti upravovať ich implementáciu pri
požiadavke napojiť sa na iný protokol. V prípade implementácie protokolu do Asterisku
formou modulu sa v Asteriskovej terminológií hovorí o kanály.
Asterisk môže byť použitý v týchto aplikáciách:
• Rôznorodá VoIP gateway (MGCP, SIP, IAX, H.323)
• Pobočková ústredňa (PBX)
• Voicemail služby s adresárom
• Interaktívne hlasový sprievodca (IVR) server
• Konferenčný server
• Preklad čísel
Žilinská univerzita v Žiline, Elektrotechnická fakulta
3
2. Požiadavky na OS Linux pre PBX Asterisk
Asterisk je známy tým, že beží na veľa platformách OS, viac menej hlavnou
vývojárskou platformou je Linux. Systém je navrhnutý tak, aby pracoval na Linux-
ovskom jadre verzie 2.4 a 2.6. S týmito verziami jadra 2.4 a 2.6 pracujú napríklad RedHat
(7.x, 8, 9 a Enterprise), Debian (i386 a PPC architektura), Fedora, Gentoo, Suse (verzie 8
a 9), Mandrake (9.0) a Slackware (9.0, 9.1 a 10.0).
V našom prípade je použitý OS Fedora Core 7. Výpis verzie jadra dostaneme
z príkazu:
************************************************************************
[root@asterisk-lm ~]# uname -r
2.6.23.14-64.fc7
************************************************************************
Pre výpis informácii o celom systéme a typu OS s verziou jadra použijeme
nasledovný príkaz:
************************************************************************
[root@asterisk-lm ~]# uname -a
Linux asterisk-lm.uniza.sk 2.6.23.14-64.fc7 #1 SMP Sun Jan 20 23:54:08 EST 2008 i686
athlon i386 GNU/Linux
************************************************************************
Žilinská univerzita v Žiline, Elektrotechnická fakulta
4
2.1 Doporučené hardverové požiadavky pre PBX Asterisk:
Pobočková ústredňa Asterisk by mala spĺňať nasledovné hardvérové nároky.
CPU (procesor) : min: 1GHz – doporučené: 2GHz a viac
RAM (pamäť) : min: 512MB – doporučené: 1GB a viac
HDD (pevný disk) : min: 40 GB – doporučené: 80GB a viac (podľa služieb servera)
VGA (graficka karta): Tu sa nekladie žiaden vysoký nárok, úplne bude postačovať
integrovaná VGA s 8MB pamäťou.
Nároky na PBX Asterisk veľmi závisia od vopred požadovaných funkcií
a požiadaviek od ústredne.( Aké služby bude PBX ponúkať ...)
2.2 Rozdelenie disku pre pripravenie inštalácie OS Linux Fedora Core 7
Na obrázku máme možnosť vidieť rozdelenie pevného disku jednotlivých partícií
pripravených k inštalácii OS Linux Fedora Core 7.
Obrázok 2.2.1 – Rozdelenie disku
Žilinská univerzita v Žiline, Elektrotechnická fakulta
5
Tu máme možnosť vidieť výpis celého disku pomocou príkazu:
************************************************************************
[root@asterisk-lm ~]# fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 38 305203+ 83 Linux
/dev/sda2 39 7687 61440592+ 83 Linux
/dev/sda3 7688 14061 51199155 83 Linux
/dev/sda4 14062 19457 43343370 5 Extended
/dev/sda5 14062 17885 30716248+ 83 Linux
/dev/sda6 17886 19160 10241406 83 Linux
/dev/sda7 19161 19457 2385621 82 Linux swap / Solaris
************************************************************************
Tento príkaz nám umožní zobrazenie voľného a použitého miesta na disku v GB:
************************************************************************
[root@asterisk-lm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 57G 867M 53G 2% /
/dev/sda6 9,5G 151M 8,9G 2% /tmp
/dev/sda5 29G 2,7G 25G 10% /usr
/dev/sda3 48G 1,9G 43G 5% /home
/dev/sda1 289M 22M 253M 8% /boot
tmpfs 375M 0 375M 0% /dev/shm
************************************************************************
Žilinská univerzita v Žiline, Elektrotechnická fakulta
6
2.3 Popísanie jednotlivých diskových oddielov
Tabuľka 2.3.1 – Diskové oddiely
Zariadenie Filesystem type Mount Point Size [MB]
/dev/sda1 ext3 /boot 300
/dev/sda2 ext3 / 60.000
/dev/sda3 ext3 /home 50.000
/dev/sda4 ext3 42.000
/dev/sda5 ext3 /usr 30.000
/dev/sda6 ext3 /tmp 10.000
/dev/sda7 linux-SWAP SWAP 2.300
/dev/sda1 – Je pripojená ako prípojný bod /boot, ktorý má kapacitu 300Mb. Jej
hlavnou úlohou je spúšťanie zavádzača GRUB, ktorý sa nachádza v MBR tabuľke
pevného disku. V /boot je nakopírovaný celý zavádzací program, v ktorom je
nadefinované, aký OS sa má po štarte spúšťať prvý, koľko sekúnd sa má zobrazovať
zavádzač GRUB a pod.
/dev/sda2 – Je to koreňový adresár Linuxu. Na túto partíciu disku sa inštaluje celý
OS Linux – Fedora Core 7.
/dev/sda3 – Domovský adresár (/home). Je to adresár všetkých užívateľov (za
predpokladu, že ich dáta budú umiestnené na serveri). Je to veľmi užitočné, pokiaľ by
sme nechceli, aby užívatelia zaberali potrebné miesto na disku v koreňovom adresári.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
7
/dev/sda4 – Je to rozšírená časť disku. Na disku môžeme vytvoriť len 4 primárne
oblasti. V našom prípade sme boli nútení použiť pre správne fungovanie OS Linux viac
ako 4 partície. Práve na to nám slúži rozšírená časť disku, do ktorej môžeme vytvoriť
toľko partícií, koľko nám je potrebné použiť pre správny chod OS.
/dev/sda5 – Na tejto partícii sú uložené všetky programy, ktoré odpovedajú
C:\Program Files v OS Microsoft Windows.
/dev/sda6 – Na túto partíciu sa umiestňujú dočasné súbory. Pretože tento adresár je
vytvorený tak, aby do neho mohol zapisovať každý užívateľ (odpovedá adresáru C:\Temp
v OS Windows), musíme z dôvodu dobrej stability OS Linux zabezpečiť stabilný chod
systému a to tak, že tento oddiel dáme na samostatnú partíciu disku.
/dev/sda7 – Je to odkladací priestor SWAP. Do toho súborového systému nemá
užívateľ prístup. Tu sa ukladá virtuálny pamäťový súbor, ktorý sa využíva pre ukladanie
virtuálnej pamäte v podobe normálneho diskového súboru.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
8
Výpis konfiguračného súboru grub.conf z /dev/sda1:
************************************************************************
#boot=/dev/sda1
default=0
timeout=3
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-64.fc7)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-64.fc7 ro root=LABEL=/1 rhgb quiet
initrd /initrd-2.6.23.14-64.fc7.img
title Fedora_install (2.6.21-1.3194.fc7)
root (hd0,0)
kernel /vmlinuz-2.6.21-1.3194.fc7 ro root=LABEL=/1 rhgb quiet
initrd /initrd-2.6.21-1.3194.fc7.img
************************************************************************
Žilinská univerzita v Žiline, Elektrotechnická fakulta
9
2.4 Stručný popis inštalácie OS Linux Fedora Core 7
OS Linux Fedora Core 7 je dostupný na domovskej internetovej stránke
http://fedoraproject.org/sk/index. Ako už bolo spomínané, Linux je voľný OS, ktorý si
môže voľne stiahnuť ktokoľvek. Je známy pod názvom: Open Source => čo v preklade
znamená „voľný zdrojový kód“. Tento Open Source si môže každý meniť
a prispôsobovať podľa vlastných potrieb bez toho, aby potreboval vlastnícke práva od
výrobcu. Inštalácia je pomerne jednoduchá. Celý priebeh inštalácie je v grafickom režime.
Pri inštalácií máme dve možnosti výberu:
1, Automatická inštalácia
2, Manuálna inštalácia
1 – Automatická inštalácia
Tento typ inštalácie v sebe zahŕňa automatické rozdelenie disku, ktoré spraví za nás
OS. Systém automaticky rozdelí pevný disk v pomere akom mu zadáme. Znamená to, že
OS z nami uvedeného miesta automaticky rozdelí a pripraví jednotlivé partície disku. ( /,
/home, SWAP ), poprípade ďalšie partície: /boot, /opt, /usr/, /tmp ...
2 – Manuálna inštalácia
Pre tento typ inštalácie sme si vopred sami rozdelili pevný disk. Tu stačí už len
správne pripojiť prípojný bod k jednotlivej partícii a môžme inštalovať. Priebeh samotnej
inštalácie trvá približne hodinu. Všetko však závisí od požiadaviek na hardvér.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
10
2.5 Nastavenie sieťovej karty a pripojenie do internetu
Pomocou príkazu “ifconfig“ nastavíme IP adresu a masku siete sieťovej karty:
************************************************************************
[root@asterisk-lm ~]#ifconfig eth0 158.193.254.202 netmask 255.255.255.0 up
************************************************************************
Teraz musíme nastaviť predvolenú bránu:
************************************************************************
[root@asterisk-lm ~]#route add default gw 158.193.254.1
************************************************************************
Ako posledné musíme nastaviť DNS server. Ten sa zapisuje do súboru
/etc/resolv.conf
************************************************************************
[root@asterisk-lm ~]# echo -e "nameserver x.x.x.x" > /etc/resolv.conf
************************************************************************
Žilinská univerzita v Žiline, Elektrotechnická fakulta
11
Takto by mal potom vypadať configuračný súbor sieťovej karty: ifcfg-eth0
************************************************************************
[root@asterisk-lm ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=158.193.254.202
BROADCAST=158.193.254.255
NETMASK=255.255.255.0
NETWORK=158.193.254.0
GATEWAY=158.193.254.1
TYPE=Ethernet
************************************************************************
Žilinská univerzita v Žiline, Elektrotechnická fakulta
12
3. Logický a technický návrh PBX
Obrázok 3.1 – Praktické zapojenie PBX
Žilinská univerzita v Žiline, Elektrotechnická fakulta
13
3.1 Popis praktického návrhu PBX
Základ našej siete tvorí klasická sieť LAN typu Ethernet, na ktorú sú pripojené
jednotlivé PC. Na sieť je pripojených približne 20 PC. Sieť je typu stromovej štruktúry,
ktorá je pospájaná pomocou prepínačov (Switch-ov). Celá sieť je pripojená do internetu,
na ktorý majú prístup aj jednotlivé PC. Internet je pripojený pomocou jednej verejnej IP
adresy. Všetky počítače majú povolený prístup do internetu pomocou DHCP služby. Na
každom počítači je nainštalovaný softvérový X-Lite telefón, ktorý je zaregistrovaný na
serveri.
Server Asterisk je pripojený do našej LAN siete, ktorý obsluhuje všetky PC. Každý
PC je zaregistrovaný a má svoje MENO a HESLO, resp. konto. Pomocou mena a hesla sa
pripojíme na server cez softvérový X-Lite telefón. Server nám pridelí telefónne číslo.
Každý užívateľ a PC má svoje telefónne číslo.
Ústredňa má v sebe zabudovanú analógovú FXS/FXO kartu TDM A400P, ktorá je
vsunutá do PCI slotu na základnej doske v PC (serveri).
Obrázok 3.1.1 – Analógová karta Openvox TDM A400P – Pohľad zpredu
Žilinská univerzita v Žiline, Elektrotechnická fakulta
14
Obrázok 3.1.2 – Analógová karta Openvox TDM A400P – Pohľad zozadu
Analógová karta Openvox A400P má externé napájanie, ktoré slúži ako prídavné
napájanie pre moduly zo zdroja napájania. Do analógovej karty Openvox A400P sme
pridali 4 prídavné moduly (2xFXO moduly a 2xFXS moduly), ktoré sú znázornené na
obrázku.
3.2 FXO a FXS porty
FXS rozhranie je analógové – drôtové rozhranie, na ktoré je možné zapojiť koncové
užívateľské zariadenie, ktorým môže byť analógový telefón, fax alebo analógový modem.
Toto rozhranie je zvyčajne ukončené zásuvkou na stene od poskytovateľa služby (plug on
the wall). V prípade, že sa uvažuje pripojenie ďalších sieťových elementov je potom
možné na rozhranie FXS taktiež pripojiť zariadenia PBX, VOIP GW alebo router s
portami u nich označenými ako FXO. Tieto porty využívajú analógovú signalizáciu typu
„U“.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
15
FXO port
Rozhranie, ktoré sa pripája na analógovú PBX ústredňu (na jej FXS port –
„klapku“), alebo na iné FXS rozhranie. Plní funkciu „spotrebiča“.
FXS port
Rozhranie, ktoré sa pripája napríklad priamo do analógového telefónu, poskytuje
zvonenie, elektrické napätie a volací tón. Nachádza sa na PBX alebo na VOIP bráne, na
ktorú chceme pripojiť analógové telefóny. Plní funkciu „zdroja“.
Obrázok 3.2.1 – Prídavný modul FXS do karty Openvox TDM A400P
Žilinská univerzita v Žiline, Elektrotechnická fakulta
16
Obrázok 3.2.2 – Prídavný modul FXO do karty Openvox TDM A400P
Na moduly FXS sú pripojené analógové telefóny s telefónnym číslom 6000 a 6001.
Na prvý FXO port je pripojená GSM brána: SmartGate, kde je vložená SIM karta
s telefónnym číslom. Pomocou nej môžeme volať z PBX Asterisk vonku do inej siete, ak
je na SIM karte dostatočný kredit.
Druhý port FXO je obsadený štátnou linkou od T-Comu. Táto voľba nám umožňuje
volať vonku do celého sveta a zároveň aj z vonku do PBX ako prichádzajúci hovor.
Samozrejme podľa spoplatňovaného cenníka nášho operátora.
Ústredňa je nastavená na dva režimy volania - odchádzajúce a prichádzajúce
� Hovory cez SIP
� Hovory cez T-Com
� Hovory GSM bránu
Žilinská univerzita v Žiline, Elektrotechnická fakulta
17
Hovory cez SIP protokol:
Každý hovor, ktorý chceme uskutočniť v rámci PBX má svoje číslo, ktoré je
zaregistrované na ústredni Asterisk. Volať môžeme v rámci LAN siete, ako aj vonku do
iných sieti za pomoci vhodného protokolu. Hovory cez protokol SIP sú realizované
pomocou predvoľby (PREFIX-u). Ak chceme volať hovor, ktorý smeruje do inej siete za
pomoci protokolu SIP, musíme použiť PREFIX „1“ a potom volíme číslo, na ktoré sa
chceme sa dovolať. PREFIX sa po vytočení čísla automaticky zmaže a PBX volá už len
samotné číslo. Pomocou PREFIX-u vie PBX identifikovať smer a rozhranie, ktorým
pôjde vonku. Nutnosťou je mať aspoň 1 SIP konto u poskytovateľa (provider-a) VOIP
služieb.
Hovory cez T-Com:
Ak chceme volať z ústredne do inej siete ako napríklad: (pevnej siete, mobilnej
siete), tak môžeme na to využiť práve túto možnosť. Všetky hovory, ktoré chceme
smerovať cez T-Com, majú svoju vlastnú predvoľbu. Ak chceme volať hovor, ktorý bude
smerovať na druhý port FXO, na ktorý je pripojená štátna linka od T-Comu, musíme
použiť predvoľbu „5“ a potom volíme číslo, na ktoré sa chceme dovolať. PBX Asterisk je
nastavená tak, že berie okrem predvoľby štyri a viac čísel volaného účastníka.
Hovory cez SMARTGATE GSM
Volať z ústredne sa dá aj za pomoci GSM brány, pričom nesmieme zabudnúť, že
v GSM Bráne je vložená SIM karta, na ktorej musí byť dostatočný kredit, respektíve ina
aktívna služba.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
18
4. Inštalácia PBX Asterisk
V prvom rade musíme analógovú kartu OpenVox TDM A400P vložiť do PC,
pričom nesmieme zabudnúť na prídavné napájanie karty TDM A400P. Pretože PCI slot je
32 bitová zbernica, ktorá v prvom vydaní bola napájaná 5V, neskôr bola upravenú na 32
bitovú zbernicu s napájacím napätím 3,3V, nebola by schopná napájať klasické analógové
telefóny, ktoré sú napájané 48V. Práve na to nám slúži prídavné napájanie zo zdroja PC.
Po spustení OS Linux Fedora Core 7, si musíme overiť, či nám kartu PC zobral
a následne našiel OS. Vykonáme to pomocou nasledovného príkazu:
************************************************************************
[root@asterisk-lm /]# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8361 [KLE133] Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8361 [KLE133] AGP Bridge
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C
PIPC Bus Master IDE (rev 06)
00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a)
00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a)
00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller
(rev 50)
00:0a.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
00:0f.0 Ethernet controller: ADMtek NC100 Network Everywhere Fast Ethernet 10/100 (rev 11)
01:00.0 VGA compatible controller: Trident Microsystems CyberBlade/i1
************************************************************************
Z nasledovného výpisu nám je jasné, že analógovú kartu TDM A400P nám OS
Linux našiel a rozpoznal. Teraz ju musíme nainštalovať spolu s PBX Asterisk.
K inštalácií budú potrebné 3 základné balíky: libpri, zaptel, asterisk. Inštaláciu je potrebné
zachovať v takomto poradí. Balíky sú dostupné na tejto stránke: http://www.asterisk.org
Žilinská univerzita v Žiline, Elektrotechnická fakulta
19
4.1 Inštalácia Asterisk
K nainštalovaniu PBX Asterisk sú potrebné tri základné balíčky. Jednotlivé balíky
sú zbalené v pakovacom programe „TAR“. Stiahnuté balíky vypadajú nasledovne:
libpri-1.4.1.tar.gz, zaptel-1.4.6.tar.gz, asterisk-1.4.18.tar.gz. Tieto balíky sa musia najprv
rozbaliť. Urobíme to nasledovným spôsobom:
************************************************************************
[root@asterisk-lm New asterisk]# tar -xzf asterisk-1.4.18.tar.gz
************************************************************************
Takýmto spôsobom rozbalíme všetky tri požadované balíky. Balíky sa nám rozbalia
v aktuálnom adresári, v ktorom sa nachádzame. Potom môžeme prejsť k inštalácií
jednotlivých zdrojových balíkov. Inštalácia zdrojových balíčkov sa robí za pomoci troch
príkazov: CONFIGURE, MAKE, MAKE INSTALL.
Ak sa inštaluje balíček Asterisk do PC prvýkrát, tak sa doporučuje použiť ešte tieto
príkazy: MAKE SAMPLES, MAKE CONFIG. Tieto príkazy nám zabezpečia vytvorenie
štartovacích skriptov PBX Asterisk. Inštalácia zdrojových balíčkov by pri správnom
nastavení OS Linux Fedora Core 7 mala prebehnúť bez komplikácií.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
20
4.2 Inštalácia grafického prostredia Asterisk
Za pomoci zavedenia grafického prostredia do Asterisku budeme môcť
jednoduchšie ovládať PBX, sledovať jej aktuálny stav vyťaženia, spraviť jednoduché
nastavenie, poprípade meniť konfiguračné súbory.
Príkaz pre stiahnutie aktuálneho grafického rozhrania:
************************************************************************
[root@asterisk-lm lee]# svn checkout http://svn.digium.com/svn/asterisk-gui/trunk
asterisk-gui
************************************************************************
Tento balíček musíme opäť nainštalovať cez príkazy: CONFIGURE, MAKE,
MAKE INSTALL. MAKE SAMPLES.
Pre zavedenie a spustenie grafického rozhrania musíme aplikovať príkaz:
MAKE CHECKCONFIG. Po spustení tohto príkazu dostaneme výpis o stave grafického
rozhrania. Prvé spustenie GUI nebude úspešné. K jeho spusteniu je potrebné zmeniť tieto
konfiguračné súbory: „manager.conf“ a „http.conf“.
================================================================
MANAGER.CONF
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 8080
[bruce]
secret = admin
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
permit=158.193.254.250/255.255.255.0
================================================================
Žilinská univerzita v Žiline, Elektrotechnická fakulta
21
================================================================
HTTP.CONF
[general]
enabled=yes
enablestatic=yes
bindport=8088
================================================================
Po tejto úprave týchto súborov spustíme opäť príkaz: MAKE CHECKCONFIG
************************************************************************
[root@asterisk-lm asterisk-gui]# make checkconfig
--- Checking Asterisk configuration to see if it will support the GUI ---
* Checking for http.conf: OK
* Checking for manager.conf: OK
* Checking if HTTP is enabled: OK
* Checking if HTTP static support is enabled: OK
* Checking if manager is enabled: OK
* Checking if manager over HTTP is enabled: OK
--- Everything looks good ---
*GUI should be available at:
http://158.193.254.202:8088/asterisk/static/config/cfgbasic.html
* Before using the GUI, Please visit the install page at
* http://158.193.254.202:8088/asterisk/static/config/setup/install.html
* Note: If you have bindaddr=127.0.0.1 in /etc/asterisk/http.conf
you will only be able to visit it from the local machine.
Example: http://127.0.0.1:8088/asterisk/static/config/cfgbasic.html
Žilinská univerzita v Žiline, Elektrotechnická fakulta
22
* The login and password should be an entry from /etc/asterisk/manager.conf
which has 'config' permission in read and write. For example:
[admin]
secret = mysecret18428
read = system,call,log,verbose,command,agent,config
write = system,call,log,verbose,command,agent,config
--- Good luck! ---
************************************************************************
Ak je všetko v poriadku ako v tomto prípade, znamená to, že grafické prostredie pre
PBX Asterisk po spustení služby asterisk bude plne funkčné.
Prvé spustenie ovládačov Zaptel a PBX Asterisk:
************************************************************************
[root@asterisk-lm lee]# service zaptel start
Loading zaptel framework: [ OK ]
Waiting for zap to come online...OK
Loading zaptel hardware modules: tor2.
wct4xxp.
wcte12xp.
wct1xxp.
wcte11xp.
wctdm24xxp.
wcfxo.
wctdm.
wcusb.
Running ztcfg: [ OK ]
************************************************************************
Žilinská univerzita v Žiline, Elektrotechnická fakulta
23
Potom spustíme asterisk nasledovne:
************************************************************************
[root@asterisk-lm lee]# service asterisk start
Starting asterisk: [ OK ]
************************************************************************
Zaptel ovládače nenabehnú, pokiaľ nebudú dobre nastavené. Pre správne nastavenie
a spustenie ovládačov zaptel, je potrené ich vhodne nastaviť. Ovládače sa nastavujú podľa
typu karty a jednotlivých FXO a FXS portov. Tieto porty sa v súbore zapisujú v opačnom
mene. Na analógovej karte OpenVox TDM A400P sú vložené na prvom a druhom mieste
FXS porty a na treťom a štvrtom mieste sú vložené FXO porty. V konfiguračnom súbore
netreba prehliadnuť, že ich označenie je presne naopak.
Výpis súboru zaptel.conf
================================================================
# Use Kewlstart FXS signalling for modules 0 and 1 of the Wildcard TDM400P
# Use Kewlstart FXO signalling for modules 2 and 3 of the Wildcard TDM400P
loadzone=cz
defaultzone=cz
fxoks=1,2
fxsks=3,4
================================================================
Žilinská univerzita v Žiline, Elektrotechnická fakulta
24
Výpis súboru sip.conf. V tomto výpise sú zapísané všetky potrebné údaje pre
pripojenie a registráciu nášho SIP.
================================================================
[authentication]
[6000]
type = peer
context = incoming
language = us
host = dynamic
username = 6000
secret = 6000
callerid = Riaditel <6000>
[general]
register = 421415131753:[email protected]:5060/421415131753
context = default
allowoverlap = no
bindport = 5060
bindaddr = 0.0.0.0
srvlookup = yes
dtmfmode = inband
Žilinská univerzita v Žiline, Elektrotechnická fakulta
25
[421415131753]
type = friend
username = 421415131753
secret = moje_heslo
insecure = very
fromuser = 421415131753
fromdomain = phone.utc.sk
host = phone.utc.sk
port = 5060
defaultip = 158.193.254.250
nat = yes
qualify = yes
disallow = all
allow = gsm
allow = alaw
context = incoming
dtmfmode = inband
Žilinská univerzita v Žiline, Elektrotechnická fakulta
26
Stručný výpis súboru extensions.conf
V tomto súbore je naprogramovaná celá PBX Asterisk. Od toho súboru sa vyvíja jej celá
programátorská inteligencia, kedy a ako sa má Asterisk správať, čo má kedy spraviť
a pod.
================================================================
[numberplan-custom-1]
plancomment = DialPlan1
include = default
include = parkedcalls
exten = _1XXXX!,1,Macro(trunkdial,${trunk_2}/${EXTEN:1})
comment = _1XXXX!,1,SIP_von,standard
exten = _5XXXX.,1,Macro(trunkdial,${trunk_3}/${EXTEN:1})
comment = _5XXXX.,1,T-com,standard
[DID_trunk_1]
exten = _X.,1,Goto(default|6000|1)
exten = s,1,Goto(default|6000|1)
[incoming]
exten = 421415131753/_421915540840,1,Dial(SIP/6002,10,t)
exten = 421415131753,1,Goto(voicemenu-custom-1,s,1)
exten = 421415131753,2,Hangup
[default]
exten = 8500,1,VoiceMailMain
exten = 1743,1,Goto(voicemenu-custom-1|s|1)
exten = 4444,1,Goto(voicemenu-custom-2|s|1)
Žilinská univerzita v Žiline, Elektrotechnická fakulta
27
[voicemenu-custom-2]
comment = DISA
alias_exten = 4444
exten = s,1,Answer
exten = s,n,Background(/home/bobek/ste_spojeny)
exten = s,n,Background(/home/bobek/ak_poznate)
exten = s,n,Background(/home/bobek/zadajte_cislo)
exten = s,n,WaitExten(1)
exten = s,n,Background(/home/bobek/ak_prepojeny_na_op)
exten = s,n,Background(/home/bobek/stlacte_1)
exten = s,n,WaitExten(10)
exten = s,n,Background(/home/bobek/prepajam_oper)
exten = s,n,Dial(Zap/2,10,t)
exten = s,n,Hangup
exten = 1,1,Background(/home/bobek/prepajam_oper)
exten = 1,n,Dial(Zap/2,10,t)
exten = 6000,1,Dial(Zap/2,10,t)
exten = 6001,1,Dial(Zap/1,10,t)
exten = 6002,1,Dial(SIP/6002,10,t)
exten = 6005,1,Dial(SIP/6005,10,t)
exten = 1742,1,Dial(SIP/1742,10,t)
Žilinská univerzita v Žiline, Elektrotechnická fakulta
28
[voicemenu-custom-1]
comment = milan
alias_exten = 1743
include = default
exten = s,1,Answer
exten = s,n,Background(prich_hovor)
exten = s,n,WaitExten(10)
exten = s,n,Dial(SIP/1742,6,t)
exten = s,n,Hangup
exten = 2,n,Playback(invalid)
exten = 33,1,Hangup
exten = 55,1,MP3Player(test.mp3)
exten = 6000,1,Dial(Zap/2,10,t)
exten = 6001,1,Dial(Zap/1,10,t)
exten = 6002,1,Dial(SIP/6002,10,t)
exten = 6005,1,Dial(SIP/6005,10,t)
exten = 1742,1,Dial(SIP/1742,10,t)
Žilinská univerzita v Žiline, Elektrotechnická fakulta
29
5. Automatická spojovateľka DISA:
DISA je jednoduchý, spoľahlivý a ľahko ovládateľný systém pre užívateľa, ktorý
chce predovšetkým telefonovať. Táto služba má užívateľovi zjednodušiť volanie
a prepájanie medzi volanými osobami. DISA v sebe zahŕňa uvítacie menu, pomocou
ktorého sa môže volajúca osoba ľahšie zorientovať.
DISA je vytvorená s konfiguračnom súbore extensions.conf. Má preddefinované
telefónne číslo 4444. Toto číslo je nastavené tak, že ak sa port č. 3 aktivuje (tzn., že na
daný port prichádza hovor), tak nám automatický zdvihne DISA. DISA po zdvihnutí
prehrá nami zvolenú hlášku (napríklad uvítanie). Po prehratí uvítacej správy DISA potom
čaká 10 sekúnd, pokiaľ si sami nevytočíme klapku, na ktorú sa chceme dovolať. Ak sa do
ústredne dovolá osoba, ktorá nepozná klapky, ktoré sú registrované na PBX Asterisk, tak
po uplynutí doby 10 sekúnd DISA začne automatický vytáčať preddefinovanú klapku
6000, na ktorej môže byť ľudská spojovateľka, ktorá nás prepojí s osobou, ku ktorej sa
chceme dovolať.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
30
6. Logové súbory PBX Asterisk
Adresár /var/log/asterisk obsahuje všetky logové súbory. Súbor event.log obsahuje
systémové hlásenia o stave logovacieho mechanizmu. Súbor messages obsahuje správy
vygenerované samotným Asteriskom. Jedná sa hlavne o rôzne varovania a upozornenia:
chyby v konfiguračných súboroch (logické alebo parsovacie), varovania pri signalizácii
hovorov, chybové hlásenia (kritické alebo nekritické) a iné. V podadresári cdr-csv sa
ukladajú informácie o volajúcom, volanom, dĺžke a času hovoru a iné údaje, potrebné pre
spoplatňovanie.
7. SIP
Táto časť umožňuje veľmi podrobné nastavenie protokolu SIP. Všetky nastaviteľné
hodnoty sú zapísané v súbore sip.conf, čo je hlavný konfiguračný súbor pre tento
protokol.
SIP je protokol typu klient-server. Klient nadväzuje spojenie so serverom. Jedno
zariadenie môže pracovať súčasne ako klient aj server. Napríklad telefón pracuje ako
klient pre odchádzajúce hovory a ako server pre prichádzajúce hovory. Hovor, ktorý môže
byť hlasový alebo multimediálny, môže prebiehať medzi viacerými účastníkmi.
Multimediálne dáta sú pri tom prenášané naraz pre všetkých účastníkov spojením typu
multicast, spojením typu unicast od každého účastníka cez prepojovaciu bránu, spojením
unicast medzi každou dvojicou účastníkov alebo kombináciou týchto dvoch metód.
Správy protokolu SIP sú dvojakého druhu – žiadosti a odpovede. Žiadostiam sa tiež
hovorí metódy.
User Agents
User agents (UA) sú koncové zariadenia SIP siete. Starajú sa o nadväzovanie
spojenia s ostatnými UA. Najčastejšie sa jedná o SIP telefóny (hardvérové alebo
softvérové) a brány do iných sieti. V rámci UA rozlišujeme User Agent Client (UAC) čo
je časť UA, ktorá má na starosti inicializáciu spojenia a User Agent Server (UAS), ktorá
reaguje na prichádzajúce žiadosti a posiela odpovede. V koncovom zariadení (SIP
telefóne) je implementovaný aj UAC aj UAS.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
31
Servery
Servery sú v SIP architektúre zariadenia, ktorých úlohou je sprostredkovať kontakt
medzi volajúcimi a volanými, čo ale nevylučuje priamy kontakt koncových zariadení bez
účasti servera. Rozlišujeme tieto typy SIP serverov:
1. Proxy server – tento server príjme žiadosť o spojenie od UA alebo od iného proxy
servera a predá ju ďalšiemu proxy serveru (pokiaľ volanú stanicu nemá vo svojej správe)
alebo priamo volanému UA, ktorý je v rámci domény spravovanej serverom.
2. Redirect server – Podobne ako proxy, prijíma žiadosti o spojenie od UA alebo
proxy serverov, ale neposiela ich ďalej v smere volaného, ale posiela žiadateľovi
informáciu, komu má poslať žiadosť aby sa dostala k volanému. Je potom na žiadateľovi,
aby žiadosť na takto získanú lokalitu poslal.
3. Registrar server – prijíma registračné žiadosti od UA a aktualizuje podľa nich
databázu koncových zariadení (location service), ktoré sú v rámci domény spravované.
Akokoľvek sú tieto servery definované oddelene, v praxi ide často o jednu aplikáciu,
ktorá prijíma registrácie koncových uzlov a podľa konfigurácie sa chová zároveň ako
proxy alebo redirect server. Podobne je to u architektúry H.323 (gatekeeper).
Žilinská univerzita v Žiline, Elektrotechnická fakulta
32
7.1 H.323 norma
H.323 je štandard poskytujúci dobre definovanú systémovú architektúru, ktorá
zahŕňa nadviazanie, kontrolu a prenos hovoru. H.323 nie je samostatný protokol, ale
skupina protokolov, ktorá definuje komponenty H.323 systému: terminály, brány,
gatekeeper, MCU a iné. Každý komponent systému má svoju vlastnú funkciu. Tento
protokol som vo svojej práci nepoužil. Zameriaval som sa na protokol SIP.
Komponenty H.323
H.323 terminál
Terminály sú klientske koncové zariadenia. Terminály musia podporovať hlasovú
komunikáciu: video a dáta sú nepovinné. Povinná funkcionalita zahŕňa H.245
signalizačný protokol, RTP/RTCP a H.225.0. Medzi nepovinné komponenty H.323
terminálov patria video kodeky. [5]
H.323 gatekeeper
Gatekeeper (ďalej len GK) poskytuje centrálny smerovací mechanizmus pre
definovanú skupinu terminálov. GK vykonávajú dve dôležité skupiny funkcií pre kontrolu
hovorov. Patria tu služby ako je preklad užívateľských aliasov na IP adresy. Všetci
používatelia sa k danému GK registrujú pomocou aliasu. Druhá funkcia obsahuje
prideľovanie šírky pásma, spoplatňovanie, volacie plány. GK prideľuje šírku pásma
jednotlivým hovorom. GK je nepovinný komponent.
H.323 brána
H.323 brána umožňuje H.323 zariadeniam pracovať v heterogénnych sieťach.
Poskytuje napr. rozhranie na PSTN, spracováva hlasové a faxové signály pomocou
kódekov na konverziu medzi okruhovo prepínanými a paketovo prepínanými formátmi.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
33
H.323 MCU (Multipoint Control Unit)
MCU je koncový bod v LAN sieti, ktorý poskytuje možnosť 3 alebo viac
terminálom a bránam zúčastňovať sa konferencie. Kontroluje a upravuje video, audio a
dátové toky z terminálov. Niektoré terminály majú v sebe už zabudovaný MCU, čím sa
môžu stať hostiteľmi konferencie. [5]
7.2 IAX
Tato časť umožňuje veľmi podrobné nastavenie protokolu IAX. Asterisk podporuje
druhú verziu tohto protokolu. Všetky nastaviteľné hodnoty sú zapísané v súbore iax.conf,
čo je hlavný konfiguračný súbor pre tento protokol. Protocol IAX prenáša zvukové pakety
každý s hlavičkou veľkosti 4 byty a vyžaduje veľmi malú šírku pásma. Pre viacnásobné
volania znižuje IAX veľkosť kontrolných dát každého kanála kombinovaním dát z
niekoľkých kanálov do jedného paketu, čím nielen zmenšuje počet hlavičiek, ale aj počet
paketov. Toto je dôležité pre bezdrôtové siete. Protokol IAX je taký jednoduchý a
priamočiary, že všetky funkcie IP, IAX, rozhranie TDM, rušenie echa a generovanie
volacieho ID bolo implementované analógovým ukončovacím adaptérom /analog
terminal adapter/ ATA. ATA zariadenie obsahuje ethernetovú a telefónnu koncovku a
prevádza akýkoľvek analógový telefón na IP telefón. IAX ATA zariadenie môže byť
vyrobené použitím iba 8 bitového mikroprocesora, 4K bytami RAM a 64K bytami
vnútornej flashovej pamäte.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
34
8. Základné konfiguračné rozhranie cfgbasic.html
Základné webové konfiguračné rozhranie Asterisku cfgbasic.html sa nachádza na
adrese: http://<ip zariadenie>:8088/asterisk/static/config/cfgbasic.html
Obrázok 8.1 – Úvodná stránka konfiguračného rozhrania Asterisku cfgbasic.html
Žilinská univerzita v Žiline, Elektrotechnická fakulta
35
8.1 Users
V tejto sekcii je možné pridávať nových užívateľov. V zozname užívatelia sa nám
aj zobrazujú okrem samotných užívateľov, ktoré obsahuje súbor users.conf aj užívateľov
zo súboru sip.conf, poprípade ak sú v zozname aj iné klapky (extensions) ako hlasové.
Ako vidíme na obrázku 2.1 je možné navoliť všetky základné možnosti užívateľa.
Klapku, jeho meno, heslo do hlasovej pošty, email, príslušné volacie pravidlá. V sekcii
extension option: sa nastaviť aké služby bude mať užívateľ.
Obrázok 8.1.1 – Grafické rozhranie Asterisk – Users
Žilinská univerzita v Žiline, Elektrotechnická fakulta
36
8.2 Conferencing
Tu je možné nastaviť konferenčné hovory. Pre spojazdenie tejto služby musíme mať
v PBX asterisk nainštalovaný modul app meetme.so. Tento súbor nebol donedávna
podporovaný pre verziu Asterisk 1.4, takže sa to nedalo odkúšať. Na našom serveri je už
táto verzia upgradovaná na verziu Asterisk 1.4.18, ktorá tento modul má už automaticky
v sebe nainštalovaný. Táto služba v sebe zahŕňa autentizáciu pomocou PIN kódu,
vyzváňanie za pomoci Music On Hold, možnosťou vstúpenia konferencie po stlačení
hviezdičky na telefóne.
8.3 Voicemail
Túto hlasovú poštu môžeme používať po inštalácií balíčka asterisk-1.4.18-
voicemail. Je to pošta povolená pomocou modulu app record.so, ktorý je zapísaný
v súbore /etc/asterisk/modules.conf. Aby hlasová pošta obsahovala informácie
o zanechaní správy, je nutné aby Asterisk obsahoval balíček textttasterisk1.4.18-sound.
Pre vypočutie si svojej pošty musíme potom z nášho telefónu vytočiť telefónne číslo 8500
a vložiť svoje heslo, ktoré nám pridelil administrátor PBX Asterisk.
Menu hlasovej pošty 8500:
1 Staré správy
3 Vlastné nastavenia
1 Opakuj odoslanie
2 Volaj späť
3 Obálka
4 Odchádzajúce hovory
5 Zmeškané správy
* Vrátiť sa späť do hlavného menu
Žilinská univerzita v Žiline, Elektrotechnická fakulta
37
4 Prehraj predchádzajúcu spávu
5 Zopakuj aktuálnu spávu
6 Prehraj ďalšiu spávu
7 Zmaž aktuálnu správu
8 Správa z mailboxu
9 Uloženie správy do adresára
* Pomocník
# Koniec
2 Zmeň adresár
3 Vlastné nastavenie
0 Mailbox nastavenie
1 Nahraj spávu, ak si nedostuupný
2 Nahraj správu, ak si zaneprázdnený
3 Nahraj svoje meno
4 Zmena hesla
* Vráť sa späť do hlavného menu
* Pomoc
Žilinská univerzita v Žiline, Elektrotechnická fakulta
38
8.4 Service providers
V tejto časti sa dá pridávať a upravovať poskytovateľ VoIP služieb. Pokiaľ nemám
vytvoreného žiadneho, tak zvolím operátora „custom VoIP“. Keďže mám na ústredni
zapojené 2x FXO analógové porty, tak som pridal ako provider-a ďalšie vlastné
nastavenie, ktoré som neskôr využil pre prichádzajúce a odchádzajúce hovory.
8.5 Calling Rules
V tejto časti sa dajú vytvárať takzvané „volacie pravidla“. Najprv je nutné vytvoriť
si nový vytáčací plán, zadať jeho názov, pričom nesmieme zabudnúť na jeho vytáčacie
pravidlo. V mojej práci som použil dve pravidlá pre volanie. Jedno je pre volanie do siete
SIP s prefixom „1“ a ako druhé pravidlo som si zvolil volanie do siete Slovak-Telekom
s prefixom „5“. Pravidlo pre SIP je vytvorené pre štvorčíselné čísla, pričom vytvorené
pravidlo pre Slovak-Telekom s prefixom „5“ je štyri a viac číselné číslo. Prefix hodnota
sa po vytočení čísla automaticky od volaného čísla odreže a je volané len samotné číslo.
8.6 Incomming Calls
V tejto časti sa pridávajú pravidla pre volanie z vonkajšej siete do vnútra. Tu je
možné vybrať, či pravidlo platí pre všetky nešpecifikované prichádzajúce hovory, alebo
pre prichádzajúce hovory u ktorých číslo volajúceho odpovedá definovanému tvaru.
V mojom prípade mám vytvorené dve prichádzajúce pravidlá. Obe pravidlá majú
pridelený svoj vstupný port. Port 3 je pridelený GSM bráne SmartGate. Ak sa dostane
signál na port č.3, tak začne vyzváňať telefón, ktorý si pri vytvorení pravidlá zvolím.
V tomto prípade je to Anal_Telefón_port_2. Podobne je to spravené aj na ďalšom porte
č.4, len s tým rozdielom, že bude vyzváňať iný telefón.
V grafickom menu PBX Asterisk sa nachádza ešte viacej funkcií, ale tie sú pre moje
účely nepotrebné, pretože sa v samotnom grafickom menu nedá spraviť viacej nastavení.
Ak chcem aplikovať nejaké riešenie, tak je nutné spraviť za pomoci prepísania
konfiguračných súborov, kde musím vopred vedieť čo chcem spraviť a ako na to.
K dôkladnému naštudovaniu a konfigurácie PBX Asterisk je nevyhnutné si prečítať jej
podrobnú dokumentáciu v súbore TFOT. [8] [10]
Žilinská univerzita v Žiline, Elektrotechnická fakulta
39
9. Porovnanie vlastností navrhovaného riešenia s obdobným komerkčným riešením
Architektúra OXO
Systém OXO bol navrhnutý tak, aby sa dal ľahko integrovať do dnešného sveta IP
komunikácií. IP riešenie je najvhodnejšie pre podniky, ktoré budujú komunikačnú sieť na
jedinej, pružnej infraštruktúre odolnej proti zastaraniu. OmniPCX Office podporuje IP
zariadenia ako aj IP sieťovanie. Táto kombinácia umožňuje nájsť a zaviesť produkty,
ktoré rozširujú podnikanie a znižujú náklady na infraštruktúru.
Nadstavba systému OXO
Celý systém má na starosti CPU karta, ktorá patrí do skupiny riadiacich kariet.
V jednom systéme sa nachádza vždy len jedna. Má za úlohu riadiť napájanie pre ostatné
karty. CPU a CPUe karty môžu byt vybavené dcérskymi kartami.
V prípade potreby rozšírenia má systém OXO ďalšie prídavné karty:
HSL – High Speed Link
MEX – Module EXpansion
XMEM – eXpend MEMory
AFU – Auxiliary Function Unit
VoIP-1 – Voice over IP
OXO je možné zaviesť aj do RACKu ako PC switch, alebo na stenu pomocou
nástenného držiaka. Montáž do RACKu je komfortnejšia, z dôvodu jednoduchosti
prepájania pomocou patch cordov s RJ45 konektormi do štruktúrovanej kabeláže.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
40
Aplikačné rozhrania
Na základe potrieb zákazníka, OXO poskytuje široký výber externých a interných
pripojení pre komunikáciu.
Externé pripojenia : Sú podporované rôzne typy pripojenia založené na TDM , IP
a internete.
PSTN pripojenie : analógová kanálová linka , digitálny prístup PCM
IP pripojenie : využitie H323 alebo SIP pripojenia.
Internetové pripojenie: sa uskutočňuje cez ISDN alebo xDSL.
Interné pripojenia :
OXO je plne modulárne, preto si môžeme vyberať medzi TDM a IP komunikáciami
alebo aj ich môžeme aj kombinovať. Systém podporuje nasledovné komunikačné
rozhrania:
� IP terminály série 8 a XML rozhranie pre internetové služby
� Digitálne terminály série TDM 9
� Analógové telefóny
� Fax
� Rozhrania Ethernet LAN
� Základňové rádiostanice pre DECT mobilitu
� WiFi vstup pre konektivitu Voice Mobile IP Touch & Data
� Rozhrania CTI TAPI 2.1
Žilinská univerzita v Žiline, Elektrotechnická fakulta
41
Záver
V dnešnom modernom svete sa dostal veľmi do popredia internet a jeho služby,
medzi ktoré nevyhnutne patrí aj IP telefónia a rôzne softvérové pobočkové ústredne akou
je aj Asterisk. Hlavným cieľom bakalárskej práce bolo zoznámiť sa s pobočkovou
ústredňou Asterisk, naučiť sa s ňou manipulovať a prispôsobiť si ju podľa vlastných
požiadaviek. PBX Asterisk je Linuxový server, ktorý je umiestnený v laboratóriu LST na
Elektrotechnickej fakulte Žilinskej univerzity v Žiline, na Detašovanom pracovisku
v Liptovskom Mikuláši (DPLM). Server Asterisk ma pridelenú svoju vlastnú verejnú IP
adresu a je zaregistrovaný na internete ako: http://asterisklm.uniza.sk. Na serveri
asterisklm bežia nasledovné služby: Apache - HTTP, Phpmyadmin, SSH, FTP, ku ktorým
majú prístup jednotliví užívatelia, ktorí sú zaregistrovaní na asterisklm.uniza.sk. Táto
práca bude súčasne slúžiť aj ako pomôcka pri vyučovaní v predmete Komunikačné uzly
a prístupové siete ako aj na oboznámenie sa s pracovným prostredím OS Linux a jeho
príkazového riadku - konzoly BASH. Cieľ práce bol splnený za pomoci vyhradenia
jedného PC ako ďalší server na DPLM. Táto práca obsahuje podrobnú dokumentáciu
inštalácie PBX Asterisk, kompilovanie jednotlivých zdrojových kódov tak, aby tento
postup bol v budúcnosti opakovateľný.
Žilinská univerzita v Žiline, Elektrotechnická fakulta
42
Zoznam použitej literatúry
[1] http://www.abclinuxu.cz/clanky/site/asterisk-voip-ustredna-1-planovani
[2] http://www.abclinuxu.cz/clanky/site/asterisk-voip-ustredna-2-konfigurace
[3] http://www.asteriskguru.com/
[4] http://www.asterisk.org/
[5] Prenos hlasu v IP sieťach, M.Gottstein,2005
[6] http://www.asterisknow.org/
[7] http://www.voip-info.org/
[8] Asterisk: The Future Of IP Telephony, J. V. Meggelen, J. Smith, L. Madsen, 2005.
[9] http://www.asteriskdocs.org/
[10] http://tfot.leifmadsen.com/
[11] http://www.cesnet.cz/doc/seminare/20051115/pr/voz05_asterisk.pdf
Žilinská univerzita v Žiline, Elektrotechnická fakulta
43
ČESTNÉ VYHLÁSENIE Vyhlasujem, že som zadanú bakalársku prácu vypracoval samostatne, pod
odborným vedením vedúceho bakalárskej práce Ing. Milana Bobeka a používal som len
literatúru uvedenú v práci.
Súhlasím so zapožičiavaním bakalárskej práce.
V Liptovskom Mikuláši dňa .............................. ...................................
podpis
Žilinská univerzita v Žiline, Elektrotechnická fakulta
44
Poďakovanie
V tejto časti by som chcel vyjadriť poďakovanie všetkým, ktorí mi nielen odborným
dohľadom, ale aj ľudským prístupom pomohli pri tvorbe mojej práce. Osobitne ďakujem
svojmu vedúcemu BP Ing. Milanovi Bobekovi, za odbornú pomoc a trpezlivý prístup.
Moja vďaka taktiež patrí Ing. Miroslavovi Ďulikovi za cenné rady, ktoré som mohol
využiť v tejto práci a tiež za ich čas a ochotu mi pomôcť.
Ďalšie veľké ĎAKUJEM patrí mojej rodine, za všetko čo pre mňa urobili a neustále
robia.
Ďakujem vám !
Žilinská univerzita v Žiline Elektrotechnická fakulta
Katedra experimentálnej elektrotechniky
SOFTVÉROVÁ ÚSTREDŇA VOIP A JEJ NASADENIE VO FIREMNOM PROSTREDÍ
Prílohová časť
František DRABECKÝ
2008
Žilinská univerzita v Žiline, Elektrotechnická fakulta
I
Zoznam príloh
1, Príloha A: Pomocník v príkaze CLI v asterisk: help
2, Príloha B: Výpis konfiguračného súboru user.conf
3, Príloha C: Moduly Asterisk 1.4.18
3, Príloha D: Výpis konfiguračného súboru extensions.conf
Žilinská univerzita v Žiline, Elektrotechnická fakulta
II
Priloha A:
Pomocník v príkaze CLI asterisk:
asterisk*CLI> help
! Execute a shell command
abort halt Cancel a running halt
add extension Add new extension into context
add ignorepat Add new ignore pattern
add indication Add the given indication to the country
add queue member Add a channel to a specified queue
agi debug Enable AGI debugging
agi no debug Disable AGI debugging
bri debug span Enables BRI debugging on a span
bri intense debug span Enables REALLY INTENSE BRI debugging
bri no debug span Disables BRI debugging on a span
database del Removes database key/value
database deltree Removes database keytree/values
database get Gets database value
database put Adds/updates database value
database show Shows database contents
debug channel Enable debugging on a channel
devstate Set the device state on one of the "pseudo devices".
dont include Remove a specified include from context
dump agihtml Dumps a list of agi command in html format
extensions reload Reload extensions and *only* extensions
help Display help list, or specific help on a command
include context Include context in other context
init keys Initialize RSA key passcodes
load Load a dynamic module by name
local show channels Show status of local channels
logger reload Reopens the log files
logger rotate Rotates and reopens the log files
meetme Execute a command on a conference or conferee
mgcp audit endpoint Audit specified MGCP endpoint
mgcp debug Enable MGCP debugging
mgcp no debug Disable MGCP debugging
mgcp reload Reload MGCP configuration
mgcp show endpoints Show defined MGCP endpoints
no debug channel Disable debugging on a channel
odbc connect Connect to ODBC DSN
Žilinská univerzita v Žiline, Elektrotechnická fakulta
III
odbc disconnect Disconnect from ODBC DSN
odbc show Show ODBC DSN(s)
oh323 debug toggle Toggle on/off debug info for OpenH323 channel driver
oh323 show channels Show info about active OpenH323 channel(s)
oh323 show conf Show config info of OpenH323 channel driver
oh323 show established Show the number of established H.323 channels
oh323 show stats Show statistics of OpenH323 channel driver
oh323 show vars Variables of running OpenH323 channels
pri debug span Enables PRI debugging on a span
pri intense debug span Enables REALLY INTENSE PRI debugging
pri no debug span Disables PRI debugging on a span
pri show span Displays PRI Information
reload Reload configuration
remove extension Remove a specified extension
remove ignorepat Remove ignore pattern from context
remove indication Remove the given indication from the country
remove queue member Removes a channel from a specified queue
restart gracefully Restart Asterisk gracefully
restart now Restart Asterisk immediately
restart when convenient Restart Asterisk at empty call volume
save dialplan Save dialplan
set debug Set level of debug chattiness
set verbose Set level of verboseness
show agents Show status of agents
show agi Show AGI commands or specific help
show applications Shows registered applications
show application Describe a specific application
show audio codecs Shows audio codecs
show autoanswer Lists autoanswer channels
show channels Display information on channels
show channel Display information on a specific channel
show codecs Shows codecs
show codec Shows a specific codec
show conferences Show status of conferences
show config handles Show Config Handles
show dialplan Show dialplan
show file formats Displays file formats
show image codecs Shows image codecs
show image formats Displays image formats
show indications Show a list of all country/indications
Žilinská univerzita v Žiline, Elektrotechnická fakulta
IV
show keys Displays RSA key information
show manager command Show manager command
show manager commands Show manager commands
show manager connected Show connected manager users
show modules List modules and info
show parkedcalls Lists parked calls
show queue Show status of a specified queue
show queues Show status of queues
show switches Show alternative switches
show translation Display translation matrix
show uptime Show uptime information
show version Display version info
show video codecs Shows video codecs
show voicemail users List defined voicemail boxes
show voicemail zones List zone message formats
sip debug Enable SIP debugging
sip debug ip Enable SIP debugging on IP
sip debug peer Enable SIP debugging on Peername
sip history Enable SIP history
sip no debug Disable SIP debugging
sip no history Disable SIP history
sip reload Reload SIP configuration
sip show channels Show active SIP channels
sip show channel Show detailed SIP channel info
sip show history Show SIP dialog history
sip show inuse List all inuse/limit
sip show peer Show details on specific SIP peer
sip show peers Show defined SIP peers
sip show peers begin Show defined SIP peers
sip show peers exclude Show defined SIP peers
sip show peers include Show defined SIP peers
sip show registry Show SIP registration status
sip show subscriptions Show active SIP subscriptions
sip show users Show defined SIP users
skinny debug Enable Skinny debugging
skinny no debug Disable Skinny debugging
skinny show lines Show defined Skinny lines per device
soft hangup Request a hangup on a given channel
stop gracefully Gracefully shut down Asterisk
stop now Shut down Asterisk immediately
Žilinská univerzita v Žiline, Elektrotechnická fakulta
V
stop when convenient Shut down Asterisk at empty call volume
unload Unload a dynamic module by name
... výpis skrátený
Žilinská univerzita v Žiline, Elektrotechnická fakulta
VI
Príloha B:
Výpis konfiguračného súboru user.conf
callwaiting = yes
threewaycalling = yes
callwaitingcallerid = yes
transfer = yes
canpark = yes
cancallforward = yes
callreturn = yes
callgroup = 1
pickupgroup = 1
localextenlength = 4
allow_aliasextns = yes
[6001]
callwaiting = yes
cid_number = 6001
context = numberplan-custom-1
fullname = Anal_Tel_port_2
hasagent = yes
hasdirectory = yes
hasiax = yes
hasmanager = yes
hassip = yes
hasvoicemail = yes
host = dynamic
mailbox = 6001
secret = 6001
threewaycalling = yes
deletevoicemail = no
registeriax = yes
registersip = yes
canreinvite = no
nat = yes
dtmfmode = rfc2833
zapchan = 1
Žilinská univerzita v Žiline, Elektrotechnická fakulta
VII
[6002]
callwaiting = yes
cid_number = 6002
context = numberplan-custom-1
fullname = X_lite_LST_01
hasagent = yes
hasdirectory = yes
hasiax = yes
hasmanager = yes
hassip = yes
hasvoicemail = no
host = dynamic
mailbox = 6002
secret = 6002
threewaycalling = yes
deletevoicemail = no
registeriax = yes
registersip = yes
canreinvite = no
nat = yes
dtmfmode = rfc2833
[trunk_1]
callerid = asreceived
context = DID_trunk_1
group = 1
hasexten = no
hasiax = no
hassip = no
trunkname = Port 4
trunkstyle = analog
zapchan = 4
[1742]
callwaiting = yes
cid_number = 1742
context = numberplan-custom-1
fullname = Glitel_HW_1742
hasagent = yes
hasdirectory = yes
Žilinská univerzita v Žiline, Elektrotechnická fakulta
VIII
hasiax = yes
hasmanager = yes
hassip = yes
hasvoicemail = yes
deletevoicemail = no
host = dynamic
mailbox = 1742
secret = 1742
threewaycalling = yes
registeriax = yes
registersip = yes
canreinvite = no
nat = yes
dtmfmode = rfc2833
[6000]
callwaiting = yes
cid_number = 6000
context = numberplan-custom-1
fullname = 6000_Cerveny
hasagent = yes
hasdirectory = yes
hasiax = yes
hasmanager = yes
hassip = yes
hasvoicemail = yes
deletevoicemail = no
host = dynamic
mailbox = 6000
secret = 6000
threewaycalling = yes
zapchan = 2
registeriax = yes
registersip = yes
canreinvite = no
nat = yes
dtmfmode = rfc2833
Žilinská univerzita v Žiline, Elektrotechnická fakulta
IX
[6005]
callwaiting = yes
cid_number = 6005
context = numberplan-custom-1
fullname = VIGOR_6005
hasagent = yes
hasdirectory = yes
hasiax = yes
hasmanager = yes
hassip = yes
hasvoicemail = yes
deletevoicemail = no
host = dynamic
mailbox = 6005
secret = 6005
threewaycalling = yes
vmsecret = 1234
registeriax = yes
registersip = yes
canreinvite = no
nat = yes
dtmfmode = rfc2833
disallow = all
allow = all
[trunk_2]
allow = all
context = DID_trunk_2
dialformat = ${EXTEN:1}
hasexten = no
hasiax = no
hassip = yes
host = phone.utc.sk
port = 5060
registeriax = no
registersip = yes
secret = 7834hf34
trunkname = Custom - SIP_Milan
trunkstyle = customvoip
username = 421415131753
Žilinská univerzita v Žiline, Elektrotechnická fakulta
X
dtmfmode = inband
[6666]
callwaiting = yes
cid_number = 6666
context = numberplan-custom-1
fullname = Lee
hasagent = yes
hasdirectory = yes
hasiax = yes
hasmanager = yes
hassip = yes
hasvoicemail = no
deletevoicemail = no
host = dynamic
mailbox = 6666
secret = 6666
threewaycalling = yes
vmsecret = 6666
registeriax = yes
registersip = yes
canreinvite = no
nat = yes
dtmfmode = rfc2833
disallow = all
allow = all
[trunk_3]
callerid = asreceived
context = DID_trunk_3
group = 3
hasexten = no
hasiax = no
hassip = no
trunkname = Port 3
trunkstyle = analog
zapchan = 3
Žilinská univerzita v Žiline, Elektrotechnická fakulta
XI
Príloha C:
Moduly Asterisk 1.4.18
app alarmreceiver.so, app amd.so, app authenticate.so, app cdr.so, app
chanisavail.so,app channelredirect.so, app chanspy.so, app controlplayback.so, app db.so,
app dial.so,app dictate.so, app directed pickup.so, app directory.so, app disa.so, app
dumpchan.so,app echo.so, app exec.so, app externalivr.so, app followme.so, app
forkcdr.so,app getcpeid.so app ices.so, app image.so, app lookupblacklist.so, app
lookupcidname.so,app macro.so, app milliwatt.so, app mixmonitor.so, app morsecode.so,
app parkandannounce.so, app playback.so, app privacy.so, app queue.so, app random.so,
app read.so, app readfile.so, app realtime.so, app record.so, app sayunixtime.so,app
senddtmf.so,appsendtext.so,appsetcallerid.so,appsetcdruserfield.so,appransfercapability.s
o, app sms.so, app softhangup.so, app speech utils.so,app stack.so, app system.so, app
talkdetect.so, app test.so, app transfer.so, app url.so,app userevent.so, app verbose.so, app
waitforring.so, app waitforsilence.so, app while.so,cdr csv.so, cdr custom.so, cdr
manager.so, chan agent.so, chan features.so, chan iax2.so,chan local.so, chan sip.so,
codec adpcm.so, codec alaw.so, codec a mu.so, codec g726.so,codec gsm.so, codec
ulaw.so, format g723.so, format g726.so, format g729.so, format gsm.so,format h263.so,
format h264.so, format pcm.so, format sln.so, format vox.so, format wav.so,format wav
gsm.so, func base64.so, func callerid.so, func cdr.so, func channel.so,func cut.so, func
db.so, func enum.so, func env.so, func global.so, func groupcount.so,func language.so,
func logic.so, func math.so, func md5.so, func moh.so, func rand.so,func realtime.so, func
sha1.so, func strings.so, func timeout.so, func uri.so, pbx ael.so,pbx config.so, pbx
loopback.so, pbx realtime.so, pbx spool.so, res clioriginate.so,res convert.so, res
features.so, res indications.so, res monitor.so, res musiconhold.so,res smdi.so, res
speech.so
Žilinská univerzita v Žiline, Elektrotechnická fakulta
XII
Príloha D:
Výpis konfiguračného súboru extensions.conf
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn
[dundi-e164-switch]
switch => DUNDi/e164
[dundi-e164-lookup]
include => dundi-e164-local
include => dundi-e164-switch
[macro-dundi-e164]
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup
[trunkld]
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[trunklocal]
exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[international]
ignorepat => 9
include => longdistance
include => trunkint
[longdistance]
ignorepat => 9
include => local
include => trunkld
Žilinská univerzita v Žiline, Elektrotechnická fakulta
XIII
[local]
ignorepat => 9
include => default
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
include => parkedcalls
[macro-trunkdial]
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1,Hangup
exten=> _s-.,1,NoOp
[macro-stdexten]
exten => s,1,Dial(${ARG2},20) ; Vyzváňa rozhranie, Maximálne 20 sekúnd
exten=>s,2,Goto(s-${DIALSTATUS},1);Preskočí-na-jeden-z nasledujúcich-tvarov (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; ak neodpovedá, tak volaného účastníka presmeruje do odkazovej schránky
exten => s-NOANSWER,2,Goto(default,s,1) ; Ak stlačiš #, vrátiš sa na štart
exten => s-BUSY,1,Voicemail(${ARG1},b) ; Ak si zaneprázdnený tak nás presmeruje do odkazovej schránky
exten => s-BUSY,2,Goto(default,s,1) ; Ak stlačiš #, vrátiš sa na štart
exten => a,1,VoicemailMain(${ARG1}) ; Ak stlačiš *, vstúpiš do hlavného menu v odkazovej schránke
[demo]
exten => s,1,Wait(1) ; Caka sekundu
exten => s,n,Answer ; Cakanie na spojenie
exten => s,n,Set(TIMEOUT(digit)=5) ; Nastavenie pauzy s dobou 5 sekúnd
exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
exten => s,n(instruct),BackGround(demo-instruct) ; Prehranie nejakého uvítacieho súboru
exten => s,n,WaitExten ; Čakanie pre stlačenie klapky s požadovanou voľbou
exten => 2,1,BackGround(demo-moreinfo)
exten => 2,n,Goto(s,instruct)
exten => 3,1,Set(LANGUAGE()=CZ) ; Nastavenie jazyka CZ
exten => 3,n,Goto(s,restart)
exten => 1000,1,Goto(default,s,1)
Žilinská univerzita v Žiline, Elektrotechnická fakulta
XIV
exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)
[page]
exten => _X.,1,Macro(page,SIP/${EXTEN})
[asterisk_guitools]
exten = executecommand,1,System(${command})
exten = executecommand,n,Hangup()
exten = record_vmenu,1,Answer
exten = record_vmenu,n,Playback(vm-intro)
exten = record_vmenu,n,Record(${var1})
exten = record_vmenu,n,Playback(vm-saved)
exten = record_vmenu,n,Playback(vm-goodbye)
exten = record_vmenu,n,Hangup
exten = play_file,1,Answer
exten = play_file,n,Playback(${var1})
exten = play_file,n,Hangup
hasbeensetup = Y
[numberplan-custom-1]
plancomment = DialPlan1
include = default
include = parkedcalls
exten = _1XXXX!,1,Macro(trunkdial,${trunk_2}/${EXTEN:1})
comment = _1XXXX!,1,SIP_von,standard
exten = _5XXXX.,1,Macro(trunkdial,${trunk_3}/${EXTEN:1})
comment = _5XXXX.,1,T-com,standard
[DID_trunk_1]
exten = _X.,1,Goto(default|6000|1)
exten = s,1,Goto(default|6000|1)
[incoming]
exten = 421415131753/_421915540840,1,Dial(SIP/6002,10,t)
exten = 421415131753,1,Goto(voicemenu-custom-1,s,1)
exten = 421415131753,2,Hangup
[default]
exten = 8500,1,VoiceMailMain
Žilinská univerzita v Žiline, Elektrotechnická fakulta
XV
exten = 1743,1,Goto(voicemenu-custom-1|s|1)
exten = 4444,1,Goto(voicemenu-custom-2|s|1)
[uzivatelia]
[voicemenu-custom-2]
comment = aaaa
alias_exten = 4444
exten = s,1,Answer
exten = s,n,Background(/home/bobek/ste_spojeny)
exten = s,n,Background(/home/bobek/ak_poznate)
exten = s,n,Background(/home/bobek/zadajte_cislo)
exten = s,n,WaitExten(1)
exten = s,n,Background(/home/bobek/ak_prepojeny_na_op)
exten = s,n,Background(/home/bobek/stlacte_1)
exten = s,n,WaitExten(10)
exten = s,n,Background(/home/bobek/prepajam_oper)
exten = s,n,Dial(Zap/2,10,t)
exten = s,n,Hangup
exten = 1,1,Background(/home/bobek/prepajam_oper)
exten = 1,n,Dial(Zap/2,10,t)
exten = 6000,1,Dial(Zap/2,10,t)
exten = 6001,1,Dial(Zap/1,10,t)
exten = 6002,1,Dial(SIP/6002,10,t)
exten = 6005,1,Dial(SIP/6005,10,t)
exten = 1742,1,Dial(SIP/1742,10,t)
[voicemenu-custom-1]
comment = milan
alias_exten = 1743
include = default
exten = s,1,Answer
exten = s,n,Background(prich_hovor)
exten = s,n,WaitExten(10)
exten = s,n,Dial(SIP/1742,6,t)
exten = s,n,Hangup
exten = 2,n,Playback(invalid)
exten = 33,1,Hangup
exten = 55,1,MP3Player(test.mp3)
exten = 6000,1,Dial(Zap/2,10,t)
Žilinská univerzita v Žiline, Elektrotechnická fakulta
XVI
exten = 6001,1,Dial(Zap/1,10,t)
exten = 6002,1,Dial(SIP/6002,10,t)
exten = 6005,1,Dial(SIP/6005,10,t)
exten = 1742,1,Dial(SIP/1742,10,t)