Фишка в том, что на железяке ДВА линукса Это NAS Synology с установленной системой optware. И там ДВА симлинка touch, пути к которым прописаны в окружении. У меня вызывался "стандартный" touch, который, видимо, ничего не знал о переменных окружения optware. Утилита вроде бы выполнялась, а никаких переданных ей параметров не видела. В результате целого дня выгугливания родилось следующее решение для отложенного колбэка. Вместо "10 minutes" можно использовать по вкусу: "10 seconds" и т.д.
Код: Выделить всё
#!/bin/sh
# Callback для Астериска на NAS Synology
# Вызов: callback.sh НОМЕР_ТЕЛЕФОНА ИМЯ_CALL-ФАЙЛА
echo Channel: Local/$1@users > /opt/tmp/$2
echo Callerid: 7499XXXXXXX >> /opt/tmp/$2
echo MaxRetries: 3 >> /opt/tmp/$2
echo RetryTime: 3 >> /opt/tmp/$2
echo WaitTime: 40 >> /opt/tmp/$2
echo Context: callback >> /opt/tmp/$2
echo Extension: s >> /opt/tmp/$2
echo Priority: 1 >> /opt/tmp/$2
echo Archive: Yes >> /opt/tmp/$2
echo SetVar: IsCallBack=1 >> /opt/tmp/$2
/opt/bin/touch -d "10 minutes" /opt/tmp/$2
mv /opt/tmp/$2 /opt/var/spool/asterisk/outgoing