Project

General

Profile

Linux Grand Unified ISDN Theory » History » Version 1

laforge, 09/18/2022 03:49 PM

1 1 laforge
h1. Linux Grand Unified ISDN Theory
2
3
This is some random ideas about how to achieve some kind of _grand unified_ scheme of ISDN drivers on Linux, where one can write an application that works wity virtually all available ISDN adapters out there
4
5
h2. existing method of using CAPI application against mISDN supported hardware
6
7
{{graphviz_link()
8
digraph G {
9
  application [label="application linked\nagainst libcapi20"];
10
  capid [label="capid using mISDN plugin"];
11
  mISDNuser [label="mISDNuser\nCAPI intf + Q.931"];
12
  mISDN [label="mISDN in kernel\nQ.921 + drivers"];
13
  
14
  subgraph cluster_hw {
15
    label = "Kernel";
16
    hfcs [label="HFC-S (PCI)"];
17
    hfce1 [label="HFC-E1 (PCI)"];
18
    hfcusb [label="HFC-S (USB)"];
19
20
    mISDN -> hfcs;
21
    mISDN -> hfce1;
22
    mISDN -> hfcusb;
23
  }
24
25
  application -> capid;
26
  capid -> mISDNuser;
27
  mISDNuser -> mISDN [label="PF_ISDN socket"]
28
  
29
}
30
}}
31
32
h2. proposed method of using CAPI application against hardware with DAHDI drivers
33
34
{{graphviz_link()
35
digraph G {
36
  application [label="application linked\nagainst libcapi20"];
37
  capid [label="capid using mISDN plugin"];
38
  mISDNuser [label="mISDNuser\nCAPI intf + Q.931"];
39
  mISDNdahdi [label="mISDNdahdi\nQ.921 + DAHDI interface",color=red,style=dashed];
40
  dahdi [label="DAHDI in kernel"];
41
  
42
  subgraph cluster_hw {
43
    label = "Kernel";
44
    digium [label="Digium 1/2/4/8port E1/T1 (PCI or PCIe)"];
45
    icE1usb [label="icE1usb (USB)"];
46
    trunkdev [label="trunkdev (TDMoIP)"];
47
48
    dahdi -> digium;
49
    dahdi -> icE1usb;
50
    dahdi -> trunkdev;
51
  }
52
53
  application -> capid;
54
  capid -> mISDNuser;
55
  mISDNuser -> mISDNdahdi;
56
  mISDNdahdi -> dahdi [label="/dev/dahdi/..."];
57
  
58
}
59
}}
Add picture from clipboard (Maximum size: 48.8 MB)