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