Application playback Requires media! ???
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@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@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@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>
Can you describe a bit more about the recording issue? Playback does require media so it pre_answers the channel (ie starts early media). Its not an error its a DEBUG notice that lets you know "Hey you're trying to play a file so for that to work we have to pre-answer the channel otherwise this won't work". Can you show me an example of how you used the record_session and only recorded one side of the call? /b On Sep 3, 2008, at 8:03 AM, Birgit Arkesteijn wrote:
Does anyone know what the "Application playback Requires media!" error message means and how to fix this problem so playback works?
Brian West sip:brian@freeswitch.org
Hi Brian, Thanks for your help. I'll get back to you about the recording issue later, thanks. My immediate problem is that I don't hear the playback. I only hear ringing until the answerphone of the person on the other side of the bridge answers. I'll include more of the log file, maybe that gives you a clue. The jingle is about 4-5 seconds long. 2008-09-03 05:35:00 [DEBUG] switch_core_state_machine.c:140 switch_core_standard_on_execute() sofia/external/18288363200@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@jnctn.net 2008-09-03 05:35:00 [INFO] mod_sofia.c:1085 sofia_receive_message() Asked to send early media by sofia/external/18288363200@jnctn.net 2008-09-03 05:35:00 [DEBUG] sofia_glue.c:487 sofia_glue_ext_address_lookup() Stun Success [67.151.193.214]:[19398] 2008-09-03 05:35:00 [DEBUG] sofia_glue.c:491 sofia_glue_ext_address_lookup() Stun Not Required ip and port match. [67.151.193.214]:[19398] 2008-09-03 05:35:00 [DEBUG] sofia_glue.c:1756 sofia_glue_activate_rtp() AUDIO RTP [sofia/external/18288363200@jnctn.net] 67.151.193.214 port 19398 -> 66.227.100.223 port 13738 codec: 0 ms: 20 2008-09-03 05:35:00 [DEBUG] switch_rtp.c:813 switch_rtp_create() Starting timer [soft] 160 bytes per 20000ms 2008-09-03 05:35:00 [INFO] mod_sofia.c:1126 sofia_receive_message() Ring SDP: v=0 o=FreeSWITCH 1220425902 1220425903 IN IP4 67.151.193.214 s=FreeSWITCH c=IN IP4 67.151.193.214 t=0 0 a=sendrecv m=audio 19398 RTP/AVP 0 101 13 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=rtpmap:13 CN/8000 a=ptime:20 2008-09-03 05:35:00 [NOTICE] switch_channel.c:1410 switch_channel_perform_mark_pre_answered() Ring-Ready sofia/external/18288363200@jnctn.net! 2008-09-03 05:35:00 [NOTICE] mod_sofia.c:1129 sofia_receive_message() Pre-Answer sofia/external/18288363200@jnctn.net! 2008-09-03 05:35:00 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/external/18288363200@jnctn.net [BREAK] 2008-09-03 05:35:00 [DEBUG] switch_ivr_play_say.c:917 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms 2008-09-03 05:35:00 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/external/18288363200@jnctn.net [BREAK] 2008-09-03 05:35:00 [DEBUG] sofia.c:200 sofia_event_callback() event [nua_i_state] status [183][Session Progress] session: sofia/external/18288363200@jnctn.net 2008-09-03 05:35:00 [DEBUG] sofia.c:2148 sofia_handle_sip_i_state() Channel sofia/external/18288363200@jnctn.net entering state [early] 2008-09-03 05:35:04 [DEBUG] switch_ivr_play_say.c:1207 switch_ivr_play_file() done playing file 2008-09-03 05:35:04 [DEBUG] switch_core_state_machine.c:140 switch_core_standard_on_execute() sofia/external/18288363200@jnctn.net Execute bridge(sofia/gateway/westhawk/16262435322) Thanks, Birgit On 03/09/08 15:18, Brian West wrote:
Can you describe a bit more about the recording issue? Playback does require media so it pre_answers the channel (ie starts early media). Its not an error its a DEBUG notice that lets you know "Hey you're trying to play a file so for that to work we have to pre-answer the channel otherwise this won't work".
Can you show me an example of how you used the record_session and only recorded one side of the call?
/b
On Sep 3, 2008, at 8:03 AM, Birgit Arkesteijn wrote:
Does anyone know what the "Application playback Requires media!" error message means and how to fix this problem so playback works?
Brian West sip:brian@freeswitch.org
-- -- Birgit Arkesteijn, birgit@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>
How about you put a "ring_ready" before the playback. /b On Sep 3, 2008, at 10:41 AM, Birgit Arkesteijn wrote:
Hi Brian,
Thanks for your help. I'll get back to you about the recording issue later, thanks.
My immediate problem is that I don't hear the playback. I only hear ringing until the answerphone of the person on the other side of the bridge answers.
I'll include more of the log file, maybe that gives you a clue. The jingle is about 4-5 seconds long.
Brian West sip:brian@freeswitch.org
Hi Brian, Thanks for your answer. Page http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_ring_ready doesn't really tell me very much about what <action application="ring_ready" /> does. Does this "just" stop the ringing? Do I need by any change to "answer" the call as well before I do playback? So: ring_ready answer playback bridge ? That's what I do in javascript ( session.answer(); ). Thanks, Birgit On 03/09/08 16:47, Brian West wrote:
How about you put a "ring_ready" before the playback.
/b
On Sep 3, 2008, at 10:41 AM, Birgit Arkesteijn wrote:
Hi Brian,
My immediate problem is that I don't hear the playback. I only hear ringing until the answerphone of the person on the other side of the bridge answers.
participants (2)
-
Birgit Arkesteijn
-
Brian West