Hi All, I'm currently using a browser (chrome) to make calls via webrtc to freeswitch (1.5.15b+git~20141219T193610Z~35cb0ad286~64bit). However, I am experiencing delays when hearing our initial prompting message. I'd like to hook onto some event that lets me know that all of session.streamFile() will be heard and not cut off. We have a dial plan, and in that dial plan (js file) we do this sequence of events... (psuedo code) if(session.ready()) session.answer() ...some reading of headers... session.streamFile("Our welcome prompt", func return true) On the client side I can watch the logs and notice that I hear media as soon as this log comes through: | jssip.rtcsession.rtcmediahandler | ICE connection state changed to "connected" However, this can be a second or two behind the streamFile call in the dial-plan. What I would like to be able to do is hook into the ICE state change in the dial-plan file and wait until I get it to start streaming the file. I have tried playing around with some of the methods found here: https://wiki.freeswitch.org/wiki/Session, namely session.mediaReady, session.waitForMedia, and checking the session.state to see if any of them change when I get the ice state message client side to no avail. Is there a way to accomplish this (Listening for ICE state changes in a dial plan)?
First you should try updating to latest master. Basically if you are doing webrtc development you need to constantly update to keep up with the moving target. If you still notice its clipping a bit you can set the global variable answer_delay=2500 in vars.xml to pad the beginning of the call. There is not hooks for dialplan to know about ice, its abstract. however in newer versions the act of answering the call will cause the core to read constantly until at least the ice is negotiated. This is more of a side-effect of not caring about normal telephony expectations on the part of the webrtc implementors than anything else. Its an inherent side-effect of ice and dtls to cause call setup errors. On Thu, Jan 15, 2015 at 2:36 PM, Robert Smallwood <rdsmallwood928@gmail.com> wrote:
Hi All,
I'm currently using a browser (chrome) to make calls via webrtc to freeswitch (1.5.15b+git~20141219T193610Z~35cb0ad286~64bit). However, I am experiencing delays when hearing our initial prompting message. I'd like to hook onto some event that lets me know that all of session.streamFile() will be heard and not cut off.
We have a dial plan, and in that dial plan (js file) we do this sequence of events... (psuedo code)
if(session.ready()) session.answer() ...some reading of headers... session.streamFile("Our welcome prompt", func return true)
On the client side I can watch the logs and notice that I hear media as soon as this log comes through:
| jssip.rtcsession.rtcmediahandler | ICE connection state changed to "connected"
However, this can be a second or two behind the streamFile call in the dial-plan.
What I would like to be able to do is hook into the ICE state change in the dial-plan file and wait until I get it to start streaming the file.
I have tried playing around with some of the methods found here: https://wiki.freeswitch.org/wiki/Session, namely session.mediaReady, session.waitForMedia, and checking the session.state to see if any of them change when I get the ice state message client side to no avail.
Is there a way to accomplish this (Listening for ICE state changes in a dial plan)?
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II ♬ @anthmfs ♬ @FreeSWITCH ♬ ☞ http://freeswitch.org/ ☞ http://cluecon.com/ ☞ http://twitter.com/FreeSWITCH ☞ irc.freenode.net #freeswitch ☞ *http://freeswitch.org/g+ <http://freeswitch.org/g+>* ClueCon Weekly Development Call ☎ sip:888@conference.freeswitch.org ☎ +19193869900
participants (2)
-
Anthony Minessale
-
Robert Smallwood