Conference dialing and uuid
Hi, Im trying to build a web based conference control system. Got most of it sorted with some help from the list but I seem to have run into some strangeness. I use a conference dial call to pull extra users into the conference. I couldent find a way of setting channel variables or executing javascript directly on the conference dial since it expects and endpoint and the {} syntax produced an error. So now I am using the Loopback inteface to register some values. One of the functions these script fullfill is to register the uuid of the new channel in the database, however after thinking for a while all of this is working fine upon further testing I found that going through loopback generated 3 channels. I was saving the uuid of the a leg of the call to loopback into the database. However to manipulate the call in the conference I need the uuid of the leg bridgeing to the conference. I have tried some queries against the core database in via javascript however there seems to be some delay as to when the needed leg gets inserted into the channels table. I have tried with execute_on_ring and execute_on_answer. But I suspect that the call only gets added after it is actually answered. Is there some way for me to find the uuid of this call? I can use api calls via conference list to find all the calls in the conference, however if two people get added to the same conference in rapid succesion it will be quite circumstantial as to which one is which since I dont have a way of directly relating the call back to the channels that originally spawned it without a lot of costly text comparisons. Any help from someone who understands this beter than I do will be greatly appreciated. Thanks in advance, Sias
What wasn't working about this? The {} can be used everywhere without a problem... Maybe you can provide more details on this. /b On Jan 30, 2009, at 4:39 AM, Sias Mey wrote:
I couldent find a way of setting channel variables or executing javascript directly on the conference dial since it expects and endpoint and the {} syntax produced an error. So now I am using the Loopback inteface to register some values.
Hi Brian, Hmmm Ill do some more testing on it later. But I got a destination out of order when I tried. Right now Im busy implementing the string checking. Which seems like it will work out ok, but is clearly not ideal. Thanks for the replay On Fri, Jan 30, 2009 at 04:45:54AM -0600, Brian West wrote:
What wasn't working about this? The {} can be used everywhere without a problem... Maybe you can provide more details on this.
/b
On Jan 30, 2009, at 4:39 AM, Sias Mey wrote:
I couldent find a way of setting channel variables or executing javascript directly on the conference dial since it expects and endpoint and the {} syntax produced an error. So now I am using the Loopback inteface to register some values.
_______________________________________________ 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
you should be able to use {} in the dial command you also should be able to do originate {...}sofia/profile/user@domain.comconference:<conf_name>@<profile_name> inline to the api interface On Fri, Jan 30, 2009 at 7:33 AM, Sias Mey <sias@cpdata.co.za> wrote:
Hi Brian,
Hmmm Ill do some more testing on it later. But I got a destination out of order when I tried. Right now Im busy implementing the string checking. Which seems like it will work out ok, but is clearly not ideal.
Thanks for the replay
On Fri, Jan 30, 2009 at 04:45:54AM -0600, Brian West wrote:
What wasn't working about this? The {} can be used everywhere without a problem... Maybe you can provide more details on this.
/b
On Jan 30, 2009, at 4:39 AM, Sias Mey wrote:
I couldent find a way of setting channel variables or executing javascript directly on the conference dial since it expects and endpoint and the {} syntax produced an error. So now I am using the Loopback inteface to register some values.
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Yes ... yes indeed I can. That works quite a bit better than generating 4 channels and getting massively confused with what uuid does what... but now im stuck without ringback again :-(. In my conference dial string I send: {ringback=\'%(400,200,400,450)\',transfer_ringback=\'%(400,200,400,450)\', .... }sofia/internal/1001@xxx.xxx.xxx.xxx A dump of all the channel variables shows ringback is set to <ringback>%25(400,200,400,450)%3B%25(400,2200,400,450)</ringback> <transfer_ringback>%25(400,200,400,450)%3B%25(400,2200,400,450)</transfer_ringback> This seems ok to me but I still dont get any ringback. Thanks again for answering all the anoying questions from the same guy :-P, Sias On Fri, Jan 30, 2009 at 08:05:07AM -0600, Anthony Minessale wrote:
you should be able to use {} in the dial command you also should be able to do originate {...}sofia/profile/[1]user@domain.com conference:<conf_name>@<profile_name> inline to the api interface
On Fri, Jan 30, 2009 at 7:33 AM, Sias Mey <[2]sias@cpdata.co.za> wrote:
Hi Brian, Hmmm Ill do some more testing on it later. But I got a destination out of order when I tried. Right now Im busy implementing the string checking. Which seems like it will work out ok, but is clearly not ideal. Thanks for the replay
On Fri, Jan 30, 2009 at 04:45:54AM -0600, Brian West wrote:
What wasn't working about this? The {} can be used everywhere without a problem... Maybe you can provide more details on this.
/b
On Jan 30, 2009, at 4:39 AM, Sias Mey wrote:
I couldent find a way of setting channel variables or executing javascript directly on the conference dial since it expects and endpoint and the {} syntax produced an error. So now I am using the Loopback inteface to register some values.
_______________________________________________ Freeswitch-users mailing list [3]Freeswitch-users@lists.freeswitch.org [4]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:[5]http://lists.freeswitch.org/mailman/options/freeswitch-u sers
Freeswitch-users mailing list [7]Freeswitch-users@lists.freeswitch.org [8]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:[9]http://lists.freeswitch.org/mailman/options/freeswitch-u sers [10]http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH [11]http://www.freeswitch.org/ ClueCon [12]http://www.cluecon.com/ AIM: anthm [13]MSN:anthony_minessale@hotmail.com GTALK/JABBER/[14]PAYPAL:anthony.minessale@gmail.com IRC: [15]irc.freenode.net #freeswitch FreeSWITCH Developer Conference [16]sip:888@conference.freeswitch.org [17]iax:guest@conference.freeswitch.org/888 [18]googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400
References
1. mailto:user@domain.com 2. mailto:sias@cpdata.co.za 3. mailto:Freeswitch-users@lists.freeswitch.org 4. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 5. http://lists.freeswitch.org/mailman/options/freeswitch-users 6. http://www.freeswitch.org/ 7. mailto:Freeswitch-users@lists.freeswitch.org 8. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 9. http://lists.freeswitch.org/mailman/options/freeswitch-users 10. http://www.freeswitch.org/ 11. http://www.freeswitch.org/ 12. http://www.cluecon.com/ 13. mailto:MSN%3Aanthony_minessale@hotmail.com 14. mailto:PAYPAL%3Aanthony.minessale@gmail.com 15. http://irc.freenode.net/ 16. mailto:sip%3A888@conference.freeswitch.org 17. http://iax:guest@conference.freeswitch.org/888 18. 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
You can't get ringback dialing out from a conference its not possible as it is now. /b On Feb 2, 2009, at 2:51 AM, Sias Mey wrote:
Yes ... yes indeed I can.
That works quite a bit better than generating 4 channels and getting massively confused with what uuid does what... but now im stuck without ringback again :-(.
In my conference dial string I send: {ringback=\'%(400,200,400,450)\',transfer_ringback= \'%(400,200,400,450)\', .... }sofia/internal/1001@xxx.xxx.xxx.xxx
A dump of all the channel variables shows ringback is set to
<ringback>%25(400,200,400,450)%3B%25(400,2200,400,450)</ringback> <transfer_ringback>%25(400,200,400,450)%3B%25(400,2200,400,450)</ transfer_ringback>
This seems ok to me but I still dont get any ringback.
Thanks again for answering all the anoying questions from the same guy :-P, Sias
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 On Mon, Feb 02, 2009 at 02:55:42AM -0600, Brian West wrote:
You can't get ringback dialing out from a conference its not possible as it is now.
/b
On Feb 2, 2009, at 2:51 AM, Sias Mey wrote:
Yes ... yes indeed I can. That works quite a bit better than generating 4 channels and getting massively confused with what uuid does what... but now im stuck without ringback again :-(. In my conference dial string I send: {ringback=\'%(400,200,400,450)\',transfer_ringback=\'%(400,200,400,4 50)\', .... [1]}sofia/internal/1001@xxx.xxx.xxx.xxx A dump of all the channel variables shows ringback is set to <ringback>%25(400,200,400,450)%3B%25(400,2200,400,450)</ringback> <transfer_ringback>%25(400,200,400,450)%3B%25(400,2200,400,450)</ transfer_ringback> This seems ok to me but I still dont get any ringback. Thanks again for answering all the anoying questions from the same guy :-P, Sias
References
1. mailto:}sofia/internal/1001@xxx.xxx.xxx.xxx
_______________________________________________ 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
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
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 <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 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 FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
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]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]Freeswitch-users@lists.freeswitch.org [3]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:[4]http://lists.freeswitch.org/mailman/options/freeswitch-u sers [5]http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH [6]http://www.freeswitch.org/ ClueCon [7]http://www.cluecon.com/ AIM: anthm [8]MSN:anthony_minessale@hotmail.com GTALK/JABBER/[9]PAYPAL:anthony.minessale@gmail.com IRC: [10]irc.freenode.net #freeswitch FreeSWITCH Developer Conference [11]sip:888@conference.freeswitch.org [12]iax:guest@conference.freeswitch.org/888 [13]googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400
References
1. mailto:brian@freeswitch.org 2. mailto:Freeswitch-users@lists.freeswitch.org 3. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 4. http://lists.freeswitch.org/mailman/options/freeswitch-users 5. http://www.freeswitch.org/ 6. http://www.freeswitch.org/ 7. http://www.cluecon.com/ 8. mailto:MSN%3Aanthony_minessale@hotmail.com 9. mailto:PAYPAL%3Aanthony.minessale@gmail.com 10. http://irc.freenode.net/ 11. mailto:sip%3A888@conference.freeswitch.org 12. http://iax:guest@conference.freeswitch.org/888 13. 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
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]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]Freeswitch-users@lists.freeswitch.org [3]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:[4]http://lists.freeswitch.org/mailman/options/freeswitch-u sers [5]http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH [6]http://www.freeswitch.org/ ClueCon [7]http://www.cluecon.com/ AIM: anthm [8]MSN:anthony_minessale@hotmail.com GTALK/JABBER/[9]PAYPAL:anthony.minessale@gmail.com IRC: [10]irc.freenode.net #freeswitch FreeSWITCH Developer Conference [11]sip:888@conference.freeswitch.org [12]iax:guest@conference.freeswitch.org/888 [13]googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400
References
1. mailto:brian@freeswitch.org 2. mailto:Freeswitch-users@lists.freeswitch.org 3. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 4. http://lists.freeswitch.org/mailman/options/freeswitch-users 5. http://www.freeswitch.org/ 6. http://www.freeswitch.org/ 7. http://www.cluecon.com/ 8. mailto:MSN%3Aanthony_minessale@hotmail.com 9. mailto:PAYPAL%3Aanthony.minessale@gmail.com 10. http://irc.freenode.net/ 11. mailto:sip%3A888@conference.freeswitch.org 12. http://iax:guest@conference.freeswitch.org/888 13. 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
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 <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]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]Freeswitch-users@lists.freeswitch.org [3]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:[4] http://lists.freeswitch.org/mailman/options/freeswitch-u sers [5]http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH [6]http://www.freeswitch.org/ ClueCon [7]http://www.cluecon.com/ AIM: anthm [8]MSN:anthony_minessale@hotmail.com<MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/[9]PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: [10]irc.freenode.net #freeswitch FreeSWITCH Developer Conference [11]sip:888@conference.freeswitch.org<sip%3A888@conference.freeswitch.org> [12]iax:guest@conference.freeswitch.org/888 [13]googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
References
1. mailto:brian@freeswitch.org 2. mailto:Freeswitch-users@lists.freeswitch.org 3. http://lists.freeswitch.org/mailman/listinfo/freeswitch-users 4. http://lists.freeswitch.org/mailman/options/freeswitch-users 5. http://www.freeswitch.org/ 6. http://www.freeswitch.org/ 7. http://www.cluecon.com/ 8. mailto:MSN%3Aanthony_minessale@hotmail.com<MSN%253Aanthony_minessale@hotmail.com> 9. mailto:PAYPAL%3Aanthony.minessale@gmail.com<PAYPAL%253Aanthony.minessale@gmail.com> 10. http://irc.freenode.net/ 11. mailto:sip%3A888@conference.freeswitch.org<sip%253A888@conference.freeswitch.org> 12. http://iax:guest@conference.freeswitch.org/888 13. mailto:googletalk%3Aconf%2B888@conference.freeswitch.org<googletalk%253Aconf%252B888@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
_______________________________________________ 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 FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
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
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
On Tue, Feb 3, 2009 at 6:16 AM, Sias Mey <sias@cpdata.co.za> 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.
You can use "bgapi originate" to do it in a non-blocking way. See the very last example for the originate command: http://wiki.freeswitch.org/wiki/Mod_commands#originate -MC
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
participants (4)
-
Anthony Minessale
-
Brian West
-
Michael Collins
-
Sias Mey