In-Call Call Recording (How to use?)

34 posts / 0 new
Last post
Lee Christie
Lee Christie's picture
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)

Lee Christie
Lee Christie's picture
I should add that all

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

lii
lii's picture
call recording not working -urgent

the call recording option in freepbx is not working,,i tried with both on demand and always option,also checked the call recording toggle command *1,and have also given the asterisk dial command options and asterisk outbound dial command options trWw and Ww....still the recordings not working,,,but my voice mail is working ,,im using xlite softphone,,can anyone find the reason,,should i add the commands through asterisk CLI

lii
lii's picture
if anyone knows the solution

if anyone knows the solution please do help

fskrotzki
fskrotzki's picture
it should work and does.

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.

Lee Christie
Lee Christie's picture
Before I go attempting to

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.

scottcupit
scottcupit's picture
Recording Location

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

Lee Christie
Lee Christie's picture
Okay thanks. there's nothing

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

scottcupit
scottcupit's picture
FreePBX Settings

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:

-- 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

Let me know how everything works.
Scott

AL
AL's picture
Call recordings

A very nice trouble shooting steps by scottcupit as i have faced the same issue which were resolved after following scottcupit steps, thank you very much and keep up the good work.

Lee Christie
Lee Christie's picture
Thanks, I've tried that now.

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.

root@pbx:~ $ asterisk -r
Asterisk 1.4.21.2, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer 
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'

scottcupit
scottcupit's picture
Next Step

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

"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."

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

"My dial command options were set to "tr", now it's "trwW". Here is the output on the CLI for the call tried."

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.
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/203-b771edf8", "ZAP/1/ {CALLED#REMOVED}|300|") in new stack

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

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

Lee Christie
Lee Christie's picture
Okay I'd forgotten to add wW

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.

helste
helste's picture
Hello, here I have the same

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

calvinallred
calvinallred's picture
How to view recordings?

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?

scottcupit
scottcupit's picture
User Portal

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

Lee Christie
Lee Christie's picture
My problem is different, I

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.

mike557
mike557's picture
Confirmed

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.

R_Henry
R_Henry's picture
I had the same problem when

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

mike557
mike557's picture
Thanks for the suggestion

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.

Lee Christie
Lee Christie's picture
same, still nothing

same, still nothing but thanks

scottcupit
scottcupit's picture
Hrm...

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

mike557
mike557's picture
Tested with softphone

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.

Lee Christie
Lee Christie's picture
I installed from PBX in a

I installed from PBX in a Flash 1.3, using CentOS release 5.2 (Final) 32-bit, Kernel 2.6.18-92.1.6.el5 (SMP) FreePBX 2.5.0.1 with Asterisk 1.4.21.2, Zaptel 1.4.11, libpri 1.4.7, addons 1.4.7

I thought i mentioned I'd tried X-lite but scrolling up aparently I forgot. The phyical phones I'm using are Linksys IP Phone SPA922, but the same problem exists with X-lite.

-------------

edit, that seems to be working for me too with the timeout set, thanks

helste
helste's picture
Thanks. featuredigittimeout

Thanks.
featuredigittimeout = 1500
did it for me, but it only works on X-Lite and not on my Grandstream GXP2000.

How could I get it working on the Grandstream?

scottcupit
scottcupit's picture
Grandstream

I have not personally used a Grandstream IP phone, so I cannot directly assist you. My suggestion is to investigate the Grandstream Dial Plan. Some phones have a specific configuration for dial plans and might be blocking *1 as an invalid number.

At least we know the server is working properly in recording on demand.

helste
helste's picture
Solved the problem with the

Solved the problem with the grandstream. Had to set send DTMF to "via RTP (RFC2833)".

Just another problem:
The recording is stored as two files. 1 for outgoing and 1 for incoming. Is there any way to have out and in in one file?

helste
helste's picture
Strange

No it works well for outgoing calls, but if I receive a call, it doesn't record, when I press *1.

Any hints on that?

scottcupit
scottcupit's picture
That's All I've Got

Just double check you have completed all steps outlined above. I can't think of anything else.

opampca
opampca's picture
many thanks

Followed the thread, recording is fine with GXP2000.
Only level is low...
On voicemail messages, I added 12db gain on "General settings".
I will try to find where to boost the gain in .conf files
Thank you all, i've been looking for recording for a while !!!

lfhuhn
lfhuhn's picture
*1 automonitor

I have found the following to work on Pbxiaf, as well as those others:

Asterisk Dial commands options = tTwWr
Asterisk Output Dial commands options = tTwW

In features_general_custom.conf (place the following and reload)

featuredigittimeout=3000
courtesytone=beep

If you've done it right when you hit *1 you will here a beep.

TimMillerDyck
TimMillerDyck's picture
dial *1 quickly

Hi,

For me, these were the only two steps needed:

* Changing the Asterisk Dial command options to add "w" to the default "tr" (so the whole string is "trw") and the Asterisk Outbound Dial command options to add "W" to the default empty string (so the whole string is "W") (with this configuration, only the Asterisk side on internal<->external calls can issue the record command)
* I had to dial *1 quickly -- if there is too much of a pause between the * and the 1, the other side hears the two DTMF tones and no recording starts or stops

I didn't need to make any dial plan changes or other changes.

Tim

Scallica
Scallica's picture
I had the same problem

I had the same problem getting on-demand call recording working. I resolved the issue by following the suggestions in this thread.

1. On the General Settings page, add "wW" to "Asterisk Dial command options" making its value "trwW"

2. On the phone, change the dial plan to accommodate *1 with this:

(*x.|

frankge973
frankge973's picture
freepbx set to:

freepbx set to:
Asterisk Dial commands options = tTwWr
Asterisk Output Dial commands options = tTwW
grandstream gxp2000: set to DTMF to via RTP (RFC2833)
Added the following line to /etc/asterisk/features_general_custom.conf
featuredigittimeout = 1500

when I press *1, the call is disconnected