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