After sending this email, I finally
figured it out.
I will send a new post after I get things
cleaned up and share the code so others can use it later.
From:
freeswitch-dev-bounces@lists.freeswitch.org
[mailto:freeswitch-dev-bounces@lists.freeswitch.org] On Behalf Of Gledhill, James
Sent: Monday, February 20, 2012
11:05 AM
To:
freeswitch-dev@lists.freeswitch.org
Subject: [Freeswitch-dev]
conference play / stop / PAUSE/RESUME
I have been trying to do the same thing as was asked in an
earlier question, but it was asked 10 months ago and I did not want to use the
same thread, as it went a different direction than my question. I understood
the concept of the answer, but I am not quite sure how to implement it.
I would like to make a call to another person (via FS), be
able to record parts of the call, and then play it back to both participants
– being able to use the features of uuid_fileman (pause, seek +/-, etc),
then record another part of the conversation, playback, etc.
From other searches, it was made clear that this had to be
done with a conference call.
===== From the previous thread Apr 18, 2011; 11:30am Re:
conference play / stop / PAUSE/RESUME ====
Anthony Minessale II – wrote
if you need this level of granularity, I suggest instead of
the
conference play stuff that is built in, that you use the
originate
command to call a new channel into the conference to play
the file
then use the uuid_fileman api command to manipulate the
playback.
On Sat, Apr 16, 2011 at 1:33 PM, Dale Trub <[hidden
email]> wrote:
> We let the conference host play a file to the
conference and want to give
> them a control to "pause" such a file, and
then resume it.
> Has anyone found a way to do this?
> Would someone create something like that for a modest
bounty? We could
> incorp in the code we use, as well as submit to the
project overall.
> -Dale
======= End Previous thread quoted =========
Does anyone have an example of this? I would like to
implement it is either dailplan or LUA, but Javascript or anything else would
be good examples.
I have tried a number of different ways and have not gotten
it to work.
n I may not be
doing “use the originate command to call a new channel into the
conference to play the file” properly. Suggestion on this?
One thing I tried was in LUA. Session1 is the original
call-ER, Session2 is the call-ED party – both sessions are (1&2) are
uuid_transer-ed to a conference bridge.
n api:execute("uuid_transfer",
session1:get_uuid() .. " conf_11_111 XML callRecPlayback" );
n api:execute("uuid_transfer",
session2:get_uuid() .. " conf_11_111 XML callRecPlayback" );
n
n session3
= freeswitch.Session("loopback/conf_11_111/callRecPlayback/XML");
n session3:setAutoHangup(false);
n freeswitch.consoleLog("info","\n\n
SEssion 3 == ".. session3:get_uuid() .." \n\n");
n
n session:execute("bind_digit_action",
"cool,444,api:uuid_broadcast," .. session3:get_uuid() .. "
ivr/ivr-welcome_to_freeswitch.wav both");
The bind_digit_action works and calls the api, but fs_cli
reports CHANNEL_KILL on the loopback channel, and I do not hear anything
2012-02-20 10:19:09.381934 [DEBUG] switch_rtp.c:3405 RTP
RECV DTMF 4:640
2012-02-20 10:19:09.681942 [DEBUG] switch_rtp.c:3405 RTP
RECV DTMF 4:640
2012-02-20 10:19:09.981952 [DEBUG] switch_rtp.c:3405 RTP
RECV DTMF 4:1120
2012-02-20 10:19:09.981952 [DEBUG] mod_dptools.c:185
sofia/callRecPlayback/1004@172.30.110.112:5083 Digit match binding
[api:uuid_broadcast][8d48d97a-5c74-4104-bc66-e424a9a1d155 ivr/ivr-welcome_to_freeswitch.wav
both]
2012-02-20 10:19:09.981952 [DEBUG]
switch_core_session.c:1012 Send signal loopback/conf_11_111-a [BREAK]
2012-02-20 10:19:09.981952 [DEBUG] mod_loopback.c:475
loopback/conf_11_111-a CHANNEL KILL
2012-02-20 10:19:09.981952 [DEBUG] mod_dptools.c:244
sofia/callRecPlayback/1004@172.30.110.112:5083 Digit match binding
[api:uuid_broadcast][8d48d97a-5c74-4104-bc66-e424a9a1d155
ivr/ivr-welcome_to_freeswitch.wav both] api executed, +OK Message Sent