Το SIP είναι το Πρωτόκολλο Έναρξης Σύνδεσης. Στην IP και την παραδοσιακή τηλεφωνία, οι μηχανικοί δικτύων έχουν κάνει πάντα μια σαφή διάκριση μεταξύ δύο διαφορετικών φάσεων μιας φωνητικής κλήσης. Η πρώτη φάση είναι "setup call" και περιλαμβάνει όλες τις λεπτομέρειες που χρειάζονται για να μιλήσουν δύο τηλέφωνα. Μόλις ολοκληρωθεί η κλήση, τα τηλέφωνα εισέρχονται σε μια φάση "μεταφοράς δεδομένων" (“data transfer”) της κλήσης χρησιμοποιώντας μια εντελώς διαφορετική οικογένεια πρωτοκόλλων για την πραγματική μετακίνηση των πακέτων φωνής μεταξύ των δύο τηλεφώνων. Στον κόσμο του VoIP, το SIP είναι ένα πρωτόκολλο ρύθμισης κλήσεων που λειτουργεί στο επίπεδο εφαρμογής. Μπορεί να έχετε ακούσει επίσης το H.323, ένα πρωτόκολλο ITU με παρόμοια λειτουργία.
Το SIP είναι ένα πολύ ευέλικτο πρωτόκολλο που έχει μεγάλο βάθος. Σχεδιάστηκε για να είναι ένας τρόπος γενικής χρήσης για τη δημιουργία συναντήσεων πολυμέσων σε πραγματικό χρόνο μεταξύ ομάδων συμμετεχόντων. Για παράδειγμα, εκτός από τις απλές τηλεφωνικές κλήσεις, το SIP μπορεί επίσης να χρησιμοποιηθεί για τη ρύθμιση συναντήσεων πολυμέσων βίντεο και ήχου ή συνεδρίων ανταλλαγής άμεσων μηνυμάτων. Σε αυτό το κείμενο, θα επικεντρωθούμε στις δυνατότητες του SIP για VoIP και τον τρόπο με τον οποίο ορίζει κλήσεις, που στη συνέχεια χρησιμοποιούν το πρωτόκολλο μεταφοράς πραγματικού χρόνου (RTP), για την πραγματική αποστολή των φωνητικών δεδομένων μεταξύ των τηλεφώνων.
Το SIP έχει επίσης μεγάλο εύρος, δεδομένου ότι δεν κάνει τίποτα περισσότερο από το χειρισμό των ρυθμίσεων κλήσης. Ο παρακάτω πίνακας δείχνει τις πέντε κύριες λειτουργίες εντός του SIP από άποψη VoIP.
Λειτουργία |
Περιγραφή |
Τοποθεσία χρήστη και εγγραφή |
Τα τερματικά σημεία (τηλέφωνα) ειδοποιούν τον SIP proxy της τοποθεσίας τους. Το SIP καθορίζει ποια τερματικά θα συμμετέχουν σε μια κλήση. |
Διαθεσιμότητα χρηστών |
Το SIP χρησιμοποιείται από τα τερματικά, για να καθορίσει εάν θα απαντήσει σε μια κλήση. |
Δυνατότητες χρηστών |
Το SIP χρησιμοποιείται από τα τερματικά για να διαπραγματευτεί τις δυνατότητες των media, όπως η συμφωνία για έναν αμοιβαία υποστηριζόμενο κωδικοποιητή φωνής. |
Ρύθμιση περιόδου λειτουργίας |
Το SIP λέει στο τεματικό ότι το τηλέφωνό του πρέπει να "κουδουνίζει". Το SIP χρησιμοποιείται για να συμφωνεί με τα χαρακτηριστικά σύνδεσης που χρησιμοποιούνται από το καλούντα και το καλούμενο μέρος. |
Διαχείριση περιόδου |
Το SIP χρησιμοποιείται για τη μεταφορά κλήσεων, τον τερματισμό κλήσεων και την αλλαγή παραμέτρων κλήσης κατά τη διάρκεια της μεσοδιάσκεψης (όπως η προσθήκη ενός συνεδρίου 3 δρόμων). |
Ένα από τα υπέροχα πράγματα για το SIP είναι ότι είναι ένα πρωτόκολλο βασισμένο σε κείμενο που έχει σχεδιαστεί βάσει του μοντέλου αίτησης / απόκρισης που χρησιμοποιείται στο HTTP. Αυτό καθιστά εύκολο τον εντοπισμό σφαλμάτων, επειδή τα μηνύματα είναι εύκολο να κατασκευαστούν (αν είστε προγραμματιστές) και είναι εύκολο να τα δείτε (αν είστε διαχειριστής δικτύου). Σε αντίθεση με το H.323, το SIP είναι ένα εξαιρετικά απλό πρωτόκολλο. Παρ 'όλα αυτά, έχει αρκετά ισχυρά χαρακτηριστικά για να διαμορφώσει τη συμπεριφορά ενός πολύ περίπλοκου παραδοσιακού τηλεφωνικού PBX.
Το SIP μπορεί να τρέξει μέσω IPv4 και IPv6 και μπορεί να χρησιμοποιήσει είτε TCP είτε UDP. Οι πιο κοινές εφαρμογές, ωστόσο, χρησιμοποιούν τα IPv4 και UDP. Αυτό ελαχιστοποιεί τα γενικά έξοδα, με αποτέλεσμα να επιταχύνεται η απόδοση.
Παρόλο που δύο συσκευές SIP μπορούν να μιλούν απευθείας μεταξύ τους, θα χρησιμοποιούν γενικά ένα ενδιάμεσο σύστημα που λειτουργεί ως διακομιστής μεσολάβησης SIP. Σημειώστε ότι ο διακομιστής μεσολάβησης SIP συμμετέχει μόνο στα μηνύματα SIP --- μόλις γίνει η κλήση, τα τηλέφωνα στέλνουν τη φωνητική τους κίνηση απευθείας μεταξύ τους χωρίς να εμπλέκουν το διακομιστή μεσολάβησης. Οι διακομιστές μεσολάβησης SIP είναι πολύ χρήσιμοι για την εκφόρτωση εργασιών και την απλοποίηση της εφαρμογής των τηλεφώνων του τελικού σταθμού. Για παράδειγμα, ένα τηλέφωνο SIP μπορεί να θέλει να κάνει μια κλήση σε άλλο τηλέφωνο στην επέκταση 102. Παρόλο που το τηλέφωνο μπορεί να έχει κάποιο μαγικό τρόπο να μεταφράσει αυτό το 102 σε μια διεύθυνση IP ή τοποθεσία, τυπικά απλά θα στείλει το αίτημα κλήσης του σε δική του SIP proxy. Η δουλειά του πληρεξούσιου SIP είναι να γνωρίζει τι σημαίνει "102" πραγματικά: Είναι αυτό το τηλέφωνο; Ένα αυτόματο σύστημα; Ίσως πολλά τηλέφωνα, όλα να ανταποκριθούν άμεσα;
Συνήθως πιστεύουμε στην τηλεφωνία, ότι τα τηλεφώνα έχουν αριθμητικές διευθύνσεις. Στο SIP, ένας τελικός σταθμός έχει ένα UIP SIP (μια μορφή URL) που το αναγνωρίζει και χρησιμοποιείται στο πρωτόκολλο SIP. Επειδή τα τηλέφωνα έχουν γενικά αριθμητικά πληκτρολόγια, το τηλέφωνο είναι υπεύθυνο για τη μετάφραση αυτού που καλείτε (όπως επέκταση 102) σε διεύθυνση SIP (όπως sip: Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από τους αυτοματισμούς αποστολέων ανεπιθύμητων μηνυμάτων. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να μπορέσετε να τη δείτε.). Μπορείτε να μάθετε περισσότερα σχετικά με τον τρόπο αλληλεπίδρασης των URI UIP, των παραδοσιακών τηλεφωνικών αριθμών, των διευθύνσεων DNS και των διευθύνσεων IP στα κείμενά μας για το "ENUM".
Το παρακάτω διάγραμμα δείχνει ένα διάλογο SIP που περιλαμβάνει δύο μέρη (Alice και Bob) και τους διακομιστές μεσολάβησης SIP, την Atlanta και το Biloxi. Σε αυτήν την περίπτωση, τα μηνύματα SIP έχουν βαριά συντομογραφία για να δείξουν τη ροή της κυκλοφορίας.
Παρόλο που το διάγραμμα εδώ δείχνει ότι οι πληρεξούσιοι δεν συμμετέχουν στο πρωτόκολλο SIP, μόλις η Alice αναγνωρίσει ότι ο Bob έχει πάρει το τηλέφωνο, κάθε κλήση δεν θα λειτουργήσει με αυτόν τον τρόπο. Ένας πληρεξούσιος μπορεί να επιλέξει να παραμείνει στη μέση της συνομιλίας ακόμη και μετά την σύνδεση της κλήσης για να παρέχει κάποιες λειτουργίες μεσαίας κλήσης, όπως υπηρεσίες διάσκεψης ή χρέωσης. Σημειώστε ότι ακόμη και αν ο διακομιστής μεσολάβησης βρίσκεται στη μέση της κλήσης, εξακολουθούμε να μιλάμε μόνο για το τμήμα SIP της κλήσης --- η φωνητική κίνηση θα μεταφερθεί γενικά απευθείας από το ένα τηλέφωνο στο άλλο μόλις γίνει η κλήση.
Μια άλλη κοινή λειτουργία στο SIP ονομάζεται Εγγραφή. Στο παράδειγμά μας, αυτό μπορεί να είναι ο τρόπος με τον οποίο ο πληρεξούσιος Biloxi έμαθε πού βρίσκεται ο Bob. Η δυνατότητα εγγραφής είναι ιδιαίτερα χρήσιμη σε περιβάλλον όπου τα τηλέφωνα δεν έχουν στατικές διευθύνσεις IP (όπως ένα περιβάλλον DHCP ή όταν ένα τηλέφωνο ταξιδεύει με τον ιδιοκτήτη του). Στο SIP, ο διακομιστής εγγραφής μπορεί να τοποθετηθεί μαζί με το διακομιστή μεσολάβησης ή να είναι διαφορετικά συστήματα. Ο Bob δεν περιορίζεται επίσης στην εγγραφή από μια ενιαία τοποθεσία. Θα μπορούσε να έχει τηλέφωνα SIP στο σπίτι και στο γραφείο, που και τα δύο να έχουν εγγραφεί στο διακομιστή SIP. Στη συνέχεια, είναι ευθύνη του διακομιστή μεσολάβησης να αποφασίσει ποια τηλέφωνα να "χτυπήσουν" όταν έρχεται μια κλήση για τον Bob. Με το SIP, αυτό θα μπορούσε να σημαίνει την επιλογή ενός μόνο τηλεφώνου για να χτυπήσει ή απλά να χτυπάει όλα τα τηλέφωνα ταυτόχρονα.
Επειδή το SIP χρησιμοποιείται για τον έλεγχο κλήσεων, χαρακτηριστικά όπως το φωνητικό ταχυδρομείο και η αυτόματη απάντηση - εξυπηρέτηση δεν αποτελούν μέρος του ίδιου του πρωτοκόλλου SIP. Αντ 'αυτού, παρέχονται από τα τελικά σημεία που στέλνουν και δέχονται κλήσεις τα ίδια σημεία. Αυτό σημαίνει ότι ένα δίκτυο VoIP με βάση το SIP δεν έχει πραγματικό παράλληλο προς το "PBX" στην παραδοσιακή τηλεφωνία. Μπορεί να ακούσετε τον όρο "SIP Server" ή "SIP PBX" που χρησιμοποιείται για την περιγραφή του διακομιστή μεσολάβησης SIP, αλλά η λειτουργικότητα είναι αρκετά διαφορετική. Ωστόσο, είναι δυνατό να ενσωματωθούν ορισμένες παραδοσιακές λειτουργίες PBX, όπως η διάσκεψη σε διακομιστή μεσολάβησης SIP. Για παράδειγμα, ο διακομιστής μεσολάβησης SIP Asterisk που δοκιμάστηκε ως μέρος της επίδειξης iLabs περιλαμβάνει τόσο φωνητικό ταχυδρομείο όσο και αυτόματη συνοδεία. Σε άλλες περιπτώσεις, όπως ένας διακομιστής διασκέψεων με τις απαιτήσεις επεξεργασίας βαρύ ψηφιακού σήματος, ίσως θέλετε μια ξεχωριστή ειδική συσκευή.
Για να σας δώσουμε μια ιδέα για το πόσο απλό είναι το SIP, έχουμε συμπεριλάβει ένα μήνυμα SIP εδώ: μια ιδέα για το τι μπορεί να μοιάζει με το αρχικό INVITE του Alice στο Bob. Σε αυτό το μήνυμα, το τμήμα INVITE δεν εμφανίζεται στο πρωτόκολλο Περιγραφή Συνόδου (RFC 2327) Το SDP είναι εκεί όπου θα αναφέρονται τα χαρακτηριστικά κυκλοφοριακής φωνής, όπως η επιλογή του κωδικοποιητή ήχου. Η εύκολη στη ανάγνωση μορφή του SIP έχει διευκολύνει την υλοποίηση και την αποσφαλμάτωση του SIP από άλλα παρόμοια πρωτόκολλα, όπως το H.323.
INVITE sip:Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από τους αυτοματισμούς αποστολέων ανεπιθύμητων μηνυμάτων. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να μπορέσετε να τη δείτε. SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK77ds
Max-Forwards: 70
To: 2510244500 <sip:Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από τους αυτοματισμούς αποστολέων ανεπιθύμητων μηνυμάτων. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να μπορέσετε να τη δείτε.>;
From: 00357223xxxxx <sip:Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από τους αυτοματισμούς αποστολέων ανεπιθύμητων μηνυμάτων. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να μπορέσετε να τη δείτε.>;;tag=1928301774
Call-ID: Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από τους αυτοματισμούς αποστολέων ανεπιθύμητων μηνυμάτων. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να μπορέσετε να τη δείτε.
CSeq: 314159 INVITE
Contact: <sip:Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από τους αυτοματισμούς αποστολέων ανεπιθύμητων μηνυμάτων. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να μπορέσετε να τη δείτε.>;
Content-Type: application/sdp
Content-Length: 142