[asterisk-ss7] libss7 bugs
Anton
anton.vazir at gmail.com
Sun Nov 9 08:33:04 CST 2008
Hi Matthew,
One of the ss7 bugs I've discovered on quick tests, and it's critical to normal functionality:
short description: ss7 does not release channels on the other side channel reset/failure.
It means, when there are some amount of calls going through the system, and remote switch just going down abnormally
(and than may restore), libss7 asterisk would not release the channels, which was in use.
used: asterisk 1.6.0.1
libss7 1.0.2
dahdi-linux 2.0.0
dahdi-tools 2.0.0
To reproduce the error:
1st box asterisk libss7
2nd box asterisk chan_ss7 (1.4.21.1)
(though I think 2nd box version or switchtype does not matter at all, considering the symptoms)
Making 5 looped calls, which after 5 calls end up with Echo() app. to test our voice.
Than just stopping box2 (chan_ss7) side by "stop now" - and we'll see that on box1
core show channels will have all calls in progress not released. This call wll remain unreleased even when calling party
hangup, so making channels stuck forever.
This is despite, that libss7 acknowledged the other side by sending reset ask:
[Nov 9 22:11:02] DEBUG[10593]: chan_dahdi.c:9494 ss7_linkset: Got Reset for CICs 1 to 15: Acknowledging
[Nov 9 22:11:02] DEBUG[10593]: chan_dahdi.c:9494 ss7_linkset: Got Reset for CICs 17 to 31: Acknowledging
*CLI> dahdi show channels group 1
Chan Extension Context Language MOH Interpret Blocked State
1 incoming default In Service
2 incoming default In Service
3 incoming default In Service
4 3772059 incoming default In Service
5 incoming default In Service
6 incoming default In Service
7 incoming default In Service
8 incoming default In Service
9 incoming default In Service
10 3772059 incoming default In Service
11 incoming default In Service
12 incoming default In Service
13 incoming default In Service
14 incoming default In Service
15 incoming default In Service
17 incoming default R In Service
18 incoming default In Service
19 incoming default In Service
20 incoming default In Service
21 incoming default In Service
22 incoming default In Service
23 3772059 incoming default In Service
24 incoming default In Service
25 incoming default In Service
26 incoming default In Service
27 3772059 incoming default In Service
28 incoming default In Service
29 3772059 incoming default In Service
30 incoming default In Service
31 incoming default In Service
*CLI>
while other side is:
*CLI> core show channels
Channel Location State Application(Data)
0 active channels
0 active calls
*CLI> ss7 linestat
Linkset: east1
CIC 1 Idle
CIC 2 Idle
CIC 3 Idle
CIC 4 Idle
CIC 5 Idle
CIC 6 Idle
CIC 7 Idle
CIC 8 Idle
CIC 9 Idle
CIC 10 Idle
CIC 11 Idle
CIC 12 Idle
CIC 13 Idle
CIC 14 Idle
CIC 15 Idle
CIC 17 Idle
CIC 18 Idle
CIC 19 Idle
CIC 20 Idle
CIC 21 Idle
CIC 22 Idle
CIC 23 Idle
CIC 24 Idle
CIC 25 Idle
CIC 26 Idle
CIC 27 Idle
CIC 28 Idle
CIC 29 Idle
CIC 30 Idle
CIC 31 Idle
*CLI>
and we've asknowledged the reset:
[Nov 9 22:11:02] DEBUG[10593]: chan_dahdi.c:9494 ss7_linkset: Got Reset for CICs 1 to 15: Acknowledging
[Nov 9 22:11:02] DEBUG[10593]: chan_dahdi.c:9494 ss7_linkset: Got Reset for CICs 17 to 31:
There is probably missing channel release on ss7 channel reset and asterisk itself.
More information about the asterisk-ss7
mailing list