Страница 1 из 2

Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 10:36
Дюки
Всем привет. Столкнулся с проблемой принятия факса и последующий отправки его на e-mail.
Кто сталкивался с данным ТЗ прошу разместите пожалуйста тут весь пусть ваших настроек.

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 10:39
awsswa
тут 2 задания
Принять факс
И отправить на почту

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 10:50
Дюки
В общем в поисковиках нашел вот что:
Пример диалплана для приема Факсов
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[incoming]
exten => fax,1,NoOp(-------------------Call from ${CALLERID(number)} to ${EXTEN}------------------)
exten => fax,n,Goto(fax-rx,receive,1)

[fax-rx]
exten => receive,1,NoOP(------------------- FAX from ${CALLERID(number)} ------------------)
exten => receive,n,Answer()
exten => receive,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(number)})
exten => receive,n,Set(FAXFILE=/var/spool/asterisk/fax/receive/${FILENAME}.tif)
exten => receive,n,Set(FAXOPT(headerinfo)=Received by ${CALLERID(number)} ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)})
exten => receive,n,Set(FAXOPT(localstationid)=OFFICE)
exten => receive,n,Set(FAXOPT(maxrate)=14400)
exten => receive,n,Set(FAXOPT(minrate)=2400)
exten => receive,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => receive,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => receive,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => receive,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => receive,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => receive,n,NoOp(**** RECEIVING FAX : ${FAXFILE} ****)
exten => receive,n,ReceiveFAX(${FAXFILE})
exten => receive,n,Hangup()
exten => h,1,NoOP(------------------- FAX from ${CALLERID(number)} ------------------)
exten => h,n,NoOP(------------------- STATUS ${FAXSTATUS} ${FAXERROR} ------------------)
exten => h,n,system(/var/lib/asterisk/agi-bin/fax/fax-process.pl --to fax@asterisk.org --from asterisk@asterisk.org --subject "Fax prineat s ${URIENCODE(${CALLERID(number)})} ${URIENCODE(${CALLERID(name)})}" --attachment ${FILENAME}.pdf --type application/pdf --file ${FAXFILE});

<a href="http://asterisk-system.ru/wp-content/up ... pl">Скрипт для конвертации полученного факса и отправки на почту</a>
После отправки факса запускается перловый скрипт “sendfax_success.pl”, который отправляет на почту информацию о статусе отправки, и перемещает отправленные файлы в другую директорию. В принципе сам скрипт как пример(выставляю по просьбе трудящихся), можете переделать под ваши задачи.

#!/usr/bin/perl
#
#
#
# Developed by 2012 Mihail Belobrov
#
# Скрипт подтверждения успешной отправки факса
#

use strict;
use warnings;
use Net::SMTP;

my $response = $ARGV[0];
my $done_dir = "/var/spool/asterisk/fax/send/done";
my $queue_dir = "/var/spool/asterisk/fax/send/queue";
my $from_mail;

#парсим нужные данные
chomp($response);
my $filename = $1 if ($response =~ /\/var\/spool\/asterisk\/fax.+(sendto.+\.tif)/);
my $phone = $1 if ($response =~ /\/var\/spool\/asterisk\/fax.+sendto_(\d+)_.+\.tif/);
my $faxname = $1 if ($response =~ /\/var\/spool\/asterisk\/fax.+sendto_\d+_(.+\.tif)/);
my $file_without = $1 if ($response =~ /\/var\/spool\/asterisk\/fax.+(sendto_\d+_.+)\.tif/);

sleep(3);
#Перемещаем успешно, переданные факсы в папку done
system("/bin/mv $response $done_dir");

#Выбираем дополнительные данные

my $mail_user_to = 'fax1\@yourdomain.com';
my $mail_user_from = 'asterisk\@yuordomain.com';
my $mail_server = 'mail.yourdomain.com';
my $mail_user = 'fax1\@yourdomain.com';

my $subj = 'Fax otrpavlen';
my $Body='Факс '.$faxname.' на номер '.$phone.' отправлен успешно!';

my $smtp = Net::SMTP->new($mail_server);
$smtp->mail($ENV{USER});
$smtp->to($mail_user);
$smtp->data();
$smtp->datasend("To: $mail_user_to\n");
$smtp->datasend("From: $mail_user_from\n");
$smtp->datasend("Subject: $subj\n");
$smtp->datasend("\n");
$smtp->datasend("$Body\n");
$smtp->dataend();
$smtp->quit;
=============================================================
Не помню где стянул. Но не могу разобраться в его работе. Пожалуйста разжуйте.

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 11:08
zzuz
Жую.
В диаплане принимается факс через драйвер fax_digium.so . Далее отправляется письмо с этим факсом кривым скриптом на Perl пьяного программиста , который писал его 15 лет назад.

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 11:16
Дюки
Да мне все равно на перле он или на языке древних египтян. По сути можете выложить рабочий вариант с разъяснениями.

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 11:30
zzuz
Вы уже скачали рабочий скрипт. Разъяснения у автора спрашивайте. Копание в чужом коде - работа неблагодарная.
Как пользоваться скриптом указано в примере
exten => h,n,system(/var/lib/asterisk/agi-bin/fax/fax-process.pl ....

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 13:40
awsswa
платный суппорт у нас приветствуется :)
желающих тут помочь море

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 14:25
awsswa
спугнешь клиента :)

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 15:19
Дюки
switch писал(а):awsswa, да ты что! Он же поставил Астерикс и теперь ему все должны!
Без таких соплей как ты уже разобрался. Сделал удобнее. Да и нахрен этот форум нужен, 20 процентов новичков, 5 процентов гуру. Остальные такие как ты маразматики. Так что "ВАСЯ" мы тебе не фраера!

Re: Астрикс, не могу принять факс.

Добавлено: 03 апр 2013, 15:26
zzuz
Дюки , Вы не представляете , как я рад вашему высказыванию. Потому что я начал беспокоиться , что на этой недели нарушится статистика. А заключается она , эта статистика , что в неделю раз-два появляется требовательный и хамский быдлоадмин и начинает свой танец эникейщика, потрясывая пузом и раздутыми щеками. Пойду бахну чего-нить по этому поводу))