Actions
Early Design Thoughts » History » Revision 1
Revision 1/2
| Next »
laforge, 05/12/2018 08:21 AM
osmo-e1d¶
The envisioned osmo-e1d is a daemon that handles Osmocom E1 interfaces. Its main tasks are:
- communicate with each E1 line hardware interface via USB USB_Protocol (or UDP/IP)
- provide a per-timeslot interface towards the users (such as OsmoBSC and OsmoMGW
- likely unix domain socket based, so libosmo-abis and friends can keep their "one FD per
- provide some kind of interface by which the user application can
- perform line/interface based operations
- enumerate the list of available interfaces/lines
- obtain status information (LOS, Alarm, CRC4 errors, etc) on each line
- timeslot based
- claim/release individual timeslots
- enable/disable Rx/Tx of individual timeslots (could be implicit in claim?)
- switch individual timeslots between raw and HDLC/CRC mode
- obtain timeslot status information such as CRC16 errors, frame errors, ...
- perform line/interface based operations
- implement any internal handling required, such as
- perform tasks not implemented by the adapter hardware/firmware (CRC4 tx / rx, multiframe alignment, LOS / ALRM / state machines)
- implement HDLC on each requested timeslot
User point of view¶
A user application would be interested in performing the following operations:
- obtain a list of lines/interfaces
- obtain a list of timeslots at a given line/interface, including availability status
- select/open a given timeslot on a given line
- enable/disable a given timeslot
- switch mode (raw/hdlc) of a given timeslot
- obtain line status information like local/remote CRC4 / LOS / ALARM
- receive data from a given TS
- transmit data on a given TS
Updated by laforge almost 6 years ago · 1 revisions