Summary:ASTERISK-00958: cannot record both sides of conversaion in meetme
Reporter:Matt Florell (mflorell)Labels:
Date Opened:2004-01-30 17:43:36.000-0600Date Closed:2011-06-07 14:10:27
Versions:Frequency of
Description:I am unable to record both the in and out of a Zap channel that is in a meetme room when the other caller that is in the room is a SIP connection, but when the Sip connection is connected directly to the Zap channel outside of meetme I am always able to record both in and out streams
Comments:By: Brian West (bkw918) 2004-02-02 01:01:51.000-0600

Post your configs so we can see how you are going about this.

By: Matt Florell (mflorell) 2004-02-02 05:50:02.000-0600

OK here's the setup of the machine:
- P4 2.6GHz with HT / 2GB RAM / SCSI RAID
- 3com network card
- Digium T400P with 3 T1s connected(all E&M wink)
- Asterisk CVS 2004-01-13

Here is how the meetme room is initiated:
- call is placed through manager API to a SIP hardphone that goes into the meetme room.
- call is placed through the manager API from the meetme room out through a T1 on the Zap device
- if recording is initiated from the manager API(Monitor action) :

At this point only the "in" stream is actually recording, the "out" stream file sits there at 44 bytes and never gets any larger. So you are only able to record the audio that is coming in on the Zap channel, not anything that is going out on it.

I have been able to record for months with a simple direct SIP -> Zap call and get both sides of the conversation. But we want to be able to record the audio of a meetme conversation and we want to be able to do that at-will and not have to record every one as well.

After thinking about this problem, is it more of a Zaptel issue instead of a meetme issue?

edited on: 02-02-04 12:13

By: Matt Florell (mflorell) 2004-02-02 12:55:38.000-0600

I've done some more testing on this:
- a Zaptel-only conference still has the same problem, only the "in" stream on the channel you are recording is properly recorded
- It makes no difference how many channels are in the conference or if you are recording more than one of them only the "in" streams record for each channel
- I have been able to replicate this on one other Asterisk machine running a newer CVS.

If you need any more information on my configuration or the process by which I initiate the calls or the recording please let me know.

By: Brian West (bkw918) 2004-02-02 13:14:34.000-0600

post me your configs so I can see how you are going about recording this.

By: Matt Florell (mflorell) 2004-02-02 13:30:10.000-0600

The way that I go about recording actually doesn't have much to do with configs because I am using the manager interface not a config setting to initiate the recording. Here is the Action call I send to the manager interface after all parties have already entered the meetme room:

Action: Monitor
Channel: Zap/49-1
File: 20040128-184841_cc160

It does initiate recording and it always records both the in and out streams in all other occasions other than in a meetme conference.

here is the extensions.conf entry for the meetme room:
exten => 8600051,1,Meetme,8600051

here is the meetme.conf entry for the meetme room:
conf => 8600051

Is an Asterisk-Manager-interface Monitor Action not possible with a meetme room?

Do I have to initiate recording at the inititation of a meetme room to have in and out recording work?

Please let me know which specific information you need if you need any more.

By: Brian West (bkw918) 2004-02-03 19:10:40.000-0600

Try doing something with chan_local.  You can't monitor like you are doing with the zap channel (not possible at this time) but you can use the local channel to say drop into the conf in some way to record the call and it should work. I was like hrm.... when kram told me this.

By: Matt Florell (mflorell) 2004-02-04 16:05:12.000-0600

That did it. I always though you had to have a Zap channel open to record, but I was happily wrong. Here's how I got meetme recording-on-demand to work:

added the following lines to extensions.conf:
; start monitoring(recording) extension
exten => 8309,1,Answer
exten => 8309,2,Monitor(wav,${CALLERIDNUM})
exten => 8309,3,Wait,3600
exten => 8309,4,Hangup

NOTE: I use the callerID value to send my filename for the recording.
NOTE2: The Wait setting to 3600 means that the meetme room will be recorded for one hour if it is not stopped before then.

Then I send a manager command to start the recording:
Action: Originate
Channel: Local/1234@demo   # this is the meetme room extension
Context: default
Exten: 8309
Priority: 1
Callerid: 20040204-163443_cc111   # this is the recording filename

When I want to end the recording I simply send a manager action to hangup the local channel of the recording extension:
Action: Hangup
Channel: Local/1234@demo-b640,2

It works wonderfully.

Thanks for the suggestion!

By: Brian West (bkw918) 2004-02-04 17:14:01.000-0600

I will get oej to add this to the wiki