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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-ss7/attachments/20110107/8fb4fdff/attachment.htm>