12/01/2007

@ Σύνδεση με το Δημόσιο Τηλεφωνικό Δίκτυο (Voipdiscount)

Για να θεωρείται το mini-PBX σύστημά μας ολοκληρωμένο, θα πρέπει να παρέχει τη δυνατότητα σύνδεσης με το δημόσιο τηλεφωνικό δίκτυο. Ειδικότερα, θα πρέπει με κάποιο τρόπο το Asterisk να μπορεί να δέχεται και να πραγματοποιεί κλήσεις από και προς άλλα τηλέφωνα του δημόσιου τηλεφωνικού δικτύου. Αυτό μπορεί να επιτευχθεί μέσω τριών άμεσων τρόπων: (1) Χρήση υλικού της Digium (κάρτες Zaptel, π.χ. ) ή κάποιων παρεμφερών ISDN, FXS/FXO[1] καρτών. (2) Χρήση συσκευών ΑTA (Analog Telephony Adapter) με FXO port (3) Εγγραφή σε κάποιον διαδικτυακό τηλεφωνικό πάροχο με χρήση σύνδεσης στο διαδίκτυο.

Από τους παραπάνω τρόπους, επιλέχθηκε η χρήση ενός τηλεφωνικού παρόχου μέσω διαδικτύου. Για να επιτευχθεί η σύνδεση θα πρέπει να είμαστε εγγεγραμμένοι στις υπηρεσίες κάποιου SIP ή ΙΑΧ τηλεφωνικού παρόχου από τους πολλούς που υπάρχουν στο διαδίκτυο. Για τις ανάγκες του παραδείγματος επιλέχθηκε ο πάροχος voipdiscount της εταιρίας Betamax, επειδή μας επιτρέπει να δοκιμάσουμε τη λειτουργία του πραγματοποιώντας 5λεπτες κλήσεις δωρεάν[2], προς οποιοδήποτε σταθερό τηλέφωνο στην Ελλάδα.

Ρυθμίσεις SIP Τηλεφωνικού Παρόχου (voipdsicount)

Στα πλαίσια της επίδειξης, δημιουργήθηκε στην voipdiscount ο λογαριασμός με όνομα χρήστη asterisk-hellas και συνθηματικό qwerty. Η συγκεκριμένη εταιρία δεν διαθέτει υπηρεσία Direct-Inward-Dialing (DID) που σημαίνει ότι δεν μπορούμε να δεχτούμε κλήσεις. Παρόλα αυτά θα θεωρήσουμε ότι μας έχει δωθεί ένας αριθμός DID (έστω ο αριθμός 123456789) τον οποίο θα στέλνει η εταιρία μαζί με τον αριθμό του καλούντα στον οποίο μπορούν να μας καλέσουν από το δημόσιο τηλεφωνικό δίκτυο.

Οι αλλαγές που πρέπει να κάνουμε στο αρχείο sip.conf είναι οι εξής:

[general]
context
=default
register=>asterisk-hellas:qwerty@sip.voipdiscount.com/asterisk-hellas

[sip-user]
type=friend
secret=qwerty
callerid=”sip-user” <111>
qualify=yes
nat=yes
host=dynamic
canreinvite=no
context=mini-pbx-internal

[voipdiscount-outgoing]
type=friend
username=asterisk
-hellas
authuser=asterisk
-hellas
fromuser=asterisk
-hellas
secret=qwerty
host=sip.voipdiscount.com
fromdomain=voipdiscount.com
sendrpid=yes
qualify=yes
insecure=very
nat=yes
context=mini-pbx-outgoing

και στο extensions.conf

[general]
autofallthrough=yes
clearglobalvars=yes
priorityjumping=
yes

[globals]
VOIPDISCOUNT=SIP/voipdiscount-outgoing
LINE
=123456789 ; # διεπιλογής εισόδου ή s extension γενικότερα
SIP-USER=SIP/sip-user
IAX-USER=IAX2/iax-user

[mini-pbx-internal]
include => mini-pbx-voipdiscount-outgoing

; sip-user
exten => 111,1,Dial(${SIP-USER},20,r)
exten => 111,2,Playback(vm-nobodyavail)
exten => 111,3,Hangup
exten => 111,102,Playback(all-circuits-busy-now)
exten => 111,103,Hangup

; iax-user
exten => 222,1,Dial(${IAX-USER},20,r)
exten => 222,2,Playback(vm-nobodyavail)
exten => 222,3,Hangup
exten => 222,102,Playback(all-circuits-busy-now)
exten => 222,103,Hangup

; Χειρισμός εισερχομένων κλήσεων
[mini-pbx-incoming]
exten => ${LINE},1,Dial(${SIP-USER}&${IAX-USER},60,r)
exten => ${LINE},2,Playback(vm-nobodyavail)
exten => ${LINE},3,Hangup
exten => ${LINE},102,Playback(all-circuits-busy-now)
exten => ${LINE},103,Hangup

; Οι εξερχόμενες κλήσεις δρομολογούνται μέσω του sip χρήστη
; voipdiscount-outgoing που ορίστηκε στο αρχείο sip.conf

[mini-pbx-voipdiscount-outgoing]
exten => _0030ΧXXXXXXXXX,1,Dial(SIP/${EXTEN}@{VOIPDISCOUNT},,r)
exten => _0030ΧXXXXXXXXX,2,Hangup

 


Στο context mini-voipdiscount-outgoing συναντάμε για πρώτη φορά την έννοια του pattern matching (_), την οποία θα αναλύσουμε σε επόμεη δημοσίευση.



[1] Τα FXS και FXO είναι τα ονόματα των θυρών που χρησιμοποιούνται από τις Αναλογικές τηλεφωνικές γραμμές. Η διεπαφή FXS είναι η θύρα που παρέχει την γραμμή στον συνδρομητή (σήμα επιλογής, ρεύμα μπαταρίας, τάση κουδουνισμού). Η διεπαφή FXO είναι η θύρα που λαμβάνει την αναλογική γραμμή σε μία τηλεφωνική συσκευή και παρέχει την ένδειξη κλεισίματος βρόγχου (σήκωμα/κατέβασμα ακουστικού).

[2] H δοκιμαστική λειτουργία της voipdiscount ενδέχεται να διακοπεί. Σε αυτήν την περίπτωση μπορούμε με μία απλή έρευνα σε κάποια μηχανή αναζήτησης του διαδικτύου να βρούμε κάποια παρόμοια υπηρεσία.

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