[asterisk-ss7] chan_ss7 block CIC's

Anton anton.vazir at gmail.com
Mon Feb 26 20:22:13 MST 2007


In the scheme A <--> B, description given below describes 
that is CIC is blocked by side A, that side B cannot 
initiate calls to A, but A can initiate to B unless B also 
sent a blocking request.
(http://www.asknumbers.com/SS7ISUPMessages.aspx)

Quoting ---
Blocking (BLO) message sent only for maintenance purposes to 
the exchange at the other end of a circuit, to cause an 
engaged condition of that circuit for subsequent calls 
outgoing from that exchange. When a circuit is used in the 
bothway mode of operation, an exchange receiving the 
blocking message must be capable of accepting incoming 
calls on the concerned circuit unless it has also sent a 
blocking message. Under certain conditions, a blocking 
message is also a proper response to a reset circuit 
message.

On 26 February 2007 20:19, Udo Dluzinski wrote:
> Hi Kristian,
>
> Kristian Nielsen schrieb:
> > asterisk at nicox.org writes:
> >> I have blocked some CIC's with ss7 block 6 15
> >> and if i check the status with ss7 linestat  i see
> >> that the CIC's are blocked, BUT Asterisk initiates new
> >> calls to this CIC's
> >>
> >> Did anybody else see this before?
> >
> > In SS7/ISUP, the blocking of a CIC is a one-way thing.
>
> That is wrong. Local blocking is for maintain cic´s or
> something and all blocking messages require an ACK
> message from exchange. After CGB the exchange shoudnt
> signalling any inbound to the blocked cic´s. Read about
> here:
> http://www.asknumbers.com/SS7ISUPMessages.aspx
>
> We have chan_ss7  with 4 spans and recovered an other
> blocking bug. We block one cic on span 1 e.g cic 19 with
> the command: ss7 block 19 1
> we got on the cli:
> ss7 block 19 1
> Sending Blocking message to peer
> Sending Blocking message to peer
> Sending Blocking message to peer
> Sending Blocking message to peer
> [Feb 26 16:15:21] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> BLOCKING, cic=19, mask=0x00000001.
> [Feb 26 16:15:21] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> BLOCKING, cic=51, mask=0x00000001.
> [Feb 26 16:15:21] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> BLOCKING, cic=83, mask=0x00000001.
> [Feb 26 16:15:21] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> BLOCKING, cic=115, mask=0x00000001.
> [Feb 26 16:15:21] NOTICE[29691]: l4isup.c:3134
> process_cga: Process CGA, cic=19, range=32
> [Feb 26 16:15:21] NOTICE[29691]: l4isup.c:3134
> process_cga: Process CGA, cic=51, range=32
> [Feb 26 16:15:21] NOTICE[29691]: l4isup.c:3134
> process_cga: Process CGA, cic=83, range=32
> [Feb 26 16:15:21] NOTICE[29691]: l4isup.c:3134
> process_cga: Process CGA, cic=115, range=32
>
> we got an ACK for cic 19 on all 4 spans :-)
>
> Thats not okay because all channels have ascending cic
> numbers: voip-dus-06*CLI> ss7 show channels
> Linkset: vstCLI>
> CIC   1 Busy
> CIC   2 Idle
> CIC   3 Idle
> CIC   4 Busy
> CIC   5 Idle
> CIC   6 Busy
> CIC   7 Idle
> CIC   8 Busy
> CIC   9 Idle
> CIC  10 Busy
> CIC  11 Idle
> CIC  12 Busy
> CIC  13 Idle
> CIC  14 Busy
> CIC  15 Busy
> CIC  17 Busy
> CIC  18 Busy
> CIC  19 Idle             BLOCKED Local Maintenance
> CIC  20 Busy
> CIC  21 Busy
> CIC  22 Busy
> CIC  23 Busy
> CIC  24 Busy
> CIC  25 Busy
> CIC  26 Busy
> CIC  27 Busy
> CIC  28 Idle
> CIC  29 Idle
> CIC  30 Initiating call
> CIC  31 Idle
> CIC  33 Busy
> CIC  34 Busy
> CIC  35 Idle
> CIC  36 Idle
> CIC  37 Idle
> CIC  38 Busy
> CIC  39 Busy
> CIC  40 Initiating call
> CIC  41 Idle
> CIC  42 Busy
> CIC  43 Busy
> CIC  44 Idle
> CIC  45 Idle
> CIC  46 Busy
> CIC  47 Idle
> CIC  48 Busy
> CIC  49 Idle
> CIC  50 Busy
> CIC  51 Busy             BLOCKED Local Maintenance
> CIC  52 Busy
> CIC  53 Idle
> CIC  54 Busy
> CIC  55 Idle
> CIC  56 Busy
> CIC  57 Idle
> CIC  58 Busy
> CIC  59 Busy
> CIC  60 Idle
> CIC  61 Busy
> CIC  62 Idle
> CIC  63 Idle
> CIC  65 Idle
> CIC  66 Busy
> CIC  67 Idle
> CIC  68 Initiating call
> CIC  69 Idle
> CIC  70 Busy
> CIC  71 Idle
> CIC  72 Busy
> CIC  73 Idle
> CIC  74 Busy
> CIC  75 Busy
> CIC  76 Busy
> CIC  77 Idle
> CIC  78 Initiating call
> CIC  79 Busy
> CIC  80 Busy
> CIC  81 Busy
> CIC  82 Busy
> CIC  83 Busy             BLOCKED Local Maintenance
> CIC  84 Idle
> CIC  85 Idle
> CIC  86 Initiating call
> CIC  87 Idle
> CIC  88 Busy
> CIC  89 Idle
> CIC  90 Busy
> CIC  91 Busy
> CIC  92 Busy
> CIC  93 Idle
> CIC  94 Busy
> CIC  95 Idle
> CIC  97 Idle
> CIC  98 Initiating call
> CIC  99 Idle
> CIC 100 Busy
> CIC 101 Busy
> CIC 102 Busy
> CIC 103 Idle
> CIC 104 Busy
> CIC 105 Idle
> CIC 106 Busy
> CIC 107 Idle
> CIC 108 Busy
> CIC 109 Busy
> CIC 110 Busy
> CIC 111 Idle
> CIC 112 Idle
> CIC 113 Idle
> CIC 114 Idle
> CIC 115 Idle             BLOCKED Local Maintenance
> CIC 116 Busy
> CIC 117 Idle
> CIC 118 Busy
> CIC 119 Busy
> CIC 120 Idle
> CIC 121 Busy
> CIC 122 Idle
> CIC 123 Idle
> CIC 124 Busy
> CIC 125 Idle
> CIC 126 Busy
> CIC 127 Idle
>
> We think that is a bug definitely.
>
> The good thing is that an unblock do the same :-)
> ss7 unblock 19 1
> Sending Unblocking message to peer
> Sending Unblocking message to peer
> Sending Unblocking message to peer
> Sending Unblocking message to peer
> [Feb 26 16:17:42] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> UNBLOCKING, cic=19, mask=0x00000001.
> [Feb 26 16:17:42] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> UNBLOCKING, cic=51, mask=0x00000001.
> [Feb 26 16:17:42] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> UNBLOCKING, cic=83, mask=0x00000001.
> [Feb 26 16:17:42] NOTICE[20656]: l4isup.c:3619
> do_group_circuit_block_unblock: Sending CIRCUIT GROUP
> UNBLOCKING, cic=115, mask=0x00000001.
> [Feb 26 16:17:42] NOTICE[29691]: l4isup.c:3189
> process_cua: Process CUA, cic=19, range=32
> [Feb 26 16:17:42] NOTICE[29691]: l4isup.c:3189
> process_cua: Process CUA, cic=51, range=32
> [Feb 26 16:17:42] NOTICE[29691]: l4isup.c:3189
> process_cua: Process CUA, cic=83, range=32
> [Feb 26 16:17:42] NOTICE[29691]: l4isup.c:3189
> process_cua: Process CUA, cic=115, range=32
>
> Greets
>
> Udo
>
> > So if exchange A does a local blocking of CIC 6, that
> > means that a remote exchange B at the other end of CIC
> > 6 will no longer initiate incoming calls on CIC 6. But
> > it does not prevent in any way exchange A from
> > initiating a call on CIC 6 towards exchange B.
> >
> > I do not know/remember the details of blocking in
> > chan_ss7, but I suspect that the above is the reason
> > that local calls still take place on locally blocked
> > circuits. If so, it should be fairly simple to add
> > something to the code that marks blocked curcuits busy
> > in some way, so that the channel allocation will skip
> > them.
> >
> > Hope this helps,
> >
> >  - Kristian.


More information about the asterisk-ss7 mailing list