Hi,
I've just switched back from my experiments replacing my good old PBX
with something asterisk and HFC based... it's nothing near
"girlfriend-ready" :(
I know this list is just for visdn, but I hope some robot finds this
posting and save others the wasted hours:
I've a simple setup:
- old Athlon 2.2 GHz box with one Fritz-PCI and one HFC-PCI (one port)
- Asterisk from Debian Testing
- two Grandstreams
- 2 ISDN DECT-phones (have their own power supplies)
- one ISDN desktop phone (requires bus-power)
my results so far:
chan_capi: works stable with the CAPI-modules from AVM, but no NT-mode
of course; using the CAPI-modules from misdn didn't work for NT-mode
chan_misdn (mqueue-branch): stability nightmare (machine hangs after 2 calls)
chan_zap: works acceptable but not stable (just try to forward a call via
the menu on a ISDN-phone => machine hangs)
versions tested:
debian-stable version => almost unusable
latest versions with floorz-patch => dies once a week
and at the end I tried visdn:
Module visdn-hfc-pci dies with
kernel BUG at modules/core/chan.c:227 because of trivial error
BUG_ON(chan->leg_b.cxc && !chan->leg_a.cxc);
but modules/hfc-pci/st_chan.c defines:
chan->visdn_chan.leg_a.cxc = NULL;
chan->visdn_chan.leg_b.cxc = &vsc_softcxc.cxc;
But the included patch didn't fix chan_visdn: Calling out from
asterisk resulted in some busy condition and calling from the
bus into asterisk caused my machine to hang...
I'm used to find multiple solutions for similar problems in the
OSS-environment, but IMHO all are far away from anything that can be
used in a stable environment.
>From what I've seen in the vISDN-docs this solution look most
promising. So I wish you luck and I'll try again in 6 month. :)
Greetings from Switzerland
Leif
--- orig/modules/hfc-pci/st_chan.c
+++ mod/modules/hfc-pci/st_chan.c
@@ -1002,18 +1002,18 @@
chan->visdn_chan.chan_class = NULL;
chan->visdn_chan.port = &port->visdn_port;
- chan->visdn_chan.leg_a.cxc = NULL;
- chan->visdn_chan.leg_a.ops = NULL;
- chan->visdn_chan.leg_a.framing = VISDN_LEG_FRAMING_NONE;
- chan->visdn_chan.leg_a.framing_avail = VISDN_LEG_FRAMING_NONE;
- chan->visdn_chan.leg_a.mtu = -1;
-
- chan->visdn_chan.leg_b.cxc = &vsc_softcxc.cxc;
- chan->visdn_chan.leg_b.ops = &hfc_leg_ops;
+ chan->visdn_chan.leg_b.cxc = NULL;
+ chan->visdn_chan.leg_b.ops = NULL;
chan->visdn_chan.leg_b.framing = VISDN_LEG_FRAMING_NONE;
- chan->visdn_chan.leg_b.framing_avail = VISDN_LEG_FRAMING_NONE |
+ chan->visdn_chan.leg_b.framing_avail = VISDN_LEG_FRAMING_NONE;
+ chan->visdn_chan.leg_b.mtu = -1;
+
+ chan->visdn_chan.leg_a.cxc = &vsc_softcxc.cxc;
+ chan->visdn_chan.leg_a.ops = &hfc_leg_ops;
+ chan->visdn_chan.leg_a.framing = VISDN_LEG_FRAMING_NONE;
+ chan->visdn_chan.leg_a.framing_avail = VISDN_LEG_FRAMING_NONE |
VISDN_LEG_FRAMING_HDLC;
- chan->visdn_chan.leg_b.mtu = 0;
+ chan->visdn_chan.leg_a.mtu = 0;
strncpy(chan->visdn_chan.name, name, sizeof(chan->visdn_chan.name));
chan->visdn_chan.driver_data = chan;
_______________________________________________
Visdn-hackers mailing list
[email protected]
https://mailman.uli.it/mailman/listinfo/visdn-hackers