Hi Jeff,
Sorry for late reply, lot of things to do this weekend ...
1) Zap reply ( Only span 1 is really connected ) :
# cat /proc/zaptel/1
Span 1: ztqoz/2/1 "quadBRI PCI ISDN Card 1 Span 1 [TE] (cardID 0) Layer 1 ACTIVA TED (F7)"
1 ztqoz2/1/1 Clear (In use)
2 ztqoz2/1/2 Clear (In use)
3 ztqoz2/1/3 HDLCFCS (In use)
# cat /proc/zaptel/2
Span 2: ztqoz/2/2 "quadBRI PCI ISDN Card 1 Span 2 [TE] (cardID 0) Layer 1 DEACTI VATED (F3)"
4 ztqoz2/2/1 Clear (In use)
5 ztqoz2/2/2 Clear (In use)
6 ztqoz2/2/3 HDLCFCS (In use)
# cat /proc/zaptel/3
Span 3: ztqoz/2/3 "quadBRI PCI ISDN Card 1 Span 3 [TE] (cardID 0) Layer 1 DEACTI VATED (F4)"
7 ztqoz2/3/1 Clear (In use)
8 ztqoz2/3/2 Clear (In use)
9 ztqoz2/3/3 HDLCFCS (In use)
# cat /proc/zaptel/4
Span 4: ztqoz/2/4 "quadBRI PCI ISDN Card 1 Span 4 [TE] (cardID 0) Layer 1 DEACTI VATED (F4)"
10 ztqoz2/4/1 Clear (In use)
11 ztqoz2/4/2 Clear (In use)
12 ztqoz2/4/3 HDLCFCS (In use)
2) From what I can see, no difference between Duo-bri/Quad-bri/Octo-bri.
I only have Quad here, but can also activate 1,2,3 or 4 spans.
To define Sync source, timing has to be kept into account:
span=(spannum),(timing),(LBO),(framing),(coding)[,(crc)]
Example ( 2 spans, 1=master sync src, 2=alternate )
span=1,1,3,ccs,ami
bchan=1,2
dchan=3
span=2,2,3,ccs,ami
bchan=4,5
dchan=6
;span=3,0,3,ccs,ami
;bchan=7,8
;dchan=9
;span=4,0,3,ccs,ami
;bchan=10,11
;dchan=12
3) ISDN tester is wandel & goltermann IBT-10
I do not have PCI PRI card here, To obtain A PRI tester would not be
a problem ( Wandel & goltermann IBT-20 or Aurora trend ).
4) By modifying the system as you decribed before, it allows the system to start OK ( Only Zaptel & Qozap loaded ). Hereafter what I get if I do a PCI Probe :
Found following card...
00:14.0 ISDN controller: Cologne Chip Designs GmbH ISDN network Controller [HFC-4S] (rev 01)
Subsystem: Cologne Chip Designs GmbH HFC-4S [IOB4ST]
Flags: medium devsel, IRQ 5
I/O ports at cc00
Memory at e700c000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Requesting Load of qozap ...
Loading zaptel...
Loading qozap...
Zaptel view of card in /proc/zaptel/1
Span 1: ztqoz/2/1 "quadBRI PCI ISDN Card 1 Span 1 [TE] (cardID 0) Layer 1 ACTIVATED (F7)"
1 ztqoz2/1/1 Clear (In use)
2 ztqoz2/1/2 Clear (In use)
3 ztqoz2/1/3 HDLCFCS (In use)
Unknown Card type in slot 1 - ignoring...
Zaptel view of card in /proc/zaptel/2
Span 2: ztqoz/2/2 "quadBRI PCI ISDN Card 1 Span 2 [TE] (cardID 0) Layer 1 DEACTIVATED (F3)"
4 ztqoz2/2/1 Clear
5 ztqoz2/2/2 Clear
6 ztqoz2/2/3 HDLCFCS
Unknown Card type in slot 2 - ignoring...
Zaptel view of card in /proc/zaptel/3
Span 3: ztqoz/2/3 "quadBRI PCI ISDN Card 1 Span 3 [TE] (cardID 0) Layer 1 DEACTIVATED (F3)"
7 ztqoz2/3/1 Clear
8 ztqoz2/3/2 Clear
9 ztqoz2/3/3 HDLCFCS
Unknown Card type in slot 3 - ignoring...
Zaptel view of card in /proc/zaptel/4
Span 4: ztqoz/2/4 "quadBRI PCI ISDN Card 1 Span 4 [TE] (cardID 0) Layer 1 DEACTIVATED (F3)"
10 ztqoz2/4/1 Clear
11 ztqoz2/4/2 Clear
12 ztqoz2/4/3 HDLCFCS
Unknown Card type in slot 4 - ignoring...
5) Thinkings ....
- I don't know how far you want to deal with such ISDN cards, TE mode only looks relatively easy to cover, if you want to allow some spans to be NT mode, it becomes - to my opinion- a little bit more complicated.
TE/NT mode important parametres :
- PP or PMP mode ISDN
- Spans Activate/deactivate
- Group(s)
- (PRI) CRC
NT mode for a span should create 2 extensions automatically.
Example mixed environment (NT/TE) from 'Junghanns' :
S/T 1,2 in NT mode, S/T 3,4,5,6,7,8 in TE
mode
X (binary) = 00000011
X (decimal) = 3
insmod qozap.ko ports=3 ; (kernel 2.6)
By putting
#modprobe qozap ports=12
in startup , I spliited my card into 2 TE and 2 NT spans :
Found following card...
00:14.0 ISDN controller: Cologne Chip Designs GmbH ISDN network Controller [HFC-4S] (rev 01)
Subsystem: Cologne Chip Designs GmbH HFC-4S [IOB4ST]
Flags: medium devsel, IRQ 5
I/O ports at cc00
Memory at e700c000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Requesting Load of qozap ...
Loading zaptel...
Loading qozap...
Zaptel view of card in /proc/zaptel/1
Span 1: ztqoz/2/1 "quadBRI PCI ISDN Card 1 Span 1 [TE] (cardID 0) Layer 1 ACTIVATED (F7)"
1 ztqoz2/1/1 Clear (In use)
2 ztqoz2/1/2 Clear (In use)
3 ztqoz2/1/3 HDLCFCS (In use)
Unknown Card type in slot 1 - ignoring...
Zaptel view of card in /proc/zaptel/2
Span 2: ztqoz/2/2 "quadBRI PCI ISDN Card 1 Span 2 [TE] (cardID 0) Layer 1 DEACTIVATED (F3)" RED
4 ztqoz2/2/1
5 ztqoz2/2/2
6 ztqoz2/2/3
Unknown Card type in slot 2 - ignoring...
Zaptel view of card in /proc/zaptel/3
Span 3: ztqoz/2/3 "quadBRI PCI ISDN Card 1 Span 3 [NT] (cardID 0) Layer 1 DEACTIVATED (G0)"
7 ztqoz2/3/1
8 ztqoz2/3/2
9 ztqoz2/3/3
Unknown Card type in slot 3 - ignoring...
Zaptel view of card in /proc/zaptel/4
Span 4: ztqoz/2/4 "quadBRI PCI ISDN Card 1 Span 4 [NT] (cardID 0) Layer 1 DEACTIVATED (G0)"
10 ztqoz2/4/1
11 ztqoz2/4/2
12 ztqoz2/4/3
Unknown Card type in slot 4 - ignoring...
6) Test trace ( Point to Point ISDN - TE mode ) :
Enabled debugging on span 1
1 < Protocol Discriminator: Q.931 (
len=33
1 < Call Ref: len= 1 (reference 10/0xA) (Originator)
1 < Message type: SETUP (5)
1 < [1 041 031 801 901 a31 ]
1 < Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: Speech (0)
1 < Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
1 < Ext: 1 User information layer 1: A-Law (35)
1 < [1 181 011 891 ]
1 < Channel ID (len= 3) [ Ext: 1 IntID: Implicit, Other Spare: 0, Exclusive Dchan: 0
1 < ChanSel: B1 channel
1 ]
1 < [1 6c1 061 001 801 351 301 301 301 ]
1 < Calling Number (len=
[ Ext: 0 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0)
1 < Presentation: Presentation permitted, user number not screened (0) '5000' ]
1 < [1 701 071 801 311 321 321 311 311 311 ]
1 < Called Number (len= 9) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) '122111' ]
1 < [1 7d1 021 911 811 ]
1 < High-layer compatibilty (len= 4) [ 1 0x91 1 0x81 1 ]
1 -- Making new call for cr 10
1 -- Processing Q.931 Call Setup
1 -- Processing IE 4 (cs0, Bearer Capability)
1 -- Processing IE 24 (cs0, Channel Identification)
1 -- Processing IE 108 (cs0, Calling Party Number)
1 -- Processing IE 112 (cs0, Called Party Number)
1 -- Processing IE 125 (cs0, High-layer Compatibility)
1 > Protocol Discriminator: Q.931 (
len=7
1 > Call Ref: len= 1 (reference 138/0x8A) (Terminator)
1 > Message type: CALL PROCEEDING (2)
1 > [1 181 011 891 ]
1 > Channel ID (len= 3) [ Ext: 1 IntID: Implicit, Other Spare: 0, Exclusive Dchan: 0
1 > ChanSel: B1 channel
1 ]
-- Accepting voice call from '5000' to '122111' on channel 0/1, span 1
-- Executing AGI("Zap/1-1", "selintra|OutTrunk|uxsrv-1uxsrv-2") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/selintra
-- AGI Script Executing Application: (Dial) Options: (IAX2/uxsrv-2uxsrv-1@uxsrv-2uxsrv-1/2111)
-- Called uxsrv-2uxsrv-1@uxsrv-2uxsrv-1/2111
-- Call accepted by 192.168.10.253 (format ulaw)
-- Format for call is ulaw
-- IAX2/uxsrv-2uxsrv-1-16384 is ringing
1 > Protocol Discriminator: Q.931 (
len=4
1 > Call Ref: len= 1 (reference 138/0x8A) (Terminator)
1 > Message type: ALERTING (1)
-- IAX2/uxsrv-2uxsrv-1-16384 stopped sounds
-- IAX2/uxsrv-2uxsrv-1-16384 answered Zap/1-1
1 > Protocol Discriminator: Q.931 (
len=11
1 > Call Ref: len= 1 (reference 138/0x8A) (Terminator)
1 > Message type: CONNECT (7)
1 > [1 181 011 891 ]
1 > Channel ID (len= 3) [ Ext: 1 IntID: Implicit, Other Spare: 0, Exclusive Dchan: 0
1 > ChanSel: B1 channel
1 ]
1 > [1 1e1 021 811 821 ]
1 > Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
1 > Ext: 1 Progress Description: Called equipment is non-ISDN. (2) ]
1 < Protocol Discriminator: Q.931 (
len=7
1 < Call Ref: len= 1 (reference 10/0xA) (Originator)
1 < Message type: CONNECT ACKNOWLEDGE (15)
1 < [1 181 011 891 ]
1 < Channel ID (len= 3) [ Ext: 1 IntID: Implicit, Other Spare: 0, Exclusive Dchan: 0
1 < ChanSel: B1 channel
1 ]
1 -- Processing IE 24 (cs0, Channel Identification)
1 < Protocol Discriminator: Q.931 (
len=8
1 < Call Ref: len= 1 (reference 10/0xA) (Originator)
1 < Message type: DISCONNECT (69)
1 < [1 081 021 821 901 ]
1 < Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Public network serving the local user (2)
1 < Ext: 1 Cause: Unknown (16), class = Normal Event (1) ]
1 -- Processing IE 8 (cs0, Cause)
-- Channel 0/1, span 1 got hangup request
-- Hungup 'IAX2/uxsrv-2uxsrv-1-16384'
== Spawn extension (default, 122111, 1) exited non-zero on 'Zap/1-1'
-- Executing Hangup("Zap/1-1", "") in new stack
== Spawn extension (default, h, 1) exited non-zero on 'Zap/1-1'
1 NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Disconnect Indication, peerstate Disconnect Request
1 > Protocol Discriminator: Q.931 (
len=8
1 > Call Ref: len= 1 (reference 138/0x8A) (Terminator)
1 > Message type: RELEASE (77)
1 > [1 081 021 811 901 ]
1 > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
1 > Ext: 1 Cause: Unknown (16), class = Normal Event (1) ]
-- Hungup 'Zap/1-1'
1 < Protocol Discriminator: Q.931 (
len=8
1 < Call Ref: len= 1 (reference 10/0xA) (Originator)
1 < Message type: RELEASE COMPLETE (90)
1 < [1 081 021 821 901 ]
1 < Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Public network serving the local user (2)
1 < Ext: 1 Cause: Unknown (16), class = Normal Event (1) ]
1 -- Processing IE 8 (cs0, Cause)
1 NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
1 NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
Best,
Hervé