[Freeswitch-users] how do I detect a call has rung once?

Neil Patel neilp at cs.stanford.edu
Thu May 13 17:14:22 PDT 2010


Thanks Michael, I was looking for code examples to receive events over ESL,
and found them in libs/esl/.

I'm still not clear on the following:

   1. I have a controller script that originates calls; it runs "show
   channels" between calls and parses out the number of active channels. If
   below threshold, originate next call. If not, wait a couple seconds and run
   "show channels" again, repeating till below threshold. Is this the best way?
   Can this be done more efficiently through events? How?
   2. For placing missed calls to SIP endpoints, it sounds like* *I can wait
   for a signal 180 or 183 to know when to hang up. How do I check for those
   signals? Is this another job for events?
   3. For placing missed calls over openzap/PRI, it sounds like I can check
   for call states PROGRESS or ALERTING? Where are those states from, and how
   do I check them? Again, can I use events? The other option you gave is
   checking for endpoint_disposition. This is in the cdr, but how do I use it
   for detecting when I should hang up for a missed call? Is there an event
   associated with it? What are the call states it goes through?

-Neil

On Wed, May 12, 2010 at 2:47 PM, Michael Collins <msc at freeswitch.org> wrote:

>
> On Wed, May 12, 2010 at 11:59 AM, Neil Patel <neilp at cs.stanford.edu>wrote:
>
>> Thanks for the tips.
>>
>> Where are there examples of using ESL to register and handle events? For
>> e.g. I don't see any example of how to register for a change in channel
>> variable endpoint_disposition. Or even to check the CHANNEL_STATE event.
>>
>> -Neil
>>
>> Neil,
>
> Check out the event socket documentation, specifically the "events plain
> all" and "filter" commands. You can listen to all events or just specific
> ones:
> http://wiki.freeswitch.org/wiki/Event_socket
>
> If you want to experiment with the event socket and the various events then
> use fs_cli. Connect with fs_cli and then issue "/log 0" which turns off all
> debug messages. Now you have basically a raw event socket. Try some of these
> commands:
>
> /event plain all
>
> watch the fun messages fly. :)
>
> You can filter them as well:
>
> /filter Event-Name CHANNEL_STATE
> /filter Event-Name CHANNEL_HANGUP
>
> when you apply a filter you will receive only those things you choose. A
> it's a "filter in" not filter out. Another way of saying it is "show me
> events named CHANNEL_STATE" and "show me events named CHANNEL_HANGUP"
>
> just note that in your script you will be using the ESL abstractions for
> these:
>
> http://wiki.freeswitch.org/wiki/Esl#ESLconnection_Object
>
> I hope that helps! Have fun.
> -MC
>
> _______________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100513/31d9fa06/attachment.html 


More information about the FreeSWITCH-users mailing list