Looks good to me, thanks for your time and effort William!<br><br>On Sunday, November 25, 2012, William King wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Issue found and replicated, and patch to be pushed momentarily.<br>
<br>
The problem is that FS has two methods for sending SMS messages,<br>
blocking and non-blocking. By default endpoints send in blocking form,<br>
and everything else defaults to non-blocking. In a recent patch the<br>
non-blocking form was missed when confirming that the sms was sent<br>
successfully, thus causing the message to be queued up again as soon as<br>
it's sent.<br>
<br>
It appears to have only effected sms messages that were queued in a<br>
fully processed form(skipping the chatplan).<br>
<br>
William King<br>
Senior Engineer<br>
Quentus Technologies, INC<br>
1037 NE 65th St Suite 273<br>
Seattle, WA 98115<br>
Main: (877) 211-9337<br>
Office: (206) 388-4772<br>
Cell: (253) 686-5518<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'william.king@quentustech.com')">william.king@quentustech.com</a><br>
<br>
On 11/24/2012 10:00 PM, Kurtis Heimerl wrote:<br>
> Hi Eli,<br>
><br>
> I recently updated my installation, and now my old scripts for sending<br>
> messages through event creation aren't working. Basically, FS is sending<br>
> tens to hundreds of MESSAGEs a second after I send a SMS::SEND_MESSAGE<br>
> event. This was working before your patch (and I'm sure a bunch of other<br>
> patches), so I'm hoping you have some intuition as to what might be<br>
> broken. I'll start tracking it down myself here in a little bit.<br>
><br>
> On Wednesday, November 21, 2012, Eli Burke wrote:<br>
><br>
> Kurtis,<br>
><br>
> We've been working with FreeSWITCH Consulting to address some issues<br>
> with MESSAGE delivery. A couple of patches were committed on Nov 13<br>
> and Nov 14 to trunk and they may help with your problem. These<br>
> patches affect the following behavior:<br>
> * MESSAGEs fed through the chatplan are correctly delivered or<br>
> ignored by sofia<br>
> * when blocking=False, "Delivery-Failure" is replaced with<br>
> "Nonblocking-Delivery: true"<br>
> * when blocking=True, "Delivery-Failure" is correctly set to true or<br>
> false<br>
> * when blocking=True, "Delivery-Result-Code" is added to the event<br>
><br>
> Some background explanation: MESSAGEs are normally delivered in<br>
> non-blocking mode, which means FreeSWITCH makes no attempt to<br>
> determine if they were successfully received. There is a variable<br>
> that can be set ("blocking: true") to force FreeSWITCH to wait for a<br>
> response. You can already see this in action using the chat command<br>
> in fs_cli-- it will report success or failure.<br>
><br>
> Unfortunately, "blocking" is not set by default. RIght now, the only<br>
> way to get this behavior is to set it manually. For example, a<br>
> chatplan rule to add the header to all inbound MESSAGEs:<br>
> <extension name="add_blocking" continue="true"><br>
> <condition><br>
> <action application="set"<br>
> data="is_reg=${sofia_contact(${to_user}" inline="true"/><br>
> <action application="set" data="blocking=true"/><br>
> </condition><br>
> </extension><br>
><br>
> There is a potential (and untested!) downside to forcing blocking to<br>
> be always-on. The MESSAGE delivery queue is currently handled by a<br>
> single thread. Even if all MESSAGE objects are delivered<br>
> successfully to the local switch, some amount of latency may be<br>
> introduced. In a real-world high-throughput scenario, it's possible<br>
> that this could cause noticeable delays in the time it takes to<br>
> delivery a MESSAGE, creating an ever-growing backlog.<br>
><br>
> The "is_reg" variable in the rule above could be used to short<br>
> circuit failed attempts by shunting MESSAGEs to a database, or<br>
> dropping them on the floor, but this would not necessarily fix<br>
> things. The good news is that if a high-volume user can demonstrate<br>
> that there is a problem, it's fixable within FreeSWITCH by moving to<br>
> a multi-threaded message delivery queue.<br>
><br>
> -Eli<br>
><br>
><br>
>> On Nov 10, 2012, at 1:00 PM,<br>
>> <a href="javascript:;" onclick="_e(event, 'cvml', 'freeswitch-users-request@lists.freeswitch.org')">freeswitch-users-request@lists.freeswitch.org</a> wrote:<br>
>><br>
>> *From: *Kurtis Heimerl <<a href="javascript:;" onclick="_e(event, 'cvml', 'kheimerl@cs.berkeley.edu')">kheimerl@cs.berkeley.edu</a>><br>
>> *Subject: **[Freeswitch-users] Return code from ESL Message<br>
>> Sending*<br>
>> *Date: *November 9, 2012 11:42:19 PM EST<br>
>> *To: *FreeSWITCH Users Help<br>
>> <<a href="javascript:;" onclick="_e(event, 'cvml', 'freeswitch-users@lists.freeswitch.org')">freeswitch-users@lists.freeswitch.org</a>><br>
>> *Reply-To: *FreeSWITCH Users Help<br>
>> <<a href="javascript:;" onclick="_e(event, 'cvml', 'freeswitch-users@lists.freeswitch.org')">freeswitch-users@lists.freeswitch.org</a>><br>
>><br>
>><br>
>> Hello Freeswitch Users:<br>
>><br>
>> We're currently trying to get the return code from a MESSAGE<br>
>> we send using ESL. The closest we've found is this<br>
>> jira: <a href="http://jira.freeswitch.org/browse/FS-4453" target="_blank">http://jira.freeswitch.org/browse/FS-4453</a> which seems to<br>
>> provide similar functionality for the chat command, but<br>
>> nothing for ESL.<br>
>><br>
>> Here's a pastebin of our current<br>
>> code: <a href="http://pastebin.freeswitch.org/20201" target="_blank">http://pastebin.freeswitch.org/20201</a><br>
>><br>
>> The server we are hitting is returning a "415 Unsupported<br>
>> Content Type" (which is correct) and we're trying to discover<br>
>> that in freeswitch, instead of assuming the message was<br>
>> received correctly. Right now, we get that the recvEventTimed<br>
>> is returning None. This is all done on the a pull of FS from<br>
>> yesterday.<br>
>><br>
>> Any suggestions?<br>
>><br>
><br>
><br>
><br>
> _________________________________________________________________________<br>
> Professional FreeSWITCH Consulting Services:<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'consulting@freeswitch.org')">consulting@freeswitch.org</a><br>
> <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
><br>
> FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
> <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
><br>
> Official FreeSWITCH Sites<br>
> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
> <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
> <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
><br>
> FreeSWITCH-users mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'FreeSWITCH-users@lists.freeswitch.org')">FreeSWITCH-users@lists.freeswitch.org</a><br>
> <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
> UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'consulting@freeswitch.org')">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'FreeSWITCH-users@lists.freeswitch.org')">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</blockquote>