VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Callback средствами bash

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

TVMaker
Сообщения: 134
Зарегистрирован: 05 сен 2013, 19:01

Re: Callback средствами bash

Сообщение TVMaker »

Читал. Там грабли в том, что call-файл копировали, а надо перемещать - такая линуксовая фича. И никакой пересборки астериска не нужно. У меня гораздо смешнее оказалось. Решил проблему. Она заключалась в нестандартности железяки, на которой стоит мой астер.
Фишка в том, что на железяке ДВА линукса :D Это 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
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH