Help with MixMonitor and Asterisk 1.4x


I have an Asterisk 1.4x Debian based Asterisk Server and I want to introduce call recording on a selective basis. The customer will be advised that a recording will take place. Recording based per extension if possible.

I have researched and tried so many things that I am now desperate. I cannot get Asterisk to initiate the recording. I have changed Extensions.conf, SIP.conf, features.conf, all to no avail. (All reset now)
Could someone who has successfully managed to get this working please help?
Ideally, I ultimately want to be able to control this through the AMI but I cannot get it to work at all.

Any help would be greatly appreciated.


posting some extracts of what you tried would show others how your trying to accomplish this and if there are an visible errors in the coding/settings.

MixMonitor should be a simple task. Mind you I have not actually had a need to use it. I handle my recordings from the queues. When an agent takes the call, it is recorded.

In your dialplan you should just have to say, MixMonitor prior to connecting to the channels.

exten => 100,1,Answer
exten => 100,n,MixMonitor(somefile.wav,b)
exten => 100,n,Dial(SIP/300,15)
exten => 100,n,Hangup

I have modified the extensions.conf to include the lines you have shown, substituting my own extension but it does not work.
No file is created in the directory /var/spool/asterisk/monitor. The default directory has been verified as correct.
Following advice elsewhere on the net, I modified features.conf to include the line
automon => *1
It did not record when I pressed the *1 keys.

I added the following line to extensions.conf under [globals]
and added the “wW” as a switch e.g.
exten => 215,1,Dial(SIP/215,wW)

None of the above worked so I took them back out again.

I have also read that I need to have the command StopMixMonitor() but I don’t know where this should go.

Thanks for taking to time to help.


With those options, the user must dial a sequence to start monitoring.

For simple recording, you call MixMonitor before you dial.

I tried it with MixMonitor on it’s own before making the changes that required the user to enter a key combination.
For some reason, it isn’t creating the recording.

You can add some lines in your extensions, i think it can help you.

[code]exten => 2,1,Answer()
exten => 2,2,Set(Name=${CALLERID(num)})
exten => 2,n,Mixmonitor(/home/temp/${Name}.wav,v(2)V(-2),); show the directory to store recorded file. Option v and V you can refer in asterisk wiki
exten => 2,n,BackGround(/home/temp/${ThemeSong});replacing ThemeSong with one song’s name, I use Background to play a song because we can press the other button to stop the mixmonitor
exten => 2,n,StopMixmonitor()
exten => 2,n,Wait(3)
exten => 2,n,Playback(/home/temp/${Name}); Checking the recorded file.
exten => 2,n,Hangup()

exten => i,1,StopMixmonitor()
exten => i,n,Wait(3)
exten => i,n,Playback(/home/temp/${Name}); Checking the recorded file.
exten => i,n,Hangup()[/code]

I found that there were entries in the agents.conf file that were stopping the recording.
I set the following in agents.conf and it worked:


Thanks everyone.
Now I can start to tweak it to what I want exactly.