[asterisk-bugs] [JIRA] (ASTERISK-20719) Monitor changes file names on transfer
Rusty Newton (JIRA)
noreply at issues.asterisk.org
Thu Jan 10 15:24:45 CST 2013
[ https://issues.asterisk.org/jira/browse/ASTERISK-20719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=201333#comment-201333 ]
Rusty Newton commented on ASTERISK-20719:
-----------------------------------------
Reproduced this in SVN-branch-1.8-r373578
* A calls B (while starting a Monitor )
* B blind transfer A to C (while starting a Monitor )
* A and C hang up, then the original file set with Monitor started by the call from A is changed to the filename set in the monitor started by B.
I used the 'b' and 'm' options set for Monitor. The second Monitor shouldn't begin recording since that call isn't bridged. Why does the filename set in the second Monitor get used when the first Monitor hangs up? I don't know - I'll acknowledge this and get it in our queue as well.
Also, as Grzesiek mentioned, if you replace the blind transfer with an attended transfer, then the original file's name does not change, and instead you have a final set of two files with their respective unique names.
> Monitor changes file names on transfer
> --------------------------------------
>
> Key: ASTERISK-20719
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-20719
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Resources/res_monitor
> Affects Versions: 1.8.16.0
> Environment: Debian 686
> Reporter: Grzesiek
> Assignee: Rusty Newton
> Attachments: extensions.conf, sip.conf, xfer.txt
>
>
> Monitor when executed with b option on channel transfered call changes the filenames if transfered channel was monitored at the moment of bridging.
> Here is how it looks:
> A calls ----> B(let's assume ${UNIQUEUEID}=1)
> exten => _XXXX,1,NoOp
> seme => n,Set(MONITOR_FILENAME=call-${UNIQUEID})
> same => n,monitor(alaw,/var/spool/asterisk/monitor/${MONITOR_FILENAME},bm)
> When B answers the call, files call-1-in* and call1-out* are created. During The call, B tries to make attended transfer A is put on hold and B calls C using the same dialplan logic:
> B calls ----> C(let's assume ${UNIQUEUEID}=2)
> At the time off invoking monitor application none off the call-2 channels are monitored so the monitor application starts without errors, if B waits till C answers, everything is OK monitor starts recording and files call-2-in* and call-2-out* are created, When B transfers the call call-2 monitor is stopped. And call-2 files contain only the call between B and C.
> But there is problem when B does not wait until C answers the call, if transfer is done before C answers the call, the call-2* are not created and the call is still recorded to the call-1* files, but when the transferred call between A and C ends, the call-1* files get renamed to call-2* and the MONITOR_EXEC application is called with call-2* file names as parameters.
> This makes it impossible to locate the call record since the file names get changed, and there is no other way than figuring put file names from messages log.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list