Skip to main content

Meetme Recording Revisited

Posted by dozment on Tue, 09/20/2011

I'm having trouble recording meetme conferences. I've read a couple of other posts, but I'm still not seeing the problem. I'm running MTE 6.1.1.7 and Asterisk 1.4.40. The 'r' option is being passed to the meetme app, and it looks like the file name is defined. But, the file doesn't exist once the call is completed. I've tried finding the file with the find command on the entire file system, but it doesn't seem to have recorded anything. Recording using the #9 feature works for an extension.

Any thoughts on where I should look for this?

Here's a meetme call...


== Channel 'SIP/101-env-0000049a' jumping out of macro 'tl-set-variables2'
-- Executing [*30@from-inside-redir-env:1] Macro("SIP/101-env-0000049a", "tl-dialconference-prompted||||/var/spool/asterisk/meet me") in new stack
-- Executing [s@macro-tl-dialconference-prompted:1] Answer("SIP/101-env-0000049a", "") in new stack
-- Executing [s@macro-tl-dialconference-prompted:2] Wait("SIP/101-env-0000049a", "1") in new stack
-- Executing [s@macro-tl-dialconference-prompted:3] Set("SIP/101-env-0000049a", "CALLERID(name)=Dan Softphone") in new stack
-- Executing [s@macro-tl-dialconference-prompted:4] Set("SIP/101-env-0000049a", "attempts=0") in new stack
-- Executing [s@macro-tl-dialconference-prompted:5] Set("SIP/101-env-0000049a", "TIMEOUT(digit)=4") in new stack
-- Digit timeout set to 4
-- Executing [s@macro-tl-dialconference-prompted:6] Set("SIP/101-env-0000049a", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [s@macro-tl-dialconference-prompted:7] Set("SIP/101-env-0000049a", "prefix=") in new stack
-- Executing [s@macro-tl-dialconference-prompted:8] Set("SIP/101-env-0000049a", "confno=") in new stack
-- Executing [s@macro-tl-dialconference-prompted:9] GotoIf("SIP/101-env-0000049a", "0?gotconf") in new stack
-- Executing [s@macro-tl-dialconference-prompted:10] Read("SIP/101-env-0000049a", "confno|conf-getconfno") in new stack
-- Playing 'conf-getconfno' (language 'en')
-- User entered '4110'
-- Executing [s@macro-tl-dialconference-prompted:11] Set("SIP/101-env-0000049a", "confno=4110") in new stack
-- Executing [s@macro-tl-dialconference-prompted:12] NoOp("SIP/101-env-0000049a", "confno = 4110") in new stack
-- Executing [s@macro-tl-dialconference-prompted:13] Set("SIP/101-env-0000049a", "status=1") in new stack
-- Executing [s@macro-tl-dialconference-prompted:14] GotoIf("SIP/101-env-0000049a", "0?confinvalid") in new stack
-- Executing [s@macro-tl-dialconference-prompted:15] Set("SIP/101-env-0000049a", "moh=default-env") in new stack
-- Executing [s@macro-tl-dialconference-prompted:16] Set("SIP/101-env-0000049a", "maxusers=") in new stack
-- Executing [s@macro-tl-dialconference-prompted:17] Set("SIP/101-env-0000049a", "userpin=4110") in new stack
-- Executing [s@macro-tl-dialconference-prompted:18] Set("SIP/101-env-0000049a", "adminpin=111") in new stack
-- Executing [s@macro-tl-dialconference-prompted:19] Set("SIP/101-env-0000049a", "options=wMsciTor") in new stack
-- Executing [s@macro-tl-dialconference-prompted:20] GotoIf("SIP/101-env-0000049a", "1?pregetpin") in new stack
-- Goto (macro-tl-dialconference-prompted,s,27)
-- Executing [s@macro-tl-dialconference-prompted:27] Set("SIP/101-env-0000049a", "attempts=0") in new stack
-- Executing [s@macro-tl-dialconference-prompted:28] Read("SIP/101-env-0000049a", "pin|conf-getpin") in new stack
-- Playing 'conf-getpin' (language 'en')
-- User entered '111'
-- Executing [s@macro-tl-dialconference-prompted:29] NoOp("SIP/101-env-0000049a", "pin = 111") in new stack
-- Executing [s@macro-tl-dialconference-prompted:30] GotoIf("SIP/101-env-0000049a", "0?getoptions") in new stack
-- Executing [s@macro-tl-dialconference-prompted:31] GotoIf("SIP/101-env-0000049a", "0?pininvalid") in new stack
-- Executing [s@macro-tl-dialconference-prompted:32] GotoIf("SIP/101-env-0000049a", "1?setadmin") in new stack
-- Goto (macro-tl-dialconference-prompted,s,37)
-- Executing [s@macro-tl-dialconference-prompted:37] Set("SIP/101-env-0000049a", "adminoptions=Aa") in new stack
-- Executing [s@macro-tl-dialconference-prompted:38] GotoIf("SIP/101-env-0000049a", "1?startconf") in new stack
-- Goto (macro-tl-dialconference-prompted,s,40)
-- Executing [s@macro-tl-dialconference-prompted:40] SetMusicOnHold("SIP/101-env-0000049a", "default-env") in new stack
-- Executing [s@macro-tl-dialconference-prompted:41] Set("SIP/101-env-0000049a", "RECORDING_PATH=/var/spool/asterisk/meetme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:42] GotoIf("SIP/101-env-0000049a", "0?setfile") in new stack
-- Executing [s@macro-tl-dialconference-prompted:43] Set("SIP/101-env-0000049a", "RECORDING_PATH=/var/spool/asterisk/meetme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:44] Set("SIP/101-env-0000049a", "MEETME_RECORDINGFILE=/var/spool/asterisk/meetme/conf-4110-2011-09-20-13-38-21-4110-env") in new stack
-- Executing [s@macro-tl-dialconference-prompted:45] Set("SIP/101-env-0000049a", "MEETME_RECORDINGFORMAT=wav") in new stack
-- Executing [s@macro-tl-dialconference-prompted:46] MeetMe("SIP/101-env-0000049a", "4110|wMsciTorAa|111") in new stack
== Parsing '/etc/asterisk/meetme.conf': Found
-- Created MeetMe conference 1023 for conference '4110'
== Spawn extension (macro-tl-dialconference-prompted, s, 46) exited non-zero on 'SIP/101-env-0000049a' in macro 'tl-dialconference -prompted'
== Spawn extension (from-inside-redir-env, *30, 1) exited non-zero on 'SIP/101-env-0000049a'
-- Executing [h@from-inside-redir-env:1] NoOp("SIP/101-env-0000049a", "**** Hangup cause: 0") in new stack
-- Executing [h@from-inside-redir-env:2] Hangup("SIP/101-env-0000049a", "") in new stack
== Spawn extension (from-inside-redir-env, h, 2) exited non-zero on 'SIP/101-env-0000049a'


Submitted by dozment on Mon, 10/10/2011 Permalink

Any thoughts on where I can go with this? Conferencing is working. Normal call recording is working. Only recording conference calls is not working. Does the fact that everything else is working suggest that dahdi_dummy is working correctly?

Submitted by chris on Mon, 10/10/2011 Permalink

Does the user running Asterisk have write permission on /var/spool/asterisk/meetme/?

Submitted by mattdarnell on Mon, 10/10/2011 Permalink

Is the file created during the meetme & then deleted or is it never created? i.e. 'ls -rthl /var/spool/asterisk/meetme/'

-Matt

Submitted by dozment on Mon, 10/10/2011 Permalink

Hi Matt!

Nothing is created in /var/spool/asterisk/meetme. I do have recordings from individual calls in /var/spool/asterisk/monitor, and people are able to play those back from the Thirdlane user portal.

Here is part of the console output for an attempt.


-- Executing [s@macro-tl-dialconference-prompted:41] SetMusicOnHold("SIP/113-env-0009604f", "default-env") in new stack
-- Executing [s@macro-tl-dialconference-prompted:42] Set("SIP/113-env-0009604f", "RECORDING_PATH=/var/spool/asterisk/meetme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:43] GotoIf("SIP/113-env-0009604f", "0?setfile") in new stack
-- Executing [s@macro-tl-dialconference-prompted:44] Set("SIP/113-env-0009604f", "RECORDING_PATH=/var/spool/asterisk/meetme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:45] Set("SIP/113-env-0009604f", "MEETME_RECORDINGFILE=/var/spool/asterisk/meetme/conf-4300-2011-10-10-23-57-24-4300-env") in new stack
-- Executing [s@macro-tl-dialconference-prompted:46] Set("SIP/113-env-0009604f", "MEETME_RECORDINGFORMAT=wav") in new stack
-- Executing [s@macro-tl-dialconference-prompted:47] MeetMe("SIP/113-env-0009604f", "4300|wMsciTrAa|4300") in new stack
-- Playing 'conf-onlyone' (language 'en')
-- Stopped music on hold on SIP/110-env-0009604e
-- Playing 'conf-placeintoconf' (language 'en')
-- Playing 'digits/1' (language 'en')
-- Playing 'conf-userwilljoin' (language 'en')
-- Timeout on SIP/voiceRouter-0000e122

Thanks!
Dan

Submitted by mattdarnell on Mon, 10/10/2011 Permalink

Dan,

Does it work if you create a script that manually creates the conference?

Here is a snippet from voip-info.org
exten => s,n(record),SetVar(MEETME_RECORDINGFILE=/var/spool/asterisk/meetme/conference_recording-${EPOCH}-${USER});
exten => s,n,MeetMe(,rDMpc) ;Make new Room and record call.

-M

Submitted by mattdarnell on Mon, 10/10/2011 Permalink

Dan,

It works over here.

Here is the directory listing during the call:
-rw-r--r-- 1 root root 168930 Oct 10 19:12 conf-4112-2011-10-10-19:10:58-4112-Acme.WAV
-rwxr-xr-x 1 root root 133760 Oct 10 19:11 meetme-username-4112-1.sln
-rwxr-xr-x 1 root root 34560 Oct 10 19:11 meetme-username-4112-2.sln

Here is the directory listing after the call:
-rw-r--r-- 1 root root 195710 Oct 10 19:12 conf-4112-2011-10-10-19:10:58-4112-Acme.WAV

Here is the debug - we are on Asterisk 1.4.27.1:

-- Goto (macro-tl-dialconference-prompted,s,9)
-- Executing [s@macro-tl-dialconference-prompted:9] Read("DAHDI/1-1", "confno|conf-getconfno") in new stack
-- Playing 'conf-getconfno' (language 'en')
-- User entered '4112'
-- Executing [s@macro-tl-dialconference-prompted:10] NoOp("DAHDI/1-1", "confno = 4112") in new stack
-- Executing [s@macro-tl-dialconference-prompted:11] Set("DAHDI/1-1", "status=1") in new stack
-- Executing [s@macro-tl-dialconference-prompted:12] GotoIf("DAHDI/1-1", "0?confinvalid") in new stack
-- Executing [s@macro-tl-dialconference-prompted:13] Set("DAHDI/1-1", "moh=default-Acme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:14] Set("DAHDI/1-1", "maxusers=2") in new stack
-- Executing [s@macro-tl-dialconference-prompted:15] Set("DAHDI/1-1", "userpin=1234") in new stack
-- Executing [s@macro-tl-dialconference-prompted:16] Set("DAHDI/1-1", "adminpin=12345") in new stack
-- Executing [s@macro-tl-dialconference-prompted:17] Set("DAHDI/1-1", "options=MsciTor") in new stack
-- Executing [s@macro-tl-dialconference-prompted:18] GotoIf("DAHDI/1-1", "0?pregetpin") in new stack
-- Executing [s@macro-tl-dialconference-prompted:19] MeetMeCount("DAHDI/1-1", "4112|count") in new stack
== Parsing '/etc/asterisk/meetme.conf': Found
-- Executing [s@macro-tl-dialconference-prompted:20] GotoIf("DAHDI/1-1", "0?full:pregetpin") in new stack
-- Goto (macro-tl-dialconference-prompted,s,25)
-- Executing [s@macro-tl-dialconference-prompted:25] Set("DAHDI/1-1", "attempts=0") in new stack
-- Executing [s@macro-tl-dialconference-prompted:26] Read("DAHDI/1-1", "pin|conf-getpin") in new stack
-- Playing 'conf-getpin' (language 'en')
-- User entered '12345'
-- Executing [s@macro-tl-dialconference-prompted:27] NoOp("DAHDI/1-1", "pin = 12345") in new stack
-- Executing [s@macro-tl-dialconference-prompted:28] GotoIf("DAHDI/1-1", "0?getoptions") in new stack
-- Executing [s@macro-tl-dialconference-prompted:29] GotoIf("DAHDI/1-1", "0?pininvalid") in new stack
-- Executing [s@macro-tl-dialconference-prompted:30] GotoIf("DAHDI/1-1", "1?setadmin") in new stack
-- Goto (macro-tl-dialconference-prompted,s,35)
-- Executing [s@macro-tl-dialconference-prompted:35] Set("DAHDI/1-1", "adminoptions=Aa") in new stack
-- Executing [s@macro-tl-dialconference-prompted:36] GotoIf("DAHDI/1-1", "1?startconf") in new stack
-- Goto (macro-tl-dialconference-prompted,s,38)
-- Executing [s@macro-tl-dialconference-prompted:38] SetMusicOnHold("DAHDI/1-1", "default-Acme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:39] Set("DAHDI/1-1", "RECORDING_PATH=/var/spool/asterisk/meetme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:40] GotoIf("DAHDI/1-1", "1?setfile") in new stack
-- Goto (macro-tl-dialconference-prompted,s,42)
-- Executing [s@macro-tl-dialconference-prompted:42] Set("DAHDI/1-1", "MEETME_RECORDINGFILE=/var/spool/asterisk/meetme/conf-4112-2011-10-10-19:10:58-4112-Acme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:43] Set("DAHDI/1-1", "MEETME_RECORDINGFORMAT=WAV") in new stack
-- Executing [s@macro-tl-dialconference-prompted:44] MeetMe("DAHDI/1-1", "4112|MsciTorAa|12345") in new stack
== Parsing '/etc/asterisk/meetme.conf': Found
-- Created MeetMe conference 1023 for conference '4112'
> Starting recording of MeetMe Conference 4112 into file /var/spool/asterisk/meetme/conf-4112-2011-10-10-19:10:58-4112-Acme.WAV.
-- Recording
-- Playing 'vm-rec-name' (language 'en')
-- Playing 'beep' (language 'en')
-- x=0, open writing: /var/spool/asterisk/meetme/meetme-username-4112-1 format: sln, 0x94cb850
-- User ended message by pressing #
-- Playing 'auth-thankyou' (language 'en')
-- Playing 'vm-review' (language 'en')
-- Playing 'vm-msgsaved' (language 'en')
-- Playing 'conf-onlyperson' (language 'en')
-- Started music on hold, class 'default-Acme', on DAHDI/1-1
[ -- Accepting call from '8083933459' to '8084264589' on channel 0/1, span 2
-- Executing [8084264589@from-outside:1] Wait("DAHDI/25-1", "1") in new stack
-- Executing [8084264589@from-outside:2] Set("DAHDI/25-1", "__INCOMINGCLI=8083933459") in new stack
-- Executing [8084264589@from-outside:3] Goto("DAHDI/25-1", "from-outside-redir|8084264589|1") in new stack
-- Goto (from-outside-redir,8084264589,1)
-- Executing [8084264589@from-outside-redir:1] Set("DAHDI/25-1", "DIALED_PUBLIC_NUMBER=8084264589") in new stack
-- Executing [8084264589@from-outside-redir:2] Set("DAHDI/25-1", "DIALED_NUMBER=8084264589") in new stack
-- Executing [8084264589@from-outside-redir:3] Set("DAHDI/25-1", "status=1") in new stack
-- Executing [8084264589@from-outside-redir:4] GotoIf("DAHDI/25-1", "1?7") in new stack
-- Goto (from-outside-redir,8084264589,7)
-- Executing [8084264589@from-outside-redir:7] GotoIfTime("DAHDI/25-1", "*|*|*|*?from-outside-8084264589-tl-allhours-Acme|8084264589|1") in new stack
-- Goto (from-outside-8084264589-tl-allhours-Acme,8084264589,1)
-- Executing [8084264589@from-outside-8084264589-tl-allhours-Acme:1] Set("DAHDI/25-1", "__tenant=Acme") in new stack
-- Executing [8084264589@from-outside-8084264589-tl-allhours-Acme:2] Set("DAHDI/25-1", "CDR(userfield)=Acme") in new stack
-- Executing [8084264589@from-outside-8084264589-tl-allhours-Acme:3] Set("DAHDI/25-1", "MOH=default-Acme") in new stack
-- Executing [8084264589@from-outside-8084264589-tl-allhours-Acme:4] GotoIf("DAHDI/25-1", "0?nomoh") in new stack
-- Executing [8084264589@from-outside-8084264589-tl-allhours-Acme:5] SetMusicOnHold("DAHDI/25-1", "default-Acme") in new stack
-- Executing [8084264589@from-outside-8084264589-tl-allhours-Acme:6] Macro("DAHDI/25-1", "tl-goto-featurextension|603|") in new stack
-- Executing [s@macro-tl-goto-featurextension:1] Set("DAHDI/25-1", "CALLERID(name)=Cell Phone HI") in new stack
-- Executing [s@macro-tl-goto-featurextension:2] Goto("DAHDI/25-1", "feature-extensions-Acme|603|1") in new stack
-- Goto (feature-extensions-Acme,603,1)
== Channel 'DAHDI/25-1' jumping out of macro 'tl-goto-featurextension'
-- Executing [603@feature-extensions-Acme:1] Macro("DAHDI/25-1", "tl-dialconference-prompted||M") in new stack
-- Executing [s@macro-tl-dialconference-prompted:1] Answer("DAHDI/25-1", "") in new stack
-- Executing [s@macro-tl-dialconference-prompted:2] Wait("DAHDI/25-1", "1") in new stack
-- Executing [s@macro-tl-dialconference-prompted:3] Set("DAHDI/25-1", "CALLERID(name)=MCell Phone HI") in new stack
-- Executing [s@macro-tl-dialconference-prompted:4] Set("DAHDI/25-1", "attempts=0") in new stack
-- Executing [s@macro-tl-dialconference-prompted:5] Set("DAHDI/25-1", "TIMEOUT(digit)=4") in new stack
-- Digit timeout set to 4
-- Executing [s@macro-tl-dialconference-prompted:6] Set("DAHDI/25-1", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [s@macro-tl-dialconference-prompted:7] Set("DAHDI/25-1", "confno=") in new stack
-- Executing [s@macro-tl-dialconference-prompted:8] GotoIf("DAHDI/25-1", "0?gotconf") in new stack
-- Executing [s@macro-tl-dialconference-prompted:9] Read("DAHDI/25-1", "confno|conf-getconfno") in new stack
-- Playing 'conf-getconfno' (language 'en')
-- User entered '4112'
-- Executing [s@macro-tl-dialconference-prompted:10] NoOp("DAHDI/25-1", "confno = 4112") in new stack
-- Executing [s@macro-tl-dialconference-prompted:11] Set("DAHDI/25-1", "status=1") in new stack
-- Executing [s@macro-tl-dialconference-prompted:12] GotoIf("DAHDI/25-1", "0?confinvalid") in new stack
-- Executing [s@macro-tl-dialconference-prompted:13] Set("DAHDI/25-1", "moh=default-Acme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:14] Set("DAHDI/25-1", "maxusers=2") in new stack
-- Executing [s@macro-tl-dialconference-prompted:15] Set("DAHDI/25-1", "userpin=1234") in new stack
-- Executing [s@macro-tl-dialconference-prompted:16] Set("DAHDI/25-1", "adminpin=12345") in new stack
-- Executing [s@macro-tl-dialconference-prompted:17] Set("DAHDI/25-1", "options=MsciTor") in new stack
-- Executing [s@macro-tl-dialconference-prompted:18] GotoIf("DAHDI/25-1", "0?pregetpin") in new stack
-- Executing [s@macro-tl-dialconference-prompted:19] MeetMeCount("DAHDI/25-1", "4112|count") in new stack
-- Executing [s@macro-tl-dialconference-prompted:20] GotoIf("DAHDI/25-1", "0?full:pregetpin") in new stack
-- Goto (macro-tl-dialconference-prompted,s,25)
-- Executing [s@macro-tl-dialconference-prompted:25] Set("DAHDI/25-1", "attempts=0") in new stack
-- Executing [s@macro-tl-dialconference-prompted:26] Read("DAHDI/25-1", "pin|conf-getpin") in new stack
-- Playing 'conf-getpin' (language 'en')
-- User entered '1234'
-- Executing [s@macro-tl-dialconference-prompted:27] NoOp("DAHDI/25-1", "pin = 1234") in new stack
-- Executing [s@macro-tl-dialconference-prompted:28] GotoIf("DAHDI/25-1", "1?getoptions") in new stack
-- Goto (macro-tl-dialconference-prompted,s,36)
-- Executing [s@macro-tl-dialconference-prompted:36] GotoIf("DAHDI/25-1", "1?startconf") in new stack
-- Goto (macro-tl-dialconference-prompted,s,38)
-- Executing [s@macro-tl-dialconference-prompted:38] SetMusicOnHold("DAHDI/25-1", "default-Acme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:39] Set("DAHDI/25-1", "RECORDING_PATH=/var/spool/asterisk/meetme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:40] GotoIf("DAHDI/25-1", "1?setfile") in new stack
-- Goto (macro-tl-dialconference-prompted,s,42)
-- Executing [s@macro-tl-dialconference-prompted:42] Set("DAHDI/25-1", "MEETME_RECORDINGFILE=/var/spool/asterisk/meetme/conf-4112-2011-10-10-19:11:45-4112-Acme") in new stack
-- Executing [s@macro-tl-dialconference-prompted:43] Set("DAHDI/25-1", "MEETME_RECORDINGFORMAT=WAV") in new stack
-- Executing [s@macro-tl-dialconference-prompted:44] MeetMe("DAHDI/25-1", "4112|MsciTor|1234") in new stack
-- Recording
-- Playing 'vm-rec-name' (language 'en')
-- Playing 'beep' (language 'en')
-- x=0, open writing: /var/spool/asterisk/meetme/meetme-username-4112-2 format: sln, 0x94cb850
-- User ended message by pressing #
-- Playing 'auth-thankyou' (language 'en')
-- Playing 'vm-review' (language 'en')
-- Playing 'vm-msgsaved' (language 'en')
-- Playing 'conf-onlyone' (language 'en')
-- Stopped music on hold on DAHDI/1-1
-- Playing '/var/spool/asterisk/meetme/meetme-username-4112-2' (language 'en')
-- Playing 'conf-hasjoin' (language 'en')
== Spawn extension (macro-tl-dialconference-prompted, s, 44) exited non-zero on 'DAHDI/25-1' in macro 'tl-dialconference-prompted'
== Spawn extension (feature-extensions-Acme, 603, 1) exited non-zero on 'DAHDI/25-1'
-- Hungup 'DAHDI/25-1'
-- Playing '/var/spool/asterisk/meetme/meetme-username-4112-2' (language 'en')
-- Started music on hold, class 'default-Acme', on DAHDI/1-1
-- Playing 'conf-hasleft' (language 'en')
-- Channel 0/1, span 1 got hangup request, cause 16
-- Stopped music on hold on DAHDI/1-1
-- Hungup 'DAHDI/pseudo-481141214'
-- Hungup 'DAHDI/pseudo-386278401'
== Spawn extension (macro-tl-dialconference-prompted, s, 44) exited non-zero on 'DAHDI/1-1' in macro 'tl-dialconference-prompted'
== Spawn extension (feature-extensions-Acme, 603, 1) exited non-zero on 'DAHDI/1-1'