[Freeswitch-users] Application playback Requires media! ???

Birgit Arkesteijn birgit at westhawk.co.uk
Wed Sep 3 06:03:44 PDT 2008


Hi all,

We've developed an application internally using version 498:8901.
After deploying on the clients' system (using version 9288), playback 
doesn't work any more and the call is bridged straight away.


*** I notice the following error in freeswitch.log:
2008-09-03 05:35:00 [DEBUG] switch_core_state_machine.c:140
switch_core_standard_on_execute() sofia/external/18288363200 at jnctn.net 
Execute playback(westhawk/Jingle.wav)

2008-09-03 05:35:00 [DEBUG] switch_core_session.c:1049
switch_core_session_execute_application() Application playback Requires 
media! pre_anyswering channel sofia/external/18288363200 at jnctn.net


*** The dialplan:
<document type="freeswitch/xml">
   <section name="dialplan" description="FreeSwitch dialplan">
     <context name="default">
       <extension name="westhawk">
         <condition field="destination_number" expression="^8007788821$">
           <action application="set" data="call_id=63"/>
           <action application="playback" data="westhawk/Jingle.wav"/>
           <action application="bridge" 
data="sofia/gateway/westhawk/16262435322"/>
         </condition>
       </extension>
     </context>
   </section>
</document>


I searched for the error message, but couldn't find anything.
The wav file exists.
Playback works on our internal system.
On our internal system (Suse 10.0, x86_64 GNU/Linux), calls come in via 
Asterisk over SIP.
On the clients' system (Suse 10 enterprise, i386 GNU/Linux ), calls come 
in via JunctionNetworks over SIP.

I have two other scenarios where playback and bridging is done in 
javascript. This still works, see:
<js>
var bridge = null;
var play_jingle = null;
var recordfile = null;

function dummy(session, type, data, arg)
{
}

if (session.ready())
{
     bridge = argv[0];
     play_jingle = argv[1];
     recordfile = argv[2];

     session.answer();

     // start recording
     session.execute("record_session", recordfile)

     if (play_jingle == "true")
     {
         // play 'general' jingle
         session.streamFile("westhawk/Jingle.wav", dummy);
     }
     // play 'record' jingle
     session.streamFile("westhawk/call_recording_tag.wav", dummy);

     // bridge the call to the merchant
     session.execute("bridge", bridge);

     // hangs up and closes session
     exit();
}
</js>

(Oh, before any one asks or if interested, this js was created because I 
couldn't get recording working for the b-leg by using a dialplan without 
js. It only recorded the incoming leg, but recorded silence after bridging.)


Does anyone know what the "Application playback Requires media!" error 
message means and how to fix this problem so playback works?

Thanks, Birgit

-- 
-- Birgit Arkesteijn, birgit at westhawk.co.uk,
-- Westhawk Ltd, Albion Wharf, 19 Albion Street, Manchester M1 5LN, UK
-- Company no: 1769350
-- Registered Office:
-- 15 London Road, Stockton Heath, Warrington WA4 6SJ. UK.
-- tel.: +44 (0)161 237 0660
-- <URL: http://www.westhawk.co.uk>




More information about the FreeSWITCH-users mailing list