In-Call Call Recording (How to use?)

I’m trying to get call recording to work (feture code I belive is *1), I’ve tried pressing *1 during a call but I don’t know whether is actuall recorded or not. Where would I look to find and playback the recording? (asuming it did work)

I should add that all extentions are set to record incomming/outgoing “On Demand”

it should work and does.

There can be one of several reasons why it’s not working.
First check that you enabled the feature, to do that go into the feature codes and check that it is defined and enabled. If it is disabled it will not work.

Second, the issue might be that your local phone dialplan does not allow for that code sequence to be transmitted thus used. So try and adjust the phones internal dialplan to allow it and/or go into the general features and change the code to something it will allow.

Before I go attempting to fix it, how do I check whether it worked or not? Where do I go to playback the recording if it did work?

BTW the feature code is set to enabled, but as for the local phone dialplan, I don’t know how to check that.

There are couple of ways to view the recordings:

1 - By default, recordings are stored in /var/spool/asterisk/monitor

2 - You can view the recordings in Voicemail & Recordings, the User Portal. Asterisk may not be compiled to support this option, the instructions for using Unique ID’s can be found here: http://www.voip-info.org/wiki-Asterisk+cdr+mysql

Scott

Okay thanks. there’s nothing in /var/spool/asterisk/monitor

How do I find out if there’s a problem with the local phone dialplan?

BTW I don’t see anything on the asterisk -r output when i hit *1

In FreePBX,

1 - Ensure Feature Code “In-Call Asterisk Toggle Call Recording” is enabled and set to *1.

2 - On the General Settings page, add “wW” to “Asterisk Dial command options” making its value “trwW”. Also, add “wW” to “Asterisk Outbound Dial command options.” Hover over the labels for a full description of these options.

3 - On the extension, make sure “Record Incoming” and “Record Outgoing” are set to “On Demand”.

Attempt to record the call. If that does not work, set the extension to always record the phone call and make a test call. Check the location /var/spool/asterisk/monitor for wav files.

