12/01/2007

@ Τι είναι το Asterisk;

Στην κοινότητα του Asterisk έχει επιχειρηθεί αρκετές φορές να δοθεί ένας περιεκτικός ορισμός του τι ακριβώς είναι το Asterisk και ποιες είναι οι δυνατότητες του. Οι δημιουργοί του θέλοντας να απλοποιήσουν την έννοια του Asterisk και να το κάνουν ποιο ελκυστικό στο ευρύ κοινό, συχνά χρησιμοποιούν τη φράση: “Είναι απλά λογισμικό”. Στην πραγματικότητα όμως, είναι πολλά περισσότερα. Κάποιος μπορεί να καταλάβει τι είναι το Asterisk κοιτάζοντας την ετοιμολογία του ονόματός του. Ο ειδικός χαρακτήρας του αστερίσκου (*) είναι συγχρόνως ένα πλήκτρο του τηλεφωνικού πληκτρολογίου καθώς επίσης και ένας ειδικός χαρακτήρας στα λειτουργικά συστήματα UNIX και DOS που μπορεί να συμβολίσει οποιοδήποτε αλφαριθμητικό χαρακτήρα (π.χ. rmrf *). Έτσι και το Asterisk έχει σχεδιαστεί ώστε να μπορεί να διασυνδεθεί με οποιοδήποτε τηλεφωνικό υλικό ή λογισμικό απρόσκοπτα και με συνέπεια.

Το Asterisk ξεφεύγει από τα όρια του τηλεπικοινωνιακού προγράμματος και χαρακτηρίζεται σωστότερα από την έννοια της τηλεπικοινωνιακής πλατφόρμας. Δημιουργεί δηλαδή ένα πλαίσιο μέσα στο οποίο θα μπορούσε να αναπτυχθεί το οποιοδήποτε υπάρχον (ή μελλοντικό) τηλεπικοινωνιακό σύστημα. Μπορεί να λειτουργήσει σαν αυτόνομος εξυπηρετητής επεξεργασίας κλήσεων ή ακόμα και σαν προσθήκη σε κάποιο ήδη εγκατεστημένο κέντρο. Μπορεί να χρησιμοποιηθεί μόνο σε επίπεδο λογισμικού, μεταφέροντας φωνή μέσω IP ή να επικοινωνήσει με TDM (Time Division Multiplexing) διεπαφές και να χρησιμοποιήσει το τηλεφωνικό δίκτυο.

Μέσω του Asterisk μπορεί να επιτευχθεί ποικιλία μεταβάσεων όπως:

  • Κλειστό (εμπορικό) → Ελεύθερο (δωρεάν)
  • Δίκτυα μεταγωγής κυκλώματος → VoIP συστήματα
  • Φωνή → Φωνή, Βίντεο, Δεδομένα
  • Digital Signal ProcessingHost Media Processing
  • Κεντρική διαχείριση → Peer to Peer

Ενώ παράλληλα παρέχονται γέφυρες επικοινωνίας με όλες τις προϋπάρχουσες τεχνολογίες και τα πρότυπά τους.

Επισήμως το Asterisk ορίζεται ως: μία πλατφόρμα ελεύθερου λογισμικού, “υβριδικής” πολύπλεξης με διαίρεση χρόνου (hybrid TDM), με δυνατότητες ιδιωτικού συστήματος μεταγωγής τηλεφωνίας - πακέτων φωνής (packet voice PBX) και συστήματος αμφίδρομης φωνητικής απόκρισης (IVR) με λειτουργίες αυτόματης κατανομής κλήσεων (ACD) [Mark Spencer, Fosdem 2006]. Ο παραπάνω ορισμός αν και δεν καλύπτει το σύνολο των δυνατοτήτων του Asterisk -πράγμα αδύνατο να επιτευχθεί μέσα σε τρεις γραμμές- είναι μία καλή αρχή για να αρχίσει ξετυλίγεται το κουβάρι των τεχνολογιών που το συνθέτουν. Παρακάτω θα επιχειρήσουμε να αποσαφηνίσουμε τις έννοιες του ορισμού και να ξεκινήσουμε σιγά-σιγά να εξετάζουμε επιμέρους δυνατότητες της πλατφόρμας.

Το Asterisk είναι ελεύθερο λογισμικό

Ξεκινώντας λοιπόν με την έννοια του ελεύθερου λογισμικού, το Asterisk λειτουργεί υπό τη Γενική Άδεια Δημόσιας Χρήσης GNU (GPL), αλλά για λόγους διαλειτουργικότητας (π.χ. υποστήριξη του ιδιωτικού codec G.729) υπάρχει επίσης και η εμπορική διανομή του Asterisk (όπως συμβαίνει και με τη ΜySQL). To Asterisk απολαμβάνει αυτήν τη στιγμή μεγάλη εκτίμηση από την κοινότητα του ελεύθερου λογισμικού, το οποίο στην πράξη σημαίνει ότι εκτός από το γεγονός ότι είναι δωρεάν, ταυτόχρονα σε καθημερινή βάση εκατοντάδες (ή ακόμα και χιλιάδες) προγραμματιστές και σύμβουλοι τηλεπικοινωνιών ασχολούνται με το Asterisk, δημιουργώντας εφαρμογές και προσαρμοσμένες εγκαταστάσεις, με σκοπό να το επεκτείνουν, να το βελτιώσουν, να προβλέψουν τις νέες τεχνολογίες που έρχονται (αν όχι να τις δημιουργήσουν) και να τις ενσωματώσουν έγκαιρα.

