Link is implementation of particular protocol stack for DMR data handling.

BrandMeister has following types of links:

  • Repeater - means other end is radio access equipment such as repeater or hotspot
  • Network - means other end is aggregation hardware / software that may have multiple radio access equipment behind. it can be c-Bridge, SmartPTT, IPSC2
  • Application - different software to send, handle, bridge traffic

These several differences between these types. One is in a way how BrandMeister updates location registry. In case of Application location registry will not be updated, so you should not care about break of call delivery to particular private ID. Outside BrandMeister Core each type may have its specific business logic inside Route Registries, for example Repeater has handoff timers and on-demand subscriptions.

Route Registry

Registries are information suppliers, they decide how to deliver particular call. There several registries such as:

  • Embedded LUA scripts
  • Tarantool DBMS and it's stored procedures based on LUA
  • Internal fast storage EasyRegistry which is in use by any embedded applications such as embedded gateways and Simple External Application
  • several internal components to handle reflectors, data calls and special data

Link Context

This is connection context or application context, entry point to handle data. It references to link while link is stateless object. Context has many important things such generic attributes of connection (IP, ID), link specific attributes, locking state (if applicable) and so on.

Call Session

This is representation of DMR call. Each session has been created on call start and destroyed on call end. It doesn't matter what kind of: voice, group, data, CSBK. Each session has a list of destination call routes.

Call Route

This object represents route information: which context and slot should be used to deliver a call. Very important thing is to understand meaning of it's status:

  • Locked - means resource is locked by this call session
  • Rejected - means attempt to lock was rejected, but could be used for later call entry when resource will be unlocked
  • Dropped - means route was dropped during transmission by some reason and should not be used anymore by this call session