FreePBX Paid Support


Not Logged in - No Account?

Logging in allows you to post to forums, track new posts, subscribe to threads, pm (private message) other members, and receive periodic news letters. Once logged in this message disappears. No account? Create one by registering here. Lost your password, request a new password. We respect your privacy and collect minimal information when you register and we do not resell that information or use it in any objectionable way. You can review our privacy policy for details.


In-Call Call Recording (How to use?)

Lee Christie's picture

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)


__________________


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I should add that all

Lee Christie's picture

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


it should work and does.

fskrotzki's picture

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

Lee Christie's picture

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.


Recording Location

scottcupit's picture

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

Lee Christie's picture

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


FreePBX Settings

scottcupit's picture

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


Thanks, I've tried that now.

Lee Christie's picture

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 <markster@digium.com>
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'

Next Step

scottcupit's picture

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


Okay I'd forgotten to add wW

Lee Christie's picture

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

helste's picture

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


How to view recordings?

calvinallred's picture

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?


User Portal

scottcupit's picture

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

Lee Christie's picture

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.


Confirmed

mike557's picture

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

R_Henry's picture

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

mike557's picture

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

Lee Christie's picture

same, still nothing but thanks


Hrm...

scottcupit's picture

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

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


Tested with softphone

mike557's picture

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.


I installed from PBX in a

Lee Christie's picture

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


Thanks. featuredigittimeout

helste's picture

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?


Grandstream

scottcupit's picture

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.


Solved the problem with the

helste's picture

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?


Strange

helste's picture

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?