Concat "in" and "out" channels

I have a problem, that an asterisk server records the calls, but the output is a call-in.wav and a call-out.wav
The shell says:
19312-out.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
19339-in.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
The files cannot be played with regular programs like vlc or windows media players.
How can I concat files?

Thank you!

Asterisk won’t record anything until you tell it to do so, so please tell us how you have told Asterisk to make the recordings. I believe the “-in” and “-out” suffixes have been added by your code (or third part code).

The only reason you might have problem playing those files is if they were empty or if you had copied them before they were closed. The meta data will not get written until just before they are closed, so, whilst most of the audio will be there, it will appear not to be there.

“concat” is not a word. I’m not sure why you would want to concatenate them, but taking the request literally, the sox utility can do that.

Normally people would use MixMonitor on only one call leg, which will record the mix of both up and down media streams.

Sorry for the wrong informations!
I have set the Monitor in extensions.conf with this:
exten => s,n,Set(MONITOR_FILENAME=/srv/monitor/queues/${ARG1}/${today}/${TIMESTAMP}-${CALLERID(name)}-${UNIQUEID})
exten => 7021,n,Monitor(wav,${MONITOR_FILENAME},bm)

I have checked the “-in.wav” and “-out.wav” files, they are not empty. Each in-out-pair has the same size, but the md5 hash-es are different.

What I really want is to mix these in and out streams together, as they were a phone coversations A=>B and B=>A channels, getting an full conversation between customer A and operator B.

Use MixMonitor instead.

I think your problem is that you are looking at the files whilst they are still open. The length of the media won’t get written to the header until just before they are closed.