AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Факс-машина

Asterisk IP PBX 25 сообщений -
#1

Вобщем небольшай статейка по поводу автоматичсекой отправки фасков при помосчи астериска и app_fax.

После долгий мучений и всеких разныйх использований пришел к выводу что самым лудшим способом и админу и уЗверю это факс-принтер!!

Вобще сразу к делу Smile

ставм samb'у (как ставить все знают)
мой конфиг вот
Код:
[global]
server string = Samba Server %v
security = SHARE
map to guest = Bad User
log file = /var/log/samba/log.%m
max log size = 50
printcap name = cups

[fax]
comment = Fax Printer
public = yes
printable = yes
writeable = no
print command = (/opt/fax/printfax.pl %I %s %U %m; rm %s) &
path = /opt/fax/out
guest ok = yes
lpq command =
lprm command =


из конфига мы поняли что на самбе делаем принтер.

дальше качаем вот ето замечательное решение http://www.boerde.de/~horstf/download/respond-1.6.0beta.zip и вот ето http://www.boerde.de/~horstf/download/printfax-1.5.0.pl
PRINTFAX.PL ставим туда куда вам нравица, (у меня ето /opt/fax/)
и чуть чуть правим под себя
перемную $faxspool
например так
Код:
$faxspool=/opt/fax/create_call_fax

скрипт create_call_file
Код:
#!/bin/sh
DATE=`date +%d.%m.%Y-%H:%M:%S`
OUTGOINGDIR=/var/spool/asterisk/outgoing
OUTDIR=/opt/fax/out
TIFFDIR=/opt/fax/tiff
LOGFILE=/opt/fax/fax_logs
NUMBER=$6
FROM=$5
FAXNAME="fax-$DATE-from-$FROM-to-$NUMBER"
cat $OUTDIR/$7 | gs -q -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196 -dNOPAUSE -sOutputFile=$TIFFDIR/$FAXNAME.tif -

cat
#2

Beer 2
#3

Я удачно юзаю Winprint HylaFAX. В связке с Hylafax + iaxmodеm + asterisk работает "на ура".
#4

сделал отправку факсов через email2fax (правда немного подзаточил для себя, чтобы по результам присылала мыло)
имеем отправку мыла на faxout@local.fax c сабжем в виде номера и факсом в виде пдф в атаче.
Есесна хотелось бы печатать прям на факс. Для этой цели был заюзан принт-редиректор redmon и ghostscript для конвертации в пдф. В праздники думаю написать программку, которая будет вылезать при печати, просить номер, конвертить файл пдф и отправлять его мылом на выше указанный адрес.
конечно на винде придется ставить redmon, но зато никаких дополнительных прог в трее.

Added after 3 minutes:

Edska писал(а):
Я удачно юзаю Winprint HylaFAX. В связке с Hylafax + iaxmodеm + asterisk работает "на ура".


А есть у вас на iaxmodеm-е Т38? Нету! Smile Поэтому приходится юзать колфайлы и Rx/TxFax
#5

Да с T38 напряг Sad
Хотя я читал, что CVS версия t38modem имеет поддрежку SIP, но мне его скомпилить так и не удалось.
#6

1. (svn checkout http://svn.digium.com/svn/asterisk/trunk)
4. (svn checkout http://svn.digium.com/svn/asterisk-addons/trunk)

SVN
Цитата:

1. снимается текущий транк asterisk
2. патчится v4-asterisk-t38.patch
3. собирается и ставится
4. снимается текущий транк asterisk-addons
5. патчится v4-appfax.patch
6. собирается и ставится


Сценарий 100% работает. Но тренироваться лучше на кошках, в смысле - на тестовой машине.
http://asteriskforum.ru/viewtopic.php?t=1678
#7

Edska писал(а):
Да с T38 напряг Sad
Хотя я читал, что CVS версия t38modem имеет поддрежку SIP, но мне его скомпилить так и не удалось.


Мне удалось его скомпилить, но использовать не пробовал (занялся экспериментами с callweaver)
Компилил на centos5. pwlib версии 1.11.0, openh323 версии 1.19.0.1, T38modem 0.8.2
в с другими версиями не получалось либо openh323 скомпилить, либо T38modem.
#8

Cache, еще раз выражаю вам благодарность за вашу работу по app_fax и в частности, по данной статье, есть только небольшое дополнение в скрипт create_call_file

Код:
#!/bin/sh
DATE=`date +%d.%m.%Y-%H:%M:%S`
OUTGOINGDIR=/var/spool/asterisk/outgoing
OUTDIR=/opt/fax/out
TIFFDIR=/opt/fax/tiff
LOGFILE=/opt/fax/fax_logs
NUMBER=$6
FROM=$5
FAXNAME="fax-$DATE-from-$FROM-to-$NUMBER"
cat $OUTDIR/$7 | gs -q -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196 -dNOPAUSE -sOutputFile=$TIFFDIR/$FAXNAME.tif -

cat
#9

Спасибо огромное за пост. Очень интересная тема. Решил и у себя поднять это.
Только столкнулся с проблемой.
Делал все четко по мануалу, настроил самбу, установил скрипты, установил принтер у пользователя HP LaserJet 4/4M PS, документ уходит в печать и ... тишина.
В логах самбы вываливается при этом следующее.

Код:

[2008/05/15 07:21:00, 1] smbd/service.c:make_connection_snum(1033)
192.168.1.178 (192.168.1.178) connect to service fax initially as user nobody (uid=65534, gid=65534) (pid 22714)
[2008/05/15 07:21:00, 0] printing/print_cups.c:cups_job_submit(656)
Unable to print file to fax - client-error-bad-request
[2008/05/15 07:21:11, 1] smbd/service.c:close_cnum(1230)
192.168.1.178 (192.168.1.178) closed connection to service fax


client-error-bad-request это где надо копать? на клиентской машине что-то непавильно установил?


Кстати
Цитата:

...
например так
Код:
$faxspool=/opt/fax/create_call_fax

скрипт create_call_file
...


я думаю, что $faxspool=/opt/fax/create_call_file все таки.
#10

theoc писал(а):

Код:

[2008/05/15 07:21:00, 1] smbd/service.c:make_connection_snum(1033)
192.168.1.178 (192.168.1.178) connect to service fax initially as user nobody (uid=65534, gid=65534) (pid 22714)
[2008/05/15 07:21:00, 0] printing/print_cups.c:cups_job_submit(656)
Unable to print file to fax - client-error-bad-request
[2008/05/15 07:21:11, 1] smbd/service.c:close_cnum(1230)
192.168.1.178 (192.168.1.178) closed connection to service fax


client-error-bad-request это где надо копать? на клиентской машине что-то непавильно установил?


таке усчечение что не запущен cups сервер)))

_________________
нанотехнолигии в области Asterisk
#11

Цитата:

таке усчечение что не запущен cups сервер)))


BigGrin3))

Поправил права на директории и все заработало.
Еще раз спасибо за пост.
#12

Добрый день. Отличная штука получилась, но хочеться еще отсылать статус отправки факса на мейл. Для теста немного переделал скрипт создания call файла
Код:

cat out_fax,1,Answer
exten => out_fax,2,Wait(1)
exten => out_fax,3,SendFAX(${TXFAX_NAME}|a)
exten => out_fax,4,Hangup
exten => h,1,NoOp(TX: REMOTESTATIONID is ${REMOTESTATIONID})
exten => h,n,NoOp(TX: FAXRESOLUTION is ${FAXRESOLUTION})
exten => h,n,NoOp(TX: FAXBITRATE is ${FAXBITRATE})
exten => h,n,NoOp(TX: FAXERROR is ${FAXERROR})
exten => h,n,NoOp(TX: FAXSTATUS is ${FAXSTATUS})

Все здорово, факсы отправляются но не могу получить статус отправки, а точнее всегда пишет что проблемы с каналом.
Код:

