[asterisk-dev] RTP streams suddenly stop
Tony Mountifield
tony at softins.clara.co.uk
Thu Feb 4 15:44:26 CST 2010
In article <9AE9624A4ABB634DB088271B5C82D04502D1CE5E2D at scl-exch2k7.phoenix.com>,
Dan Austin <Dan_Austin at Phoenix.com> wrote:
> Tony wrote:
>
> > There is nothing in /var/log/asterisk/full at the times in question; it
> > has no entries between 10:31:18 and 10:31:44. I can't see anything
> > relevant in the rest of the system either.
>
> > So, why would all RTP streams stop at once?
>
> > The underlying OS is CentOS 4.7.
>
> > Zaptel is 1.2.27 with ztdummy compiled with USE_RTC.
>
> > The version of Asterisk is 1.2.32 with some custom modifications. The
> > most relevant modification might be that I have added the internal
> > timing feature from https://issues.asterisk.org/view.php?id=5374
> > However, I have included this in all systems for the last four years
> > without any trouble till now.
>
> > Some advice on this would be REALLY welcome, as I must fix it urgently.
>
> Does this box have NTP running, and is it perhaps drifting out of sync then
> being corrected by a large (relative) value? I recall seeing a note either
> on the issue track on SVN logs about a recent fix to make internal_timing
> less sensitive to time changes.
It does have NTP, but keeps the time in sync without doing stepwise changes.
Actually, I think the problem might have been something I did to channel.c
a long time ago. Back in January 2008 I posted a quite detailed technical
question about CHECK_BLOCKING, and then a follow-up to it:
http://lists.digium.com/pipermail/asterisk-dev/2008-January/031529.html
http://lists.digium.com/pipermail/asterisk-dev/2008-January/031537.html
Unfortunately, I never had ANY response to either of those messages
(I don't often post, but when I do it's usually something deep and tricky
and I seldom get a response, which is disappointing).
Based on my understanding at the time, I had commented out some of the
calls in ast_write() to CHECK_BLOCKING() and the matching clear of the
flag AST_FLAG_BLOCKING. Since another box which is much busier than the
affected one did not have these changes, and does not exhibit the problem,
I think it's quite possible these changes were wrong (if so, there must
be a more correct way to correct my original 2008 problem). My guess is
that chan->blocker was not set at some point when it was needed, and so
a thread that needed waking with SIGURG was not being woken.
I have restored the commented-out calls and will now have to wait to see
whether the RTP problem recurs or not.
I see the code in question is still the same in SVN trunk.
I would be very interested if anyone was able to comment on this, and
especially in any comments, however belated, on my original two messages
referred to above.
Thanks,
Tony
--
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org
More information about the asterisk-dev
mailing list