hmmm ok indeed. small mods to js files to just play a loooong tone_stream full of ringy noises and then stop them in the on answer and I have what I wanted. Thank you very very much for all your help. On Tue, Feb 03, 2009 at 04:16:21PM +0200, Sias Mey wrote:
Hmm ok ... Ill try that In my head though the api call to originate shouldent block? but I assume since it does my head is wrong.
Thanks you for the explanation. I think you can put this one to bed now :-P
On Tue, Feb 03, 2009 at 07:54:29AM -0600, Anthony Minessale wrote:
There is a file format called tone_stream that I was trying to explain yesterday. tone_stream://<teletone spec> or tone_stream://path=/path/to/text_file.ttml you can use this to play tones anywhere a filename is supposed to go. I guess loopback really is your only option if you must generate ringback. Typically, whatever gateway you are calling out over will go into early media and start playing the real ringback. You should not execute any apps during the on_ring_execute that block, (playing audio etc) Media has not even been established at that point and you have nobody to play the audio to anyway, But you will block from that point until the application you chose has ended so you should only execute small apps that return immediately such as setting a variable etc. As for ringback I think you have the whole thing reversed in your head. the ringback vars etc only apply to the origination (a) leg of a call. If you make an inbound call set the ringback variable and then call bridge, the ringback var is parsed on that inbound leg and the dialout process of the bridge app involves 2 channels the A leg and the B leg. When the B leg gets a ring indication and the A leg detects it, it will begin to play the ringback sound you chose back to the originator of that inbound leg. In the conference or using originate situation, you are doing an outbound call with no relevant inbound call, so there is nothing to generate ringback to. That's why loopback works because it cross connects an outbound call back to an inbound call which gives the bridge app everything it needs to be able to generate artificial ringback.
On Tue, Feb 3, 2009 at 2:25 AM, Sias Mey <[1]sias@cpdata.co.za> wrote:
Hmmm no MOH wont work... since I am planning on pulling more than just 2 members into the conference and I still need ringback for the later members as well. Is there a direct way for me to use conference <number> play <audiofile> to play teletone directly? or should I just records some ringing if I want to use that? And lastly for my own sanity ;-) why would the following in a on_ring_execute stop execution of the call at that point? call = argv[1]; conf = argv[2]; consoleLog("info","Making ringback channel for uuid : "+ session.uuid +"\n"); var ringuuid = apiExecute("originate","loopback/ringback-conf="+ conf +"-conf &park()") //I tried with and without a exit() at the end It seems to stop media detection??(not really sure about the term) for the call that executes this script. Freeswitch doesent recognize the pickup of that call and thus it doesent get bridged into the conference. when I uuid_kill the call that gets originated everything else starts happening again. Oh Im running this in FS ver. 1.0.trunk (11226:11561M) and that loopback points to <extension name="ringback"> <condition field="destination_number" expression="^ringback-conf=(.*)$"> <action application="javascript" data="ringback.js $1"/> </condition> </extension> and ringback.js is use("TeleTone"); session.answer(); var tts = new TeleTone(session); tts.addTone("u", 400.0, 450.0, 0.0); tts.addTone("r", 440.0, 480.0, 0.0); var RESET = "v=2000;>=0;+=0;"; var UK_RING = RESET + "L=2;u(400,200);u(400,2200)"; var US_RING = RESET + "r(2000,4000)"; while(session.ready()) { console_log("making UK ring\n"); for (x = 0 ; x < 2 ; x++) { tts.generate(UK_RING); } } A slight bastardisation of the teletone JS example. I would expected the new channel that is created via a api originate to be completely seperate from the JS I create it in. (thats why I use api instead of creating a new session, although I should probably try that as well). I use some CoreDB stuff to keep tabs on the uuid for the originated call so that I can uuid_kill it in the on_answer_script but as mentioned... the on_answer only executes after I uuid_kill the originated channel in the cli... Thanks again guys, Specially since it seems you two are always the ones that get back to me.
On Tue, Feb 03, 2009 at 09:22:21AM +0200, Sias Mey wrote:
Actually loopback does work. however as I said it generates a pair of extra channels.
Hmmm I was trying to generate and extra call to a JS script that generated a teletone ring in an on_ring_execute for the second call however it seems to stop execution of the call itself. Event though I use api commands to originate and then transfer it into the conference so that I have direct access to its uuid.
I think changeing the moh might be a bit simpler however and elimite some CoreDB stuff I was doing to keep track of the calls ring generating call (what a sentance).
On Mon, Feb 02, 2009 at 08:01:25AM -0600, Anthony Minessale wrote:
you could set the conference moh sound to be tone_stream::// with the teletone spec for ring sound and it use ignore_early_media=true in your originates so the first caller would hear ringback until the 2nd one arrived.
On Mon, Feb 2, 2009 at 4:29 AM, Brian West <[1][2]brian@freeswitch.org> wrote:
Loopback will not work in that case either. If the far end plays ringback inband you should hear that if you use the conference dial api call. /b
On Feb 2, 2009, at 4:24 AM, Sias Mey wrote:
Aaah ok.
Thanks for clearing that up.
So using loopback is still the only real workable sollution for me, since that generates ringback from and alternative endpoint and plays it into the conference.
I might play with some javascript that streams ring into the channel eventually but for now the string comparisons at least get me the right uuid.
Thank you again, Sias
_______________________________________________ Freeswitch-users mailing list [2][3]Freeswitch-users@lists.freeswitch.org
[3][4]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:[4][5]http://lists.freeswitch.org/mailman/options/freeswitc h-u
sers [5][6]http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH [6][7]http://www.freeswitch.org/ ClueCon [7][8]http://www.cluecon.com/ AIM: anthm [8][9]MSN:anthony_minessale@hotmail.com GTALK/JABBER/[9][10]PAYPAL:anthony.minessale@gmail.com IRC: [10][11]irc.freenode.net #freeswitch FreeSWITCH Developer Conference [11][12]sip:888@conference.freeswitch.org [12][13]iax:guest@conference.freeswitch.org/888 [13][14]googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400
References
1. mailto:[15]brian@freeswitch.org 2. mailto:[16]Freeswitch-users@lists.freeswitch.org 3. [17]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 4. [18]http://lists.freeswitch.org/mailman/options/freeswitch-users 5. [19]http://www.freeswitch.org/ 6. [20]http://www.freeswitch.org/ 7. [21]http://www.cluecon.com/ 8. mailto:[22]MSN%3Aanthony_minessale@hotmail.com 9. mailto:[23]PAYPAL%3Aanthony.minessale@gmail.com 10. [24]http://irc.freenode.net/ 11. mailto:[25]sip%3A888@conference.freeswitch.org 12. [26]http://iax:guest@conference.freeswitch.org/888 13. mailto:[27]googletalk%3Aconf%2B888@conference.freeswitch.org
_______________________________________________ Freeswitch-users mailing list [28]Freeswitch-users@lists.freeswitch.org [29]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:[30]http://lists.freeswitch.org/mailman/options/freeswitch- users
_______________________________________________ Freeswitch-users mailing list [32]Freeswitch-users@lists.freeswitch.org [33]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:[34]http://lists.freeswitch.org/mailman/options/freeswitch- users
Freeswitch-users mailing list [36]Freeswitch-users@lists.freeswitch.org [37]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:[38]http://lists.freeswitch.org/mailman/options/freeswitch- users [39]http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH [40]http://www.freeswitch.org/ ClueCon [41]http://www.cluecon.com/ AIM: anthm [42]MSN:anthony_minessale@hotmail.com GTALK/JABBER/[43]PAYPAL:anthony.minessale@gmail.com IRC: [44]irc.freenode.net #freeswitch FreeSWITCH Developer Conference [45]sip:888@conference.freeswitch.org [46]iax:guest@conference.freeswitch.org/888 [47]googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400
References
1. mailto:sias@cpdata.co.za 2. mailto:brian@freeswitch.org 3. mailto:Freeswitch-users@lists.freeswitch.org 4. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 5. http://lists.freeswitch.org/mailman/options/freeswitch-u 6. http://www.freeswitch.org/ 7. http://www.freeswitch.org/ 8. http://www.cluecon.com/ 9. mailto:MSN%3Aanthony_minessale@hotmail.com 10. mailto:PAYPAL%3Aanthony.minessale@gmail.com 11. http://irc.freenode.net/ 12. mailto:sip%3A888@conference.freeswitch.org 13. http://iax:guest@conference.freeswitch.org/888 14. mailto:googletalk%3Aconf%2B888@conference.freeswitch.org 15. mailto:brian@freeswitch.org 16. mailto:Freeswitch-users@lists.freeswitch.org 17. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 18. http://lists.freeswitch.org/mailman/options/freeswitch-users 19. http://www.freeswitch.org/ 20. http://www.freeswitch.org/ 21. http://www.cluecon.com/ 22. mailto:MSN%253Aanthony_minessale@hotmail.com 23. mailto:PAYPAL%253Aanthony.minessale@gmail.com 24. http://irc.freenode.net/ 25. mailto:sip%253A888@conference.freeswitch.org 26. http://iax:guest@conference.freeswitch.org/888 27. mailto:googletalk%253Aconf%252B888@conference.freeswitch.org 28. mailto:Freeswitch-users@lists.freeswitch.org 29. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 30. http://lists.freeswitch.org/mailman/options/freeswitch-users 31. http://www.freeswitch.org/ 32. mailto:Freeswitch-users@lists.freeswitch.org 33. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 34. http://lists.freeswitch.org/mailman/options/freeswitch-users 35. http://www.freeswitch.org/ 36. mailto:Freeswitch-users@lists.freeswitch.org 37. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 38. http://lists.freeswitch.org/mailman/options/freeswitch-users 39. http://www.freeswitch.org/ 40. http://www.freeswitch.org/ 41. http://www.cluecon.com/ 42. mailto:MSN%3Aanthony_minessale@hotmail.com 43. mailto:PAYPAL%3Aanthony.minessale@gmail.com 44. http://irc.freenode.net/ 45. mailto:sip%3A888@conference.freeswitch.org 46. http://iax:guest@conference.freeswitch.org/888 47. mailto:googletalk%3Aconf%2B888@conference.freeswitch.org
_______________________________________________ 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
_______________________________________________ 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