Increase delay between calls in ring groups or follow-me

Show a full call attempt from the log.

Sure thing, here you go.

[2019-07-24 18:03:47] WARNING[15334] pbx_spool.c: Unable to set utime on /var/spool/asterisk/outgoing/call_lec_500.call: Operation not permitted
[2019-07-24 18:03:47] NOTICE[21744] pbx_spool.c: Call failed to go through, reason (3) Remote end Ringing
[2019-07-24 18:03:47] WARNING[21744] pbx_spool.c: Unable to set utime on /var/spool/asterisk/outgoing/call_lec_500.call: Operation not permitted
[2019-07-24 18:03:47] VERBOSE[21755] pbx_spool.c: Attempting call on SIP/vitel_out/xxxxxxxxxx for application Playback(critical_node_down) (Retry 1)
[2019-07-24 18:03:47] VERBOSE[21755] netsock2.c: Using SIP RTP TOS bits 184
[2019-07-24 18:03:47] VERBOSE[21755] netsock2.c: Using SIP RTP CoS mark 5
[2019-07-24 18:03:47] VERBOSE[21755] dial.c: Called vitel_out/xxxxxxxxxx
[2019-07-24 18:03:48] VERBOSE[21755] dial.c: SIP/vitel_out-00000030 is making progress
[2019-07-24 18:03:50] VERBOSE[21755] dial.c: SIP/vitel_out-00000030 answered
[2019-07-24 18:03:50] VERBOSE[21755] file.c: <SIP/vitel_out-00000030> Playing ‘critical_node_down.slin’ (language ‘en’)
[2019-07-24 18:03:52] NOTICE[21755] pbx_spool.c: Call completed to SIP/vitel_out/xxxxxxxxxx
[2019-07-24 18:03:47] VERBOSE[21755] dial.c: Called vitel_out/xxxxxxxxxx
[2019-07-24 18:03:48] VERBOSE[21755] dial.c: SIP/vitel_out-00000030 is making progress
[2019-07-24 18:03:50] VERBOSE[21755] dial.c: SIP/vitel_out-00000030 answered
[2019-07-24 18:03:50] VERBOSE[21755] file.c: <SIP/vitel_out-00000030> Playing ‘critical_node_down.slin’ (language ‘en’)
[2019-07-24 18:03:52] NOTICE[21755] pbx_spool.c: Call completed to SIP/vitel_out/xxxxxxxxxx

OK so now

  1. The call file is owned by asterisk when you dump it into the outgoing directory, correct?
  2. You are using a mv command and not a cp command when dumping into the outgoing directory, correct?

Actually I am dropping it in via SFTP from a remote system.

So you’re copying them, that’s bad. And what about permissions? What user is SFTPing in?

We’ve seen results like this (not in this specific scenario, but like this) where the line appears to be answered because of an early media intervention (FAX pick up, etc.). Is there any change the remote end is doing something like a FAX check?

I am using a basic user I put on the system. Maybe FTP in as asterisk?

No sir this is a cellphone I am calling at the moment.

Yeah, the files need to be owned by asterisk. The files should not be SFTP/FTP’d up because that copies the file and Asterisk could trigger the call with only a partial call file and not get the rest of the settings.

Ah gotcha Tom. The little snapshot just popped up. That would indeed be an issue.

This is a file ownership problem - asterisk needs to own the file. If you want to use SFTP for this, you really need to drop it into a /tmp (for example) directory, change the ownership, change the utime, and then move it to the spool directory.

This is probably more due to SFTPing the files into the directory directly, which as I stated will cause Asterisk to read the file immediately and take what is outputted. Which means the last half of the file with the retry settings, etc. are being ignored because the call has already triggered before the file completes writing via SFTP.

Agreed, that must be what is going on and it would account for the flakiness. I have to move them via FTP. So what I can do is drop it in a directory of my own and use a cron script to run every minute to move any files to the outgoing directory.

I will report back on that one shortly. Thanks for y’alls help.

1 Like

A fat band-aid would be to SFTP the file to a temp folder, once the file is there, have a script change the ownership and permission, then move the file…

Actually that is exactly what I did. It did require both changing permissions to asterisk and to copy the file and once i did (via cron) than it worked.

So that solves what I was trying to do with the single number repeating. I don’t think there is a single call file method for calling a list of numbers. I think I am still stuck with FM or RGs for that.

Sure there is. You can send it to a custom dialplan context that has a list of DIDs to call. There are numerous ways this can be achieved. Including sending the call to an RG with the numbers in it.

Your issue was chaining them to have a retry, delay until a live person confirms the call. You can still send it to a RG and the call file will make X attempts over Y delay still.

Right, but that would only work with ringall right? I would not suspect that to work with hunt? I am talking about the last bit you mentioned.

Tom, would you be so kind as to give me an example dialplan to call a few external numbers? I am not fluent in dialplanese but an example would help me out a ton. Thank you.

Maybe change the cron job to an incron job (IN_CLOSE_WRITE) for snappiness ?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.