Op 06-01-11 19:19, Gregory Massel schreef:
Hi Robert
Hi Gregory,
I don't see your e-mail on the asterisk-ss7 list. Are you still a member?
I think the write buffer notice you're getting is normal audio loss
due to the jitter buffer and jitter associated with the SIP channel.
That's my idea also.
It seems that remove_from_idlelist() in l4isup.c may be the issue:
static void remove_from_idlelist(struct ss7_chan *pvt) {
struct linkset* linkset = pvt->link->linkset;
struct ss7_chan *prev, *cur;
cur = linkset->group_linkset->idle_list;
prev = NULL;
while(cur != NULL) {
if(pvt->cic == cur->cic) {
if(prev == NULL) {
linkset->group_linkset->idle_list = pvt->next_idle;
} else {
prev->next_idle = pvt->next_idle;
}
pvt->next_idle = NULL;
return;
}
prev = cur;
cur = cur->next_idle;
}
ast_log(LOG_NOTICE, "Trying to remove CIC=%d from idle list, but not
found?!?.\n", pvt->cic);
}
What concerns me is the following line:
if(pvt->cic == cur->cic) {
I get the impression that it should read something like:
if(pvt->cic == cur->cic && linkset->dpc == cur->linkset->dpc) {
In my mind, this should, in theory, ensure that the CIC is matched not
just on the CIC number but also on the DPC.
My thinking is that perhaps the current code is causing the wrong
channel to be removed from the idle list.
Does this sound logical to you?
Yes, maybe there is still an issue in this source.
But the problem is a bit more complicated.
With our connection to the Dutch ISUP (KPN), we have two linksets (Asd2
and Asd3).
The linksets do not share a E1's.
Both linksets have their own signalling link on the first E1.
But it is possible to receive signalling on the Asd2 signal link for a
call on CIC 25 from the Asd3 link.
So only checking the dpc is not enough. When calling the
remove_from_idlelist function, besides the pvt also the corresponding
dpc must be passed along,
just like I did in my patch.
Unfortunately this doesn't explain why I'm experiencing the problem
but you arn't, although I suspect that the crash may only occur once
you try dial out a call using a channel that wasn't correctly removed
from the idle list. Depending on the hunting policy in use, it may be
that you're receiving calls on even CICs and making them on odd CICs
as long as there are free CICs, in which case you may not experience
the problem if you don't use more than 50% of your capacity. Just a
theory...
We have seperate E1's for inbound and outbound traphic.
And we don't have much outbound traphic, maybe even nothing in the last
weeks.
--Greg
With kind regards,
Robert
--
*Exa-Omicron*
Patroonsweg 10
3892 DB Zeewolde
Tel.: 088-OMICRON (66 427 66)
http://www.exa-omicron.nl
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-ss7 mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-ss7