| == Host Software |
| |
| Host Software is software running on the USB host computer to which the |
| icE1usb is attached. |
| |
| At the time of this writing, there are two options for icE1usb driver interfaces: |
| `osmo-e1d` and `DAHDI`. |
| |
| === `osmo-e1d` |
| |
| `osmo-e1d` is a pure user-space driver, not requiring any specific Linux kernel, |
| kernel patches or out-of-tree kernel modules. It utilizes `libusb` to |
| talk to the icE1usb hardware and offers a unix domain socket based |
| interface to application software. |
| |
| In theory, `osmo-e1d` should work on any operating system with libusb |
| support for isochronous transfers. However, official support is limited |
| to GNU/Linux at this point. |
| |
| Software such as `osmo-bsc` and `osmo-mgw` can interface `osmo-e1d` via |
| the `libosmo-abis` support for `osmo-e1d`. |
| |
| More information about `osmo-e1d` can be found at its homepage |
| https://osmocom.org/projects/osmo-e1d/wiki |
| |
| === DAHDI driver |
| |
| DAHDI (Digium Asterisk Hardware Driver Interface) is an extremely |
| popular driver for a variety of POTS/PSTN and also TDM interface boards |
| by originally Zaptel, later Digium and now most recently Sangoma. |
| |
| DAHDI is available only for Linux, and is provided as source code for a |
| set of out-of-tree kernel modules. You must compile those modules for |
| each specific Linux kernel version you are using. Keep this in mind |
| when performing kernel upgrades and the like. |
| |
| DAHDI is supported by a wide range of open source PBX / softswitch software, |
| including Asterisk, FreeSWITCH and yate. |
| |
| There is a DAHDI driver for the icE1usb available from |
| the `laforge/icE1usb` branch of the https://github.com/osmocom/dahdi-linux |
| git repository. |
| |
| When using that DAHDI Linux kernel driver, there is no need for |
| osmo-e1d. The USB interface is directly managed inside the kernel. |
| |
| === Other software |
| |
| you can interface 3rd party applications with osmo-e1d in the following |
| ways: |
| |
| * by adding support for `osmo-e1d`, e.g. via `libosmo-e1d` to the |
| respective application |
| * by directly implementing the USB interface exposed by icE1usb in your |
| software |
| |
| Should you require any related development/porting services, please do |
| not hesitate to reach out to sysmocom. |
| |