Can someone point me to examples of how to program message-based calls?
Recently the API behaviour changed for Erlang such that when you initiate a call, the routine immediately returns with a UUID of the launched call, rather than waiting for the call to be answered. I've been able to program for this behaviour in the call-connected case, but I'm at a loss as to what to do for detecting calls that go unanswered, time out, or which cannot be placed for various technical reasons. As a result, my call queue is filling up and choking -- I only launch so many calls at a time, and only the connected calls are getting properly processed. Unanswered and timed out calls are getting "stuck" because I don't know what events to catch and how to evaluate them. The old behaviour wasn't event-based and thereby easier to program -- but I can definitely see the advantages of shifting to a pure event-driven model. I just need to learn how to _use_ it. Thanks for any assistance you can provide.
Are you sure it changed? Can't find anything about this in the git commit log recently. I've never used Erlang myself, but this sounds like you originate a call, without the "ignore_early_media=true" flag. If this is not specified the originate command will return immediately when early media is detected, if you specify this channel variable it will wait for the call to be answered. /Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org [freeswitch-users-bounces@lists.freeswitch.org] för Mark Sobkow [m.sobkow@marketelsystems.com] Skickat: den 10 april 2011 01:49 Till: freeswitch-users Ämne: [Freeswitch-users] Can someone point me to examples of how to program message-based calls? Recently the API behaviour changed for Erlang such that when you initiate a call, the routine immediately returns with a UUID of the launched call, rather than waiting for the call to be answered. I've been able to program for this behaviour in the call-connected case, but I'm at a loss as to what to do for detecting calls that go unanswered, time out, or which cannot be placed for various technical reasons. As a result, my call queue is filling up and choking -- I only launch so many calls at a time, and only the connected calls are getting properly processed. Unanswered and timed out calls are getting "stuck" because I don't know what events to catch and how to evaluate them. The old behaviour wasn't event-based and thereby easier to program -- but I can definitely see the advantages of shifting to a pure event-driven model. I just need to learn how to _use_ it. Thanks for any assistance you can provide. _______________________________________________ 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 !DSPAM:4da0f41032761398017734!
Possible, but the code had been working for over six months, then stopped working when we'd updated Freeswitch, so I thought things had (finally!) switched over to a pure event-based implementation. I've got most of the code in place to do event-based processing instead, just getting our users to test it this morning. If it works (catching EVENT_HANGUP_COMPLETE), I'll add in the extra glue logic to classify the reason for the hangup and update our call stats accordingly. On 10/04/2011 1:11 AM, Peter Olsson wrote:
Are you sure it changed? Can't find anything about this in the git commit log recently.
I've never used Erlang myself, but this sounds like you originate a call, without the "ignore_early_media=true" flag. If this is not specified the originate command will return immediately when early media is detected, if you specify this channel variable it will wait for the call to be answered.
/Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org [freeswitch-users-bounces@lists.freeswitch.org] för Mark Sobkow [m.sobkow@marketelsystems.com] Skickat: den 10 april 2011 01:49 Till: freeswitch-users Ämne: [Freeswitch-users] Can someone point me to examples of how to program message-based calls?
Recently the API behaviour changed for Erlang such that when you initiate a call, the routine immediately returns with a UUID of the launched call, rather than waiting for the call to be answered. I've been able to program for this behaviour in the call-connected case, but I'm at a loss as to what to do for detecting calls that go unanswered, time out, or which cannot be placed for various technical reasons.
As a result, my call queue is filling up and choking -- I only launch so many calls at a time, and only the connected calls are getting properly processed. Unanswered and timed out calls are getting "stuck" because I don't know what events to catch and how to evaluate them.
The old behaviour wasn't event-based and thereby easier to program -- but I can definitely see the advantages of shifting to a pure event-driven model. I just need to learn how to _use_ it.
Thanks for any assistance you can provide.
_______________________________________________ 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
!DSPAM:4da0f41032761398017734!
_______________________________________________ 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
-- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow@marketelsystems.com Web: http://www.marketelsystems.com Visit our Blog for industry related information. http://marketel-systems.blogspot.com/
Sorry, that was CHANNEL_HANGUP_COMPLETE -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow@marketelsystems.com Web: http://www.marketelsystems.com Visit our Blog for industry related information. http://marketel-systems.blogspot.com/
Just to let you know, the event-based Erlang interface changes I was working on are now functional. Our guinea pigs are testing the new code now. I had some hairy issues in our application code to resolve once I started trapping the events, but it works. -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow@marketelsystems.com Web: http://www.marketelsystems.com Visit our Blog for industry related information. http://marketel-systems.blogspot.com/
participants (2)
-
Mark Sobkow
-
Peter Olsson