-- Executing [out_fax@custom-sendfax:1] Answer("SIP/ast-0a059bd0", "") in new stack
-- Executing [out_fax@custom-sendfax:2] Wait("SIP/ast-0a059bd0", "1") in new stack
-- Executing [out_fax@custom-sendfax:3] SendFAX("SIP/ast-0a059bd0", "/opt/fax/tiff/fax-03.06.2008-15:10:48-from--d-to-666.tif|a") in new stack
== Spawn extension (custom-sendfax, out_fax, 3) exited non-zero on 'SIP/ast-0a059bd0'
-- Executing [h@custom-sendfax:1] NoOp("SIP/ast-0a059bd0", "TX: REMOTESTATIONID is ") in new stack
-- Executing [h@custom-sendfax:2] NoOp("SIP/ast-0a059bd0", "TX: FAXRESOLUTION is ") in new stack
-- Executing [h@custom-sendfax:3] NoOp("SIP/ast-0a059bd0", "TX: FAXBITRATE is ") in new stack
-- Executing [h@custom-sendfax:4] NoOp("SIP/ast-0a059bd0", "TX: FAXERROR is Channel problems") in new stack
-- Executing [h@custom-sendfax:5] NoOp("SIP/ast-0a059bd0", "TX: FAXSTATUS is FAILED") in new stack

Не подскажите что я неправильно делаю?

Added after 3 hours 21 minutes:

Забыл добавить, факс отправляется через Т.38, если отправляется через Т.30, то все нормально.
#13

а есть ли решение что бы работало на терминальных серверах? (бесплатное)
для hulafax есть , но они платные Sad
#14

Делал всё по мануалу.

При попытке что-то напечатать на принтер, печать идёт и всё - дальше ничего, зато в логах Samba и CUPS вот такое:

Cups
Цитата:
localhost - - [28/Jun/2008:00:21:08 +0400] "POST / HTTP/1.1" 200 190 Get-Printer-Attributes client-error-not-found
localhost - - [28/Jun/2008:00:21:08 +0400] "POST / HTTP/1.1" 200 190 Get-Printer-Attributes client-error-not-found
localhost - - [28/Jun/2008:00:21:08 +0400] "POST / HTTP/1.1" 200 190 Get-Printer-Attributes client-error-not-found


Samba
Цитата:
[2008/06/28 00:11:16, 1] smbd/service.c:make_connection_snum(1033)
clientnikitoska (192.168.0.2) connect to service fax initially as user cracker (uid=1001, gid=441) (pid 1518)
[2008/06/28 00:11:16, 0] printing/print_cups.c:cups_job_submit(656)
Unable to print file to fax - client-error-not-found


client-error-not-found. Почему и что с ним сделать? Хочется очень настроить всё. Буду признателен за помощь.
#15

первый же ответ в гугле выдал ссылку на статью
"Why Am I Getting Client-Error-Not-Found" Wink говорящее название..
#16

Sad чего не выполняется команда mv?
#17

Link писал(а):
Извините!
Проблему решил!
На папку outgoing не те права были!!!
Sad


хехе. наверное одному только богу известно сколько раз я наступал уже на эти грабли c правами Noob как факсы ставлю, так и наступаю каждый раз Embarassed
#18

создается файл в папке out/ fax-30.07.2008.call с правами 666 nobody nobody.
после чего mv не выполняеться...
Права на папку outgoing 755 asterisk asterisk

Подскажите в чем проблема????
#19

А какая ошибка то выводится?

Попробуйте указать полный путь к команде.
/bin/mv

_________________
Человек мира. RHCE + clustering.
#20

делал /bin/mv не выполняется!!!
#21

от какого пользователя делаете?....может прав на выполнение команды mv нету?
#22

от asterisk
#23

ну дак вы посмотрите, есть ли права у этого пользователя на команду mv
#24

поставил пользователя который имеет права!
тоесть запускаю скрипт от себя!

а насчет asterisk
asterisk ALL = NOPASSWD: /bin/mv


Подскажите что делать!
#25

за статью 5 баллов!