Το Asterisk είναι πλατφόρμα πολύπλεξης με διαίρεση χρόνου (TDM) και ανταλλαγής πακέτων φωνής.

Αυτό σημαίνει ότι υποστηρίζει τα υπάρχοντα TDM πρωτόκολλα τηλεπικοινωνιών όπως το Ψηφιακό Δίκτυο Ενοποιημένων Υπηρεσιών (ISDN-BRA-PRI), το Δημόσιο Τηλεπικοινωνιακό Δίκτυο Μεταγωγής (PSTN), το FXS, το FXO, το Ε1, το Τ1 και σε γενικές γραμμές οτιδήποτε χρησιμοποιείται στην κλασσική τηλεφωνία όπως τη γνωρίζουμε μέχρι σήμερα. Παράλληλα όμως υποστηρίζει και τα καινούργια VoIP (Voice over Internet Protocol) πρωτόκολλα όπως το SIP, το IAX, το H.323, το MGCP, το SCCP (Sisco-Skinny) και σύντομα το Jingle (Google Talk). Η γεφύρωση των τεχνολογιών προσφέρει στο χρήστη, δυνατότητα μετάβασης στις νέες μορφές επικοινωνίας χωρίς όμως να αναγκαστεί να αποχωριστεί τις παλιές του συνήθειες και εγκαταστάσεις.

Το Asterisk είναι ιδιωτικό σύστημα τηλεφωνικής μεταγωγής (PBX)



Τα συστήματα PBX χρησιμεύουν στη ζεύξη μεταξύ των τερματικών (τηλέφωνο, fax, modem, κ.α.) που είναι συνδεδεμένα με το PBX και του δημόσιου τηλεπικοινωνιακού δικτύου μεταγωγής (PSTN). Με αυτήν τη συνδεσμολογία είναι δυνατόν να μη χρειάζεται κάθε τερματικό μια αποκλειστική σύνδεση με το PSTN δίκτυο αλλά αντ’ αυτού να χρησιμοποιείται ένα πλήθος γραμμών ανάλογο με τις απαιτήσεις για επικοινωνία με τον έξω κόσμο (Line Trunking).

Το Asterisk μπορεί να λειτουργήσει σαν ένα παραδοσιακό PBX με τις ευκολίες που αυτά παρέχουν όπως: ενδοεπικοινωνία (extension-to-extension), τριμερής επικοινωνία, τηλεδιάσκεψη, φωνητικό ταχυδρομείο, αναμονή κλήσεων, προώθηση κλήσεων, καταγραφή αρχείου κλήσεων, ηχογράφηση συνομιλιών, κ.α, με τη διαφορά ότι όλα αυτά τα κάνει με πλήρη διαφάνεια και κατά βούληση του χρήστη και έτσι δεν επηρεάζεται από το πώς επικοινωνούν οι χρήστες, δηλαδή με softphones, παραδοσιακά τηλέφωνα ή VoIP handsets και δεν περιορίζει την τοπολογία του τηλεφωνικού δικτύου.

Το Asterisk είναι σύστημα αμφίδρομης φωνητικής απόκρισης (IVR)



Το
Asterisk παρέχει τη δυνατότητα δημιουργίας συστήματος αμφίδρομης φωνητικής απόκρισης. Αυτό σημαίνει ότι ο καλών έχει τη δυνατότητα μέσω ενός φωνητικού μενού και με τη χρήση του πληκτρολογίου της τηλεφωνικής του συσκευής να αλληλεπιδράσει με το τηλεφωνικό κέντρο και να αποκτήσει πρόσβαση σε πληροφορίες οι οποίες βρίσκονται στο σύστημά μας. Χαρακτηριστικό παράδειγμα μίας τέτοιας εφαρμογής είναι το σύστημα που χρησιμοποιείται από πολλές τράπεζες, στο οποίο πληκτρολογούμε τον αριθμό της κάρτας μας και κάποιο συνθηματικό και αποκτάμε πρόσβαση σε πληροφορίες όπως το υπόλοιπο του λογαριασμού μας και τις τελευταίες κινήσεις του λογαριασμού.

Το Asterisk είναι σύστημα αυτόματης κατανομής κλήσεων (ACD)



Το Asterisk μπορεί να λειτουργήσει σαν σύστημα ουρών αναμονής των κλήσεων και αυτόματης δρομολόγησης στην κατάλληλη ουρά. Η λειτουργία αυτή, είναι από τις βασικότερες ενός τηλεφωνικού κέντρου, το οποίο θα πρέπει να είναι σε θέση να κάνει σωστή και αποτελεσματική διαχείριση των γραμμών του. Τα κριτήρια δρομολόγησης μπορούν να ποικίλουν, ανάλογα με την ώρα, τη διαθεσιμότητα, τα προσόντα, τα επίπεδα προτεραιοτήτων, κ.α.

Δεν υπάρχουν σχόλια: