[Freeswitch-users] Conference dialing and uuid

Michael Collins msc at freeswitch.org
Tue Feb 3 09:05:57 PST 2009


On Tue, Feb 3, 2009 at 6:16 AM, Sias Mey <sias at 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 at 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 at 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 at 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 at hotmail.com
>>    > >    GTALK/JABBER/[9][10]PAYPAL:anthony.minessale at gmail.com
>>    > >    IRC: [10][11]irc.freenode.net #freeswitch
>>    > >    FreeSWITCH Developer Conference
>>    > >    [11][12]sip:888 at conference.freeswitch.org
>>    > >    [12][13]iax:guest at conference.freeswitch.org/888
>>    > >    [13][14]googletalk:conf+888 at conference.freeswitch.org
>>    > >    pstn:213-799-1400
>>    > >
>>    > > References
>>    > >
>>    > >    1. mailto:[15]brian at freeswitch.org
>>    > >    2. mailto:[16]Freeswitch-users at 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 at hotmail.com
>>    > >    9. mailto:[23]PAYPAL%3Aanthony.minessale at gmail.com
>>    > >   10. [24]http://irc.freenode.net/
>>    > >   11. mailto:[25]sip%3A888 at conference.freeswitch.org
>>    > >   12. [26]http://iax:guest@conference.freeswitch.org/888
>>    > >   13. mailto:[27]googletalk%3Aconf%2B888 at conference.freeswitch.org
>>    >
>>    > > _______________________________________________
>>    > > Freeswitch-users mailing list
>>    > > [28]Freeswitch-users at lists.freeswitch.org
>>    > > [29]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>    > >
>>    UNSUBSCRIBE:[30]http://lists.freeswitch.org/mailman/options/freeswitch-
>>    users
>>    > > [31]http://www.freeswitch.org
>>    >
>>    >
>>    > _______________________________________________
>>    > Freeswitch-users mailing list
>>    > [32]Freeswitch-users at lists.freeswitch.org
>>    > [33]http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>    >
>>    UNSUBSCRIBE:[34]http://lists.freeswitch.org/mailman/options/freeswitch-
>>    users
>>    > [35]http://www.freeswitch.org
>>    _______________________________________________
>>    Freeswitch-users mailing list
>>    [36]Freeswitch-users at 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 at hotmail.com
>>    GTALK/JABBER/[43]PAYPAL:anthony.minessale at gmail.com
>>    IRC: [44]irc.freenode.net #freeswitch
>>    FreeSWITCH Developer Conference
>>    [45]sip:888 at conference.freeswitch.org
>>    [46]iax:guest at conference.freeswitch.org/888
>>    [47]googletalk:conf+888 at conference.freeswitch.org
>>    pstn:213-799-1400
>>
>> References
>>
>>    1. mailto:sias at cpdata.co.za
>>    2. mailto:brian at freeswitch.org
>>    3. mailto:Freeswitch-users at 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 at hotmail.com
>>   10. mailto:PAYPAL%3Aanthony.minessale at gmail.com
>>   11. http://irc.freenode.net/
>>   12. mailto:sip%3A888 at conference.freeswitch.org
>>   13. http://iax:guest@conference.freeswitch.org/888
>>   14. mailto:googletalk%3Aconf%2B888 at conference.freeswitch.org
>>   15. mailto:brian at freeswitch.org
>>   16. mailto:Freeswitch-users at 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 at hotmail.com
>>   23. mailto:PAYPAL%253Aanthony.minessale at gmail.com
>>   24. http://irc.freenode.net/
>>   25. mailto:sip%253A888 at conference.freeswitch.org
>>   26. http://iax:guest@conference.freeswitch.org/888
>>   27. mailto:googletalk%253Aconf%252B888 at conference.freeswitch.org
>>   28. mailto:Freeswitch-users at 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 at 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 at 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 at hotmail.com
>>   43. mailto:PAYPAL%3Aanthony.minessale at gmail.com
>>   44. http://irc.freenode.net/
>>   45. mailto:sip%3A888 at conference.freeswitch.org
>>   46. http://iax:guest@conference.freeswitch.org/888
>>   47. mailto:googletalk%3Aconf%2B888 at conference.freeswitch.org
>
>> _______________________________________________
>> Freeswitch-users mailing list
>> Freeswitch-users at 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 at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>



More information about the Freeswitch-users mailing list