<div dir="ltr"><div>Forgot to mention some important things.<br><br>Asterisk versions I have tried this one and got the error: 1.8.16 and 1.8.27.<br><br> "core show channels" will show 0-10 channels when this happens (the true count), but the "core show calls" and the call counter for active calls after "core show channels" will show a very high amount of calls (150-250+), this during times when we'd not expect to have close to that amount.<br>
<br></div>Googling a bit gives people with the same problem but no solutions, one with asterisk 1.4 who also reports weird call/channel counts.<br><br><br><br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On 15 May 2014 13:34, Mikael Fredin <span dir="ltr"><<a href="mailto:mikael@wiraya.com" target="_blank">mikael@wiraya.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div><div>I am using Realtime extensions as well, in case that would matter.<br><br>Following problem arises from time to time, a call will successfully terminate:<br><br>[May 14 14:31:41] VERBOSE[3274] pbx_realtime.c:     -- Executing [t@project_init:1] Hangup("SIP/peer-2-00002f7e", "")<br>

[May 14 14:31:41] VERBOSE[3274] pbx.c:   == Spawn extension (project_init, t, 1) exited non-zero on 'SIP/peer-2-00002f7e'<br><br></div><div><bye message,  Really destroying SIP dialog, etc><br></div><div><br>

</div>This is the call file:<br><br>Channel: SIP/peer-2/00numberhere<br>CallerID: "" <+calleridhere><br>Extension: 123<br>SetVar: someid=123<br>Context: setup<br>WaitTime: 30<br>MaxRetries: 0<br>RetryTime: 300<br>

Account: 123<br>Priority: 1<br><br><br></div>Some time after the call has hung up, the call file is still there and this is appended to the file:<br>StartRetry: 20354 1 (1400070906) (My note: Wed May 14 14:35:06 CEST 2014)<br>

<br>DelayedRetry: 20354 0 (1400070906) same time...<br><br>DelayedRetry: 20354 0 (1400071206) five minutes...<br><br>DelayedRetry: 20354 0 (1400071506) and so on...<br><br>DelayedRetry: 20354 0 (1400071806) never deleting this file<br>

<br>DelayedRetry: 20354 0 (1400072106) are we?<br><br>DelayedRetry: 20354 0 (1400072406) nope....<br><br>DelayedRetry: 20354 0 (1400072706) waiting for someone....<br><br>DelayedRetry: 20354 0 (1400073006) to do manual work<br>

<br><br><br><br></div>Asterisk log:<br>[May 14 14:35:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>[May 14 14:40:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>

[May 14 14:45:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>[May 14 14:50:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>

[May 14 14:55:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>[May 14 15:00:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>

[May 14 15:05:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>[May 14 15:10:06] DEBUG[20421] pbx_spool.c: Delaying retry since we're currently running '/var/spool/asterisk/outgoing/callfile'<br>

<br><br><div><br><div><div><br></div><div>Asterisk code:<br></div><div><br>       if (o->retries <= o->maxretries) {<br>                now += o->retrytime;<br>                if (o->callingpid && (o->callingpid == ast_mainpid)) {<br>

                        safe_append(o, time(NULL), "DelayedRetry");<br>                        ast_log(LOG_DEBUG, "Delaying retry since we're currently running '%s'\n", o->fn);<br>                        free_outgoing(o);<br>

                } else {<br>                        /* Increment retries */<br>                        o->retries++;<br>                        /* If someone else was calling, they're presumably gone now<br>                           so abort their retry and continue as we were... */<br>

                        if (o->callingpid)<br>                                safe_append(o, time(NULL), "AbortRetry");<br><br>                        safe_append(o, now, "StartRetry");<br>                        launch_service(o);<br>

                }<br>                return now;<br>        }<br><br><br></div><div><br></div><div><br></div><div>Sure, I could just disable the retry check and add :<br> if (FALSE) {<br></div><div>And it will always expire should this occur...<br>

</div><div><br>But I'm not sure if this is a good idea or not, and it would be nice not having to do that on every upgrade.<br><br><br></div><div>Anyone have experience with what's going on?<br><br></div><div>The file can be written to, since safe_append seems to be able to write to the file.<br>

<br></div><div>This only happens once in a while, which makes it hard to track down.<br><br></div></div></div></div>
</blockquote></div><br></div>