Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Как передать несколько файлов по факсу?

0

В Астериске новичок, хотя диалплан понимаю и составляю по-немногу.

Задача в том, что есть несколько файлов и есть команда, которая преобразует их в tiff. Необходимо, преобразовать и передать их абоненту.

extensions.conf выглядит в данный момент так:


[macro-fax-tx]
exten => s,1,NoOp(dial_fax)
same => 2,Answer()
same => 3,Playback(hello-world)
same => 4,System(/home/astmsk/proceed-fax-queue.sh)
same => 5,System(rm /var/spool/asterisk/fax/outgoing.tif)
; same => n,Read(faxQueue,/var/spool/asterisk/tmp/fax-queue,255)
same => 6,Goto(s,4)
same => 7,Hangup()
same => 106,System(logger 'Files not found')
same => 107,Hangup()



Скрипт proceed-fax-queue.sh представляет собой:


\#!/bin/bash
logger 'Message from asterisk...............'

SPOOL=/var/spool/asterisk/fax
NEXT_FILE=$SPOOL/`ls $SPOOL | head -n1`

convert ... $NEXT_FILE $SPOOL/outgoing.tif #Длинная строка преобразования файла
rm $NEXT_FILE



Судя по документации, если происходит ошибка в System(), то выполняется команда с приоритетом n+101. В моём случае, когда все файлы отправляются, команда System с пятым приоритетом должна получить ошибку, ведь все файлы уже отправлены и, по-идее, перейти на команду System со 106-м приоритетом. Но етого не происходит и диалплан зацикливается. Подскажите, в каком месте я ошибся? Огромная благодарность тому, кто скажет, как сделать такой диалплан по-умному, если мой напоминает бред сивой кобылы.


Действительно, с функцией STAT всё получилась обработка очереди. Однако, отправка факсом последовательно друг за другом файлов не получилась. Я, кажется, знаю почему. Скорее всего, после SendFAX факсимильная связь между аппаратами разрывается, и абонентский думает, что передача завершена. За сим разрывает связь. Астериску ничего другого не остаётся, как закончить выполнение макроса.
Решил не заморачиватся составлять единый файл из очереди. Если документ будет електронный, то обычно он в PDF. Данный формат обрабатывается скриптом в один файл. Если картинка, то как правило ето один лист. Если документ бумажный, то его легко отсканят в PDF и отправят, опять же, одним файлом.

P.S. а где собственно сама отправка факса ??? Должна была быть в закомментированной строке. По ошибке написал другую команду там.

удалить закрыть спам изменить тег редактировать

спросил 2012-08-25 21:18:25 +0400

abr_asterisk Gravatar abr_asterisk
19 3 3

обновил 2012-08-27 16:15:26 +0400

Comments

проблема в том, что астериск будет матюкаться уже на втором. если надо несколько - прийдется их обьединить и послать ОДИН.

meral ( 2012-08-26 05:05:52 +0400 )редактировать

1 Ответ

1

воспользуйтесь stat для проверки наличия файла

http://www.voip-info.org/wiki/view/Asterisk+func+stat

P.S. а где собственно сама отправка факса ???

ссылка удалить спам редактировать

ответил 2012-08-25 22:00:07 +0400

komrad123 Gravatar komrad123
3810 5 3 44

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-08-25 21:18:25 +0400

Просмотрен: 347 раз

Обновлен: Aug 27 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.