With the correct settings and setup you should see lines like this in cli:
[I]
– Executing [s@macro-exten-vm:8] Macro(“Zap/1-1”, “record-enable|2001|IN”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“Zap/1-1”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] AGI(“Zap/1-1”, “recordingcheck|20081007-112701|1223396821.334”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20081007-112701|1223396821.334: Inbound recording not enabled
– AGI Script recordingcheck completed, returning 0
[/I]


Let me know how everything works.
Scott

Thanks, I’ve tried that now. When set to record calls always, it works but when on demand, nothing happens when I do *1, it doesn’t even add anything on the CLI. My dial command options were set to “tr”, now it’s “trwW”. Here is the output on the CLI for the call tried.

[code]root@pbx:~ $ asterisk -r
Asterisk 1.4.21.2, Copyright © 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer [email protected]
Asterisk comes with ABSOLUTELY NO WARRANTY; type ‘core show warranty’ for detail
s.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type ‘core show license’ for details.

Connected to Asterisk 1.4.21.2 currently running on pbx (pid = 2752)
Verbosity is at least 3
– Executing [9{CALLED#REMOVED}@from-internal:1] Macro(“SIP/203-b771edf8”, “user-
callerid|SKIPTTL|”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/203-b771edf8”, “AMPUSER=203”
) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/203-b771edf8”, “0?report”
) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/203-b771edf8”, “1|Set|REA
LCALLERIDNUM=203”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/203-b771edf8”, “AMPUSER=203”
) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/203-b771edf8”, “AMPUSERCIDNA
ME={SIPCALLERNAMEREMOVED}”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/203-b771edf8”, “0?report”
) in new stack
– Executing [s@macro-user-callerid:7] Set;40m(“SIP/203-b771edf8”, “AMPUSERC
ID=203”) in new stack
– Executing [s@macro-user-callerid:8] Set(“SIP/203-b771edf8”, “CALLERID(all
)=”{SIPCALLERNAMEREMOVED}" <203>") in new stack
– Executing [s@macro-user-callerid:9] Set(“SIP/203-b771edf8”, “REALCALLERID
NUM=203”) in new stack
– Executing [s@macro-user-callerid:10] ExecIf(“mSIP/203-b771edf8”, “1|Set|C
HANNEL(language)=uk”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“SIP/203-b771edf8”, “1?contin
ue”) in new stack
– Goto (macro-user-callerid,s,20)
– Executing [s@macro-user-callerid:20] NoOp(“SIP/203-b771edf8”, “Using Call
erID “{SIPCALLERNAMEREMOVED}” <203>”) in new stack
– Executing [9{CALLED#REMOVED}@from-internal:2] Set(“SIP/203-b771edf8”, “NODEST
=") in new stack
– Executing [9{CALLED#REMOVED}@from-internal:3] Macro(“SIP/203-b771edf8”, “recor
d-enable|203|OUT|”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“SIP/203-b771edf8”, “1?check”)
in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] AGI(“SIP/203-b771edf8”, “recordingche
ck|20081008-084701|1223452021.2308”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20081008-084701|1223452021.2308: Outbound recording not enabled
– AGI Script recordingcheck completed, returning 0
– Executing [s@macro-record-enable:5] MacroExit(“SIP/203-b771edf8”, “”) in
new stack
– Executing [9{CALLED#REMOVED}@from-internal:4] Macro(“SIP/203-b771edf8”, “dialo
ut-trunk|1|{CALLED#REMOVED}||”) in new stack
– Executing [s@macro-dialout-trunk:1] Set(“SIP/203-b771edf8”, “DIAL_TRUNK=”
) in new stack
– Executing [s@macro-dialout-trunk:2] GosubIf(“SIP/203-b771edf8”, “0?sub-pi
ncheck|s|1”) in new stack
– Executing [s@macro-dialout-trunk:3] GotoIf(“SIP/203-b771edf8”, “0?disable
trunk|1”) in new stack
– Executing [s@macro-dialout-trunk:4] Set(“SIP/203-b771edf8”, “DIAL_NUMBER=
{CALLED#REMOVED}”) in new stack
– Executing [s@macro-dialout-trunk:5] Set(“SIP/203-b771edf8”, “DIAL_TRUNK_O
PTIONS=trwW”) in new stack
– Executing [s@macro-dialout-trunk:6] Set(“SIP/203-b771edf8”, “OUTBOUND_GRO
UP=OUT_1”) in new stack
– Executing [s@macro-dialout-trunk:7] GotoIf(“SIP/203-b771edf8”, “0?nomax”)
in new stack
– Executing [s@macro-dialout-trunk:8] GotoIf(“SIP/203-b771edf8”, “0?chanful
l”) in new stack
– Executing [s@macro-dialout-trunk:9] GotoIf(“SIP/203-b771edf8”, “0?skipout
cid”) in new stack
– Executing [s@macro-dialout-trunk:10] Set(“SIP/203-b771edf8”, "DIAL_TRUNK

OPTIONS=”) in new stack
– Executing [s@macro-dialout-trunk:11] Macro(“SIP/203-b771edf8”, “outbound-
callerid|1”) in new stack
– Executing [s@macro-outbound-callerid:1] ExecIf(“SIP/203-b771edf8”, “0|Set
CallerPres|”) in new stack
– Executing [s@macro-outbound-callerid:2] ExecIf(“SIP/203-b771edf8”, “0|Set
|REALCALLERIDNUM=203”) in new stack
– Executing [s@macro-outbound-callerid:3] GotoIf(“SIP/203-b771edf8”, “1?nor
mcid”) in new stack
– Goto (macro-outbound-callerid,s,6)
– Executing [s@macro-outbound-callerid:6] Set(“SIP/203-b771edf8”, “USEROUTC
ID=”) in new stack
– Executing [s@macro-outbound-callerid:7] Set(“SIP/203-b771edf8”, “EMERGENC
YCID=”) in new stack
– Executing [s@macro-outbound-callerid:8] Set(“SIP/203-b771edf8”, “TRUNKOUT
CID={OURPHONE#REMOVED}”) in new stack
– Executing [s@macro-outbound-callerid:9] GotoIf(“SIP/203-b771edf8”, “1?tru
nkcid”) in new stack
– Goto (macro-outbound-callerid,s,12)
– Executing [s@macro-outbound-callerid:12] ExecIf(“SIP/203-b771edf8”, “1;35
;40m1|Set|CALLERID(all)={OURPHONE#REMOVED}”) in new stack
– Executing [s@macro-outbound-callerid:13] GotoIf(“SIP/203-b771edf8”, “1?ex
it”) in new stack
– Goto (macro-outbound-callerid,s,11)
– Executing [s@macro-outbound-callerid:11] MacroExit(“SIP/203-b771edf8”, “”
) in new stack
– Executing [s@macro-dialout-trunk:12] ExecIf(“SIP/203-b771edf8”, “0|AGI|fi
xlocalprefix”) in new stack
– Executing [s@macro-dialout-trunk:13] Set(“SIP/203-b771edf8”, “OUTNUM=
{CALLED#REMOVED}”) in new stack
– Executing [s@macro-dialout-trunk:14] Set(“SIP/203-b771edf8”, “custom=ZAP/
1”) in new stack
– Executing [s@macro-dialout-trunk:15] ExecIf(“SIP/203-b771edf8”, “0|Set|DI
AL_TRUNK_OPTIONS=M(setmusic^)”) in new stack
– Executing [s@macro-dialout-trunk:16] Macro(“SIP/203-b771edf8”, “dialout-t
runk-predial-hook|”) in new stack
– Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit(“SIP/203-b771e
df8”, “”) in new stack
– Executing [s@macro-dialout-trunk:17] GotoIf(“SIP/203-b771edf8”, “0?bypass
|1”) in new stack
– Executing [s@macro-dialout-trunk:18] GotoIf(“SIP/203-b771edf8”, “0?custom
trunk”) in new stack
– Executing [s@macro-dialout-trunk:19] Dial(“SIP/203-b771edf8”, “ZAP/1/
{CALLED#REMOVED}|300|”) in new stack
– Called 1/{CALLED#REMOVED}
– Zap/1-1 answered SIP/203-b771edf8
– Hungup ‘Zap/1-1’
== Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on ‘SIP/203-b7
71edf8’ in macro ‘dialout-trunk’
== Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on ‘SIP/203-b7
71edf8’
– Executing [h@macro-dialout-trunk:1] Macro(“SIP/203-b771edf8”, “hangupcall
|”) in new stack
– Executing [s@macro-hangupcall:1] ResetCDR(“SIP/203-b771edf8”, “w;37;40m”)
in new stack
– Executing [s@macro-hangupcall:2] NoCDR(“SIP/203-b771edf8”, “”) in new sta
ck
– Executing [s@macro-hangupcall:3] GotoIf(“SIP/203-b771edf8”, “1?skiprg”) i
n new stack
– Goto (macro-hangupcall,s,6)
– Executing [s@macro-hangupcall:6] GotoIf(“SIP/203-b771edf8”, “1?skipblkvm”
) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] GotoIf(“SIP/203-b771edf8”, “1?theend”) i
n new stack
– Goto (macro-hangupcall,s,11)
– Executing [s@macro-hangupcall:11] Hangup(“SIP/203-b771edf8”, “”) in new s
tack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘SIP/203-b771e
df8’ in macro ‘hangupcall’
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘SIP/203-b771e
df8’
== Starting post polarity CID detection on channel 1
– Starting simple switch on ‘Zap/1-1’
– Hungup ‘Zap/1-1’[/code]

On October 8th, 2008 Lee Christie (tadpole) said:

[I]“When set to record calls always, it works but when on demand, nothing happens when I do *1, it doesn’t even add anything on the CLI.”[/I]

Great, that means it works. My asterisk CLI doesnt add any on demand recording lines either, so we are fine there.

[I]“My dial command options were set to “tr”, now it’s “trwW”. Here is the output on the CLI for the call tried.”[/I]

Ok, so you changed “Asterisk Dial command options” to trwW, but did you also change “Asterisk Outbound Dial command options” to wW?

Based on the output you provided, the change was not made successfully.
[I]-- Executing [s@macro-dialout-trunk:19] Dial(“SIP/203-b771edf8”, “ZAP/1/ {CALLED#REMOVED}|300|”) in new stack[/I]

The options you specified should have shown up in this line. Mine looks like this:
[I]-- Executing [s@macro-dialout-trunk:19] Dial(“SIP/1003-b7700468”, “IAX2/DAL/2015|300|trwW”) in new stack[/I]

The only difference is that yours is using a ZAP trunk and I am using an IAX2 trunk.

Please let me know if that change was made to both options in FreePBX and that it has been applied. If it has already, try an on demand recording of an incoming call and include CLI output in your response.
Scott

Okay I’d forgotten to add wW to outbound options but i have now, and applied changes, outbound still won’t record.

-- Executing [s@macro-dialout-trunk:19] Dial("SIP/203-b7725c08", "ZAP/1/{CALLED#REMOVED}|300|wW") in new stack

As for inbound call I’ll get back to you on that one a little later.

Hello,

here I have the same problem.
I did all the settings explained here, but no result.

When I set recording to allways, it records, but when I set it to on demand, it doesn’t.

When I press *1 during a call, nothing happends.

Any further suggestions on that?

cu
Helmut

Ok, I do get .wav files in /var/spool/asterisk/monitor/ so the recordings are working, but I don’t see anything in the Voicemail page (/recordings). Any reason the recording would not show up there? Is there any other way for a regular user to get these recordings other than pulling them from the server?

You can view the recordings in Voicemail & Recordings, the User Portal. Asterisk Addons is probably not compiled to support this option, the instructions for using Unique ID’s can be found here: http://www.voip-info.org/wiki-Asterisk+cdr+mysql

Scott

My problem is different, I am seeing recordings both in the /var/spool/asterisk/monitor directory AND under voicemail&recordings>call monitor, but again, only if i set Extentions > Recordings > Record Always. If it’s On Demand, nothing records even when I try *1.

I am seeing exactly the same as Lee - Recordings are being made if settings are set to always, if set to On Demand, no recordings are being made if dialing *1 during call.

I had the same problem when I setup my systems. What I did to fix it was go into your extension and change dictation service to disabled. Then reload the dial plan. Now go back to the extension and change the dictation service back to enabled and the format to wav.

For some reason this made it work for me.

Rob

Thanks for the suggestion Rob - Unfortunately it made no difference.
Dictation was already disabled, so enabled, tested, disabled, tested, enabled and tested. All failed to record when pressing *1 during a call.

same, still nothing but thanks

What types of phones are you using?

Have you tried this with a softphone like x-lite?

I assume that /etc/asterisk/features_featuremap_additional.conf contains automon=*1

What are the permissions and owner:group set to on /var/spool/asterisk/monitor

Which version of asterisk? Which version of FreePBX? What Operating System?

Perhaps this will help:
http://www.trixbox.org/forums/trixbox-forums/help/call-recording-trouble-trixbox-2-2-freepbx-2-4-anyone-else

I am not sure why this is occurring. When I setup my asterisk systems, after setting the options specified above, recording on demand works great. I use the PBX-In-A-Flash ISOs and when it comes to asterisk I am still a newbie.

Scott

Hope I am not ‘stealing’ Lee’s thread, it is just that it appears at the moment that we both have the same problem.

I have tried using two different phones (Grandstream & Linksys) plus Eyebeam / Xlite, and no recordings are being made when dialing *1 during a call.

/etc/asterisk/features_featuremap_additional.conf
contains
automon=*1

drwxrwxr-x 2 asterisk asterisk 4096 2008-10-14 11:10 monitor

Using
Asterisk 1.4.18
FreePBX 2.5.0.1

Dial command options: trWw
Outbound Dial command options: TWw

===============================
Update
Your link solved the problem
Add the following line to /etc/asterisk/features_general_custom.conf

featuredigittimeout = 1500

Thanks for the suggestions Scott.