I've picked up a bug in libss7. The remote end is sending me two CGB messages, the first to block CICs 1-15 and the second to block CICs 17-31. My end is responding correctly with CGBA messages, however, only CICs 1-15 show a remote block, despite it acknowledging the block for CICs 17-31. Herewith the debug: [1] Len = 17 [ 86 85 0e c5 08 03 62 11 01 00 18 01 01 03 0e ff 7f ] [1] FSN: 5 FIB 1 [1] BSN: 6 BIB 1 [1] <[1] MSU [1] [ 86 85 0e ] [1] Network Indicator: 3 Priority: 0 User Part: ISUP (5) [1] [ c5 ] [1] OPC 1416 DPC 776 SLS 1 [1] [ 08 03 62 11 ] [1] CIC: 1 [1] [ 01 00 ] [1] Message Type: CGB [1] [ 18 ] [1] --FIXED LENGTH PARMS[1]-- [1] Circuit Group Supervision Indicator: [1] Type indicator: Hardware Failure oriented [1] [ 01 ] [1] --VARIABLE LENGTH PARMS[1]-- [1] Range and status: [1] Range: 14 [1] [ 03 0e ff 7f ] [1] Linkset 1: Processing event: Unknown Event [1] Len = 17 [ 85 87 0e c5 88 05 c2 40 01 00 1a 01 01 03 0e ff 7f ] [1] FSN: 7 FIB 1 [1] BSN: 5 BIB 1 [1] >[1] MSU [1] [ 85 87 0e ] [1] Network Indicator: 3 Priority: 0 User Part: ISUP (5) [1] [ c5 ] [1] OPC 776 DPC 1416 SLS 4 [1] [ 88 05 c2 40 ] [1] CIC: 1 [1] [ 01 00 ] [1] Message Type: CGBA [1] [ 1a ] [1] --FIXED LENGTH PARMS[1]-- [1] Circuit Group Supervision Indicator: [1] Type indicator: Hardware Failure oriented [1] [ 01 ] [1] --VARIABLE LENGTH PARMS[1]-- [1] Range and status: [1] Range: 14 [1] [ 03 0e ff 7f ] [1] [1] Len = 17 [ 87 86 0e c5 08 03 62 11 11 00 18 01 01 03 0e ff 7f ] [1] FSN: 6 FIB 1 [1] BSN: 7 BIB 1 [1] <[1] MSU [1] [ 87 86 0e ] [1] Network Indicator: 3 Priority: 0 User Part: ISUP (5) [1] [ c5 ] [1] OPC 1416 DPC 776 SLS 1 [1] [ 08 03 62 11 ] [1] CIC: 17 [1] [ 11 00 ] [1] Message Type: CGB [1] [ 18 ] [1] --FIXED LENGTH PARMS[1]-- [1] Circuit Group Supervision Indicator: [1] Type indicator: Hardware Failure oriented [1] [ 01 ] [1] --VARIABLE LENGTH PARMS[1]-- [1] Range and status: [1] Range: 14 [1] [ 03 0e ff 7f ] [1] Linkset 1: Processing event: Unknown Event [1] Len = 17 [ 86 88 0e c5 88 05 c2 40 11 00 1a 01 01 03 0e ff 7f ] [1] FSN: 8 FIB 1 [1] BSN: 6 BIB 1 [1] >[1] MSU [1] [ 86 88 0e ] [1] Network Indicator: 3 Priority: 0 User Part: ISUP (5) [1] [ c5 ] [1] OPC 776 DPC 1416 SLS 4 [1] [ 88 05 c2 40 ] [1] CIC: 17 [1] [ 11 00 ] [1] Message Type: CGBA [1] [ 1a ] [1] --FIXED LENGTH PARMS[1]-- [1] Circuit Group Supervision Indicator: [1] Type indicator: Hardware Failure oriented [1] [ 01 ] [1] --VARIABLE LENGTH PARMS[1]-- [1] Range and status: [1] Range: 14 [1] [ 03 0e ff 7f ] [1] Now, this part doesn't make sense. The block only shows on CICs 1 to 15: rba2*CLI> ss7 show channels link Chan Lcl Rem Call SS7 Channel set Chan Idle Blk Blk Level Call Name 1 1 No No Yes Idle No 1 2 No No Yes Idle No 1 3 No No Yes Idle No 1 4 No No Yes Idle No 1 5 No No Yes Idle No 1 6 No No Yes Idle No 1 7 No No Yes Idle No 1 8 No No Yes Idle No 1 9 No No Yes Idle No 1 10 No No Yes Idle No 1 11 No No Yes Idle No 1 12 No No Yes Idle No 1 13 No No Yes Idle No 1 14 No No Yes Idle No 1 15 No No Yes Idle No 1 17 Yes No No Idle No 1 18 Yes No No Idle No 1 19 Yes No No Idle No 1 20 Yes No No Idle No 1 21 Yes No No Idle No 1 22 Yes No No Idle No 1 23 Yes No No Idle No 1 24 Yes No No Idle No 1 25 Yes No No Idle No 1 26 Yes No No Idle No 1 27 Yes No No Idle No 1 28 Yes No No Idle No 1 29 Yes No No Idle No 1 30 Yes No No Idle No 1 31 Yes No No Idle No (unrelated additional channels not shown but none of them have inadvertently blocked) rba2*CLI> dahdi show channels group 1 Chan Extension Context Language MOH Interpret Blocked State Description 1 incoming-vodaco default R In Service 2 incoming-vodaco default R In Service 3 incoming-vodaco default R In Service 4 incoming-vodaco default R In Service 5 incoming-vodaco default R In Service 6 incoming-vodaco default R In Service 7 incoming-vodaco default R In Service 8 incoming-vodaco default R In Service 9 incoming-vodaco default R In Service 10 incoming-vodaco default R In Service 11 incoming-vodaco default R In Service 12 incoming-vodaco default R In Service 13 incoming-vodaco default R In Service 14 incoming-vodaco default R In Service 15 incoming-vodaco default R In Service 17 incoming-vodaco default In Service 18 incoming-vodaco default In Service 19 incoming-vodaco default In Service 20 incoming-vodaco default In Service 21 incoming-vodaco default In Service 22 incoming-vodaco default In Service 23 incoming-vodaco default In Service 24 incoming-vodaco default In Service 25 incoming-vodaco default In Service 26 incoming-vodaco default In Service 27 incoming-vodaco default In Service 28 incoming-vodaco default In Service 29 incoming-vodaco default In Service 30 incoming-vodaco default In Service 31 incoming-vodaco default In Service (unrelated additional channels not shown but none of them have inadvertently blocked) I'm not sure if this has anything to do with the fact that both CGB messages come in close succession, but, at an SS7 level, the response it correct. Perhaps there is a problem with the way libss7 is feeding this back to chan_dahdi? The really annoying part of this is that I cannot locally block the CICs because the command "ss7 block cic 1 17" because that command doesn't let one specify which link within the linkset to apply to. I have redundant links within the linkset but that command blocks both CIC 17 on link 1 of linkset 1 as well as CIC 17 on link 2 of linkset 1. We really need the syntax to be something link "ss7 block cic <linkset> <dpc>/<cic>" so that it can deal with identical CIC numbers to different defaultdpc's within the same redundant linkset. All of this also highlights another major shortcoming of libss7/chan_dahdi; they do not automatically issue CGB messages to the other side and block CICs when the E1 goes into an alarm state. Now we're relying on the remote end to detect the alarm and block the CICs but that doesn't work properly because of a bug in the CGB processing... --Greg