в принципе, задача решена!
по совету друзей из форума почитал книжки, порылся в интернете и вот что нашел...
есть в файловой структуре Asterisk каталог /var/spool/asterisk/outgoing при помещении в который файла с расширением .call ядро системы начинает его обработку. само описание структуры файла есть
здесь и
здесь. также при решении задачи использовал
эту статью
в файле sendfax.php программы интерфейса отправки факса модифицировал функцию function CreateFAXCall($num,$pic), чтобы формировался нужный файл sendingfax.call
вот фрагмент кода:
fputs($outfile,"Channel: Local/".$num."@outgoing-fax/n\n");
fputs($outfile,"CallerID: FAX-SEND\n");
fputs($outfile,"Codecs: alaw\n");
fputs($outfile,"MaxRetries: 3\n");
fputs($outfile,"WaitTime: 25\n");
fputs($outfile,"Context: send-fax\n");
fputs($outfile,"Extension: 801\n");
fputs($outfile,"Set: PICTURE=".$pic."\n");
fclose($outfile);
в этой функции, контекст outgoing-fax заменил на свой контекст обработки исходящих соединений, у меня он называется from-internal, а номер 801 заменил на номер send-fax. также в контексте [send-fax], который отвечает непосредственно за передачу факса, заменил добавочный номер s на добавочный номер send-fax, чтобы не менять шаблоны набираемых номеров (если во FreePBX это вообще возможно):
exten => send-fax,1,Answer()
exten => send-fax,n,NoOp(Sending fax!)
exten => send-fax,n,SendFax(${PICTURE},d)
exten => send-fax,n,Hangup()
exten => send-fax,n,GotoIf($["${FAXOPT(status)}" != "SUCCESS" ]?finish)
exten => send-fax,n,NoOp(${PICTURE} is deleted!)
exten => send-fax,n,System(rm ${PICTURE})
если не заменить добавочный номер, обработка вызова пойдет по другому пути.
все остальное можно доработать по своему вкусу и предпочтениям.
полностью отправку факса не проверял! но указав в интерфейсе свой номер и нажав кнопку "отправить" у меня зазвонил телефон, а подняв трубку - услышал сигналы факса. при этом verbose показывало работу модуля факса