Το HBLink είναι μια συλλογή λογισμικών ανοικτού κώδικα για τη δημιουργία και επέκταση δικτύων που χρησιμοποιούν τα πρωτόκολλα HomeBrew Repeater Protocol (HBP) και OpenBridge Protocol (OBP).
Το HBLink χρησιμοποιείται κυρίως στον χώρο του DMR (Digital Mobile Radio) και σχετίζεται με συστήματα όπως MMDVM, BrandMeister και DMR+.
Το HBLink δεν αποτελεί από μόνο του ένα αυτόνομο DMR δίκτυο. Πρόκειται για μια σειρά εργαλείων και εφαρμογών που μπορούν να χρησιμοποιηθούν για τη διασύνδεση, δρομολόγηση και γεφύρωση διαφορετικών DMR συστημάτων.
Η βασική υλοποίηση του πρωτοκόλλου βρίσκεται στο hblink.py, πάνω στο οποίο βασίζονται οι εφαρμογές του HBLink.
Το HBLink σχεδιάστηκε με στόχο να παρέχει μια ανοικτή και ευέλικτη υποδομή για τη διασύνδεση DMR συστημάτων που χρησιμοποιούν το HomeBrew Repeater Protocol.
Η φιλοσοφία του project βασίζεται:
Το HBLink μπορεί να χρησιμοποιηθεί τόσο για απλές συνδέσεις μεταξύ DMR συστημάτων όσο και για πιο σύνθετες αρχιτεκτονικές με πολλαπλά συστήματα και Talk Groups.
Το HomeBrew Repeater Protocol (HBP) είναι το πρωτόκολλο που χρησιμοποιείται για τη διασύνδεση συμβατών DMR repeaters, hotspots και servers.
Το HBLink παρέχει υλοποίηση του HBP και μπορεί να λειτουργήσει ως:
Με αυτόν τον τρόπο μπορούν να συνδεθούν συστήματα που χρησιμοποιούν συμβατό HomeBrew/MMDVM πρωτόκολλο.
Το HBLink μπορεί να λειτουργήσει ως κεντρικό σημείο σύνδεσης για πολλαπλά συστήματα και να μεταφέρει επιλεκτικά την κίνηση μεταξύ αυτών.
Το HBLink δεν λειτουργεί ως ένα ενιαίο κεντρικό DMR δίκτυο.
Αντίθετα, παρέχει στον διαχειριστή τα εργαλεία ώστε να δημιουργήσει τη δική του αρχιτεκτονική διασύνδεσης.
Μέσω των routing rules μπορεί να καθοριστεί ποια συστήματα και ποια Talk Groups θα επικοινωνούν μεταξύ τους.
Η δρομολόγηση μπορεί να πραγματοποιείται μεταξύ:
Ένα από τα σημαντικότερα χαρακτηριστικά του HBLink είναι η δυνατότητα δημιουργίας conference bridges.
Μέσω των rules μπορούν να καθοριστούν:
Το HBLink υποστηρίζει επίσης δυναμική ενεργοποίηση και απενεργοποίηση bridges μέσω Talk Group triggers και timeouts.
Αυτό επιτρέπει τη δημιουργία σύνθετων DMR conference systems χωρίς να απαιτείται όλα τα συνδεδεμένα συστήματα να χρησιμοποιούν την ίδια τοπική διαμόρφωση.
Το HBLink υποστηρίζει το OpenBridge Protocol (OBP) για τη διασύνδεση με άλλα DMR routing systems.
Το OpenBridge χρησιμοποιήθηκε αρχικά από το DMR+ για τη σύνδεση μεταξύ IPSC2 και BrandMeister και στη συνέχεια χρησιμοποιήθηκε και από το HBLink για τη διασύνδεση με άλλα network systems.
Μέσω OpenBridge ένα HBLink system μπορεί να συνδεθεί με άλλα συμβατά systems, όπως:
Η σύνδεση μέσω OpenBridge απαιτεί συμφωνημένο Network ID, IP/Port και Passphrase μεταξύ των διαχειριστών των δύο συστημάτων.
Το HBLink δεν διαθέτει μία ενιαία παγκόσμια λίστα Talk Groups.
Τα Talk Groups καθορίζονται από τον διαχειριστή του εκάστοτε HBLink system και χρησιμοποιούνται μέσα στους routing rules.
Ο διαχειριστής μπορεί να καθορίσει ποια Talk Groups:
Με αυτόν τον τρόπο κάθε HBLink installation μπορεί να έχει διαφορετική αρχιτεκτονική και διαφορετικό σύνολο Talk Groups.
Το HBLink διαθέτει Access Control Lists (ACLs) για τον έλεγχο της DMR κίνησης.
Οι ACLs μπορούν να χρησιμοποιηθούν για:
Οι κανόνες μπορούν να εφαρμοστούν σε επίπεδο συστήματος ή σε παγκόσμιο επίπεδο.
Ο διαχειριστής μπορεί να επιτρέψει ή να απορρίψει συγκεκριμένα Radio IDs, ranges από IDs ή Talk Groups.
Το HBLink υποστηρίζει επίσης routing για Private Calls / Unit Calls.
Το σύστημα μπορεί να δημιουργήσει έναν learned map μεταξύ Subscriber IDs και των συστημάτων στα οποία βρίσκονται.
Με αυτόν τον μηχανισμό η private call μπορεί να προωθηθεί μόνο προς το σύστημα στο οποίο βρίσκεται ο συγκεκριμένος χρήστης, αντί να μεταδίδεται σε όλα τα συνδεδεμένα συστήματα.
Το HBLink3 είναι η έκδοση του HBLink που βασίζεται σε Python 3.
Η σύγχρονη ανάπτυξη του HBLink3 περιλαμβάνει εφαρμογές για:
Το HBLink3 χρησιμοποιεί το Python asyncio για τη δικτύωση και δεν απαιτεί εξωτερικό networking framework.
Η βασική εφαρμογή hblink.py αποτελεί τον πυρήνα του πρωτοκόλλου, ενώ το bridge.py χρησιμοποιείται για τις λειτουργίες conference bridging και routing.
Το HBLink3 περιλαμβάνει επίσης web-based Dashboard για την παρακολούθηση της λειτουργίας του συστήματος.
Το Dashboard μπορεί να εμφανίζει:
Η λειτουργία reporting του HBLink παρέχει τα δεδομένα που χρησιμοποιούνται από το Dashboard.
Το HBLink3 μπορεί να χρησιμοποιεί αρχεία aliases για την εμφάνιση αναγνωρίσιμων ονομάτων αντί μόνο αριθμητικών IDs.
Υποστηρίζονται αρχεία για:
Τα Peer και Subscriber aliases μπορούν να ενημερώνονται αυτόματα από το RadioID.net, όταν ενεργοποιηθεί η αντίστοιχη λειτουργία.
Τα Talk Group aliases διαχειρίζονται από τον ίδιο τον operator του HBLink system.
Το HBLink μπορεί να χρησιμοποιηθεί για τη διασύνδεση συστημάτων που βασίζονται σε MMDVM.
Αυτό περιλαμβάνει ενδεικτικά:
Έτσι ένα hotspot ή repeater μπορεί να συνδεθεί σε HBLink server και, ανάλογα με τους routing rules, να επικοινωνεί με άλλα συστήματα ή Talk Groups.
Μια τυπική αρχιτεκτονική HBLink μπορεί να περιλαμβάνει:
DMR Radio
↓
MMDVM Repeater / Hotspot
↓
HomeBrew Repeater Protocol
↓
HBLink Server
↓
Routing / Conference Bridge
↓
HBP / OpenBridge
↓
Άλλα DMR Systems
Η συγκεκριμένη αρχιτεκτονική εξαρτάται από τον τρόπο με τον οποίο έχει σχεδιαστεί και παραμετροποιηθεί κάθε εγκατάσταση.
Το HBLink μπορεί να χρησιμοποιήσει το OpenBridge Protocol για διασύνδεση με άλλα DMR routing systems.
Η επίσημη τεκμηρίωση του project αναφέρει συγκεκριμένα τη δυνατότητα σύνδεσης μέσω OpenBridge με BrandMeister και DMR+ / IPSC2.
Αυτό επιτρέπει τη δημιουργία επιλεγμένων bridges μεταξύ διαφορετικών DMR δικτύων.
Η πραγματική διασύνδεση και τα Talk Groups που μεταφέρονται καθορίζονται από τους operators των αντίστοιχων συστημάτων.
Το HBLink3 είναι εφαρμογή Python 3 και προορίζεται κυρίως για λειτουργία σε Linux/Unix-like περιβάλλοντα.
Οι βασικές απαιτήσεις περιλαμβάνουν:
Η επίσημη εγκατάσταση βασίζεται στο repository του HBLink3 και στο αρχείο requirements.txt.
Το HBLink δεν είναι από μόνο του DMR network.
Είναι ένα σύνολο εργαλείων λογισμικού που υλοποιούν και αξιοποιούν πρωτόκολλα DMR networking, κυρίως το HomeBrew Repeater Protocol και το OpenBridge Protocol.
Το πώς θα χρησιμοποιηθεί το HBLink, ποια συστήματα θα συνδεθούν και ποια Talk Groups θα διασυνδεθούν εξαρτάται από τον operator και την παραμετροποίηση της συγκεκριμένης εγκατάστασης.
HBLink.org:
https://hblink-org.github.io/
HBLink3 – Current Development:
https://github.com/n0mjs710/hblink3
HBLink3 – Original Repository:
https://github.com/HBLink-org/hblink3
HomeBrew Repeater Protocol:
https://hblink-org.github.io/