vineri, 10 ianuarie 2014

Instalare Asterisk si 'Hello World'

Unii dintre incepatorii in Asterisk spun ca si-au rezervat cel putin 2 zile pentru cercetare online si / sau alte surse inainte de a incepe cu un server Asterisk. Daca nu esti unul dintre ei si doresti sa sari peste unele parti teoretice ca sa poti lucra cat mai repede (-esti la fel ca mine-) blog-ul acesta e potrivit pentru tine.
De asemenea, gasesti foarte multe video tutoriale online (pe Youtube sau alte site-uri de genul).

*Nota*
Blog-ul acesta este dedicat Asterisk, VoIP si altor sisteme de telecomunicatii. Imi rezerv dreptul sa consider ca ai deja o baza Linux. Ar trebui sa stii deja sa folosesti un editor text si cum sa configurezi un adaptor de internet.


Instalare Asterisk pe server

Cu privire la ce versiune Linux sau Asterisk sa alegi, opiniile difera, unii preferand sa foloseasca pachetele distribuite oficial, iar altii prefera sa compileze Asterisk cu diferite pachete. Eu presupun si recomand instalarea din codul sursa. Motivul e simplu: Versiunile din pachetele distribuite se invechesc tot timpul, avand in vedere faptul ca noi versiuni de Asterisk apar aproximativ in fiecare luna.

*Nota*
Pentru practica, poti lua in considerare rularea pe o masina virtuala x86, de exemplu VMware.
Incearca varianta de instalare propusa, deoarece este testata si nu contine erori. Pentru orice probleme, va astept in sectiunea de comentarii.


instalare_helloworld_from_cli

Este o lista lunga, dar nu te sperial; noi avem treaba doar cu unul dintre ele, de exemplu: extensions.conf. Ca sa tinem asta simplu, vom muta fila extensions.conf, creata prin  proba la var/tmp/asterisk-etc-backup/ (ca sa o gasim mai tarziu):
debian:/etc/asterisk# mkdir -p /var/tmp/asterisk-etc-backup
debian:/etc/asterisk# mv extensions.* /var/tmp/asterisk-etc-backup/
debian:/etc/asterisk#

Folosind editorul tau favorit de text (exemplu: Nano, il instalezi in Debian) adauga urmatorul in /etc/asterisk/extensions.conf:
[default]
exten => 1001,1,Answer()
exten => 1001,2,Playback(hello-world)
exten => 1001,3,Hangup()


Pornire Asterisk si solicitare 'Hello World'

Poate vei fi surprins ca doar 4 linii sunt necesare pentru a configura Asterisk.
Porneste Asterisk prin comanda asterisk -c (-c este pentru consola):
debian:/etc/asterisk# asterisk -c
Asterisk 1.4.21, Copyright (C) 1999-2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
[...]
[ Booting...
[ Reading Master Configuration ]
[...]
Asterisk Ready.
*CLI>

In aceasta consola, poti opera si rula serverul Asterisk si ii poti da comenzi interactive in timp real. Acum hai sa incercam generarea unei comenzi catre extensia 'Hello World' cu console dial 1001:
*CLI> console dial 1001
*CLI> << Console Call has been answered >>
<< Hangup on console >>

*CLI>

Comanda console dial 1001 cheama extensia 1001.  Aceasta extensie raspunde si ruleaza fisierul audio 'hello-world.gsm' din /var/lib/asterisk/sounds.

*Nota*
'console dial' se comporta exact la fel ca un telefon. Il poti folosi ca apelezi o extensie si sa o asculti prin placa de sunet.

Asterisk pentru incepatori

Incepatorii au mereu tendinta sa intrebe ce echipament este cel mai bun sa-l cumpere si la ce servicii sa apeleze asa ca m-am gandit sa subliniez cateva din lucrurile importante la inceput.

asterisk pentru incepatori (photo header)

1) Cand incepeti, alegeti un provider SIP ce ofera servicii gratuite VoIP ca sa acumulati experienta.
Cand alegi un provider, poti tine cont de urmatoarele lucruri:
- Pe langa SIP, provider-ul tau ofera si IAX? Ai nevoie de IAX?
- Cat de bun este suportul si/sau relatiile cu clientii? Pentru VoIP, un suport bun poate face diferenta.
- Pe parcurs, vei avea nevoie de un serviciu complet. Cat costa fata de ceialalti provideri si ce are in plus/minus?

2) Legat de interfata digitala, acomodeaza-te cu trunchiurile SIP si extensiile acestora. Odata ce ai inteles contextul 'dialplan' poti sa te apuci de facut conexiuni. Abea atunci poti vorbi si de o interfata digitala.

3) Telefoane standard.
Nu exista telefoane 'standard'. Ai mai multe optiuni:
- Un telefon SIP (softphone) este cea mai simpla alegere
- Un telefon analog, ce foloseste ATA, conectat la internet.
- Un telefon analog ce foloseste port FXS pe un card analog
- Un telefon digital ce foloseste un adaptor pentru conectarea la internet
- Un telefon ISDN (cele mai comercializate in Europa, unde terminatiile ISDN sunt mult mai obisnuite)