[asterisk-dev] Monitor and SIP transfers (SIP REFER)

Gunnar Schaller linux at nowin.de
Fri Feb 13 08:34:15 CST 2009


Hello list,
I'm using Asterisk 1.2.29. Yes I know there are only security
bugfixes. But I think Asterisk 1.4 and 1.6 are also affected. So I ask
here for somebody testing it on the newer Asterisk versions.
What happens in Asterisk:
Zap call comes in, Monitor() application is startet on this channel
SIP/one answers the call
SIP/one transfers the call with SIP REFER to SIP/two
SIP/two is bridged to Zap
After the call is ended there are no files in
/var/spool/asterisk/monitor
There are files until the call is ended. And there are files of calls
without transfers (SIP REFER). So I had a look to res_monitor.c. In
function ast_monitor_stop there is a check for changed filename:
if (chan->monitor->filename_changed ....)
filename_changed is set to 1 in the case of a tranfered call (SIP
REFER). I don't know why ... So if anyone can explain...
In the following lines there is a
ast_filedelete(filename, NULL);
But nobody does a check like
if(chan->monitor->read_filename == filename)
In my case this is true! So my recoding is deletet with that
ast_deletefile line.
Any comments are welcome. Would be fine to fix it (at least in
Asterisk 1.4 and 1.6 if affected).

Thank you,
Gunnar Schaller




More information about the asterisk-dev mailing list