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

снова про факс

1

Так и не нашел к сожалению инструкцию до конца Установил Free Fax Asterisk по инструкции все нормально. Входящие факсы приходят все отлично. Но как отправить факс так и не нашел толком. Незнаю правильно ли исправьте где не так.

exten => 9,1,Dial(DAHDI/g1/2918333,120,M(sendfax)) [macro-sendfax]
exten => s,1,NoOp(
* SENDING FAX *)
exten => s,n,Wait(6)
;exten => s,n,Set(GLOBAL(FAXCOUNT)=$[ ${GLOBAL(FAXCOUNT)} + 1 ])
;exten => s,n,Set(FAXCOUNT=${GLOBAL(FAXCOUNT)})
exten => s,n,Set(FAXFILE=/var/spool/asterisk/tmp/1.tif)
; Set FAXOPTs
exten => s,n,NoOp(
* SETTING FAXOPT *)
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FAXOPT(headerinfo)=Fax from was received.)
exten => s,n,Set(FAXOPT(localstationid)=2918333)
exten => s,n,Set(FAXOPT(maxrate)=14400)
exten => s,n,Set(FAXOPT(minrate)=2400)
; Send the fax
exten => s,n,NoOp(
* SENDING FAX : ${FAXFILE} *)
exten => s,n,SendFAX(${FAXFILE},d)
exten => s,n,Hangup()

При дебаге выдает -- Executing [9@ivr:1] Dial("DAHDI/31-1", "DAHDI/g1/2918333,120,M(sendfax)") in new stack -- Requested transfer capability: 0x10 - 3K1AUDIO -- Called g1/2918333 -- Channel 0/1, span 1 got hangup, cause 1 -- Hungup 'DAHDI/1-1'

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

спросил 2011-06-28 05:32:16 +0400

unknown Gravatar unknown
179 23 1 9

обновил 2011-06-28 11:25:50 +0400

3 Ответа

1
<?php
$callto = $argv[1];
$sys_ip = "serverip";
$User_str = "login";
$Secret_str = "password";
$oSocket = fsockopen($sys_ip, 5038, $errnum, $errdesc) or die("Connection to host failed");
fputs($oSocket, "Action: login\r\n");
sleep(1);
fputs($oSocket, "Username: $User_str\r\n");
sleep(1);
fputs($oSocket, "Secret: $Secret_str\r\n\r\n");
sleep(1);
fputs($oSocket, "Events: off\r\n\r\n");
sleep(1);
fputs($oSocket, "Action: originate\r\n");
sleep(1);
fputs($oSocket, "Channel: SIP/SPA-400/$callto\r\n");
sleep(1);
fputs($oSocket, "Exten: s\r\n");
sleep(1);
fputs($oSocket, "Context: outboundfax\r\n");
sleep(1);
fputs($oSocket, "Priority: 1\r\n\r\n");
sleep(1);
fputs($oSocket, "Timeout: 100\r\n");
sleep(1);
fputs($oSocket, "Async: true\r\n");
sleep(1);
fputs($oSocket, "Action: Logoff\r\n\r\n");
sleep(1);
fclose($oSocket);
?>

Я не юзаю кол-файлы, а юзаю АМИ. Почти тоже самое.

логин и пароль прописываеш в файле /etc/asterisk/managers.conf
SIP/SPA-400 в моём случае это транк на FXO
$callto - номер телефона
outboundfax - название контекста описаного выше в файле extension_custom.conf

Я вызываю так:

php /route/to/script.php 2441111
ссылка удалить спам редактировать

ответил 2011-06-28 13:17:40 +0400

cvieri Gravatar cvieri
673 12 4 21
http://www.qcall.com.ua/

обновил 2011-06-28 13:49:55 +0400

Comments

со скриптами еще не работал, поэтому не могли бы просветить в extensions.conf Надо что то прописывать, и как его вызвать! Вообще в моей задаче идеальный вариант это скрипт. unknown ( 2011-06-28 13:40:18 +0400 )редактировать
см выше cvieri ( 2011-06-28 13:50:29 +0400 )редактировать
а где указывается имя файла? unknown ( 2011-06-29 04:54:46 +0400 )редактировать
и у меня щвонок уходит по е1 соответсевнно тогда не логин не пароль не нужны? Сервер ип тоже не нужно?* unknown ( 2011-06-29 07:36:02 +0400 )редактировать
E1 тоже имеет транк, значит имя транка нужно. Сервер ип нужно, логин и пароль тоже. Прочтите кратко про АМИ в интернете. Не буду я вам в рот всё пережёванное же класть. cvieri ( 2011-06-29 09:20:25 +0400 )редактировать
0
exten => s,1,NoOp(send a fax)
exten => s,n,Set(FAXOPT(filename)=${FAXFILE})
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FAXOPT(headerinfo)=Fax from %COMPANY_NAME%)
exten => s,n,Set(FAXOPT(localstationid)=000000000)
exten => s,n,Set(FAXOPT(maxrate)=14400)
exten => s,n,Set(FAXOPT(minrate)=2400)
exten => s,n,SendFAX(/sysutils/fax.tif)
exten => s,n,Hangup
exten => h,1,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})

А этот контекст вызываю через кол-файл

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

ответил 2011-06-28 11:07:18 +0400

cvieri Gravatar cvieri
673 12 4 21
http://www.qcall.com.ua/

обновил 2011-06-28 11:08:30 +0400

Comments

что такое кол-файл? unknown ( 2011-06-28 11:20:36 +0400 )редактировать
не затруднит показать как сделано именно у вас? unknown ( 2011-06-28 12:37:51 +0400 )редактировать
0

Задам вопрос тут чтобы было более читабельно Получилось у меня отправить фак но только используя ivr exten => 11,1,Dial(DAHDI/g1/2918003,120,M(sendfax))


[macro-sendfax]
exten => s,1,NoOp(* SENDING FAX )
exten => s,n,Wait(6)
exten => s,n,Set(FAXFILE=/var/spool/asterisk/tmp/1.tif)
; Set FAXOPTs
exten => s,n,NoOp(
SETTING FAXOPT )
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FAXOPT(headerinfo)=Fax from was received.)
exten => s,n,Set(FAXOPT(localstationid)=2918333)
exten => s,n,Set(FAXOPT(maxrate)=14400)
exten => s,n,Set(FAXOPT(minrate)=2400)
; Send the fax
exten => s,n,NoOp(
SENDING FAX : ${FAXFILE} *)
exten => s,n,SendFAX(${FAXFILE},d)
exten => s,n,Hangup()


И то почему то это если я звоню по внутренней сип линии, если я звоню через внешний е1 не отправляет. С пхп тоже что то не получается, пишет ошибку


-- Executing [11@ivr:1] Dial("DAHDI/29-1", "DAHDI/g1/2918003,120,M(sendfax)") in new stack

-- Requested transfer capability: 0x00 - SPEECH

-- Called g1/2918003

-- Channel 0/1, span 1 got hangup, cause 1

-- Hungup 'DAHDI/1-1'


Пхп в консоле запускается там никакких ошибок не выдает сам скрипт такой как вы выкладывали токо параметры подключения свои вставил и все


$sys_ip = "localhost";

$User_str = "admin";

$Secret_str = "xxx";

$oSocket = fsockopen($sys_ip, 5038, $errnum, $errdesc) or die("Connection to host failed");

fputs($oSocket, "Action: login\r\n"); sleep(1);

fputs($oSocket, "Username: $User_str\r\n"); sleep(1);

fputs($oSocket, "Secret: $Secret_str\r\n\r\n"); sleep(1);

fputs($oSocket, "Events: off\r\n\r\n"); sleep(1);

fputs($oSocket, "Action: originate\r\n"); sleep(1);

fputs($oSocket, "Channel: DAHDI/g1/$callto\r\n"); sleep(1);

fputs($oSocket, "Exten: s\r\n"); sleep(1);

fputs($oSocket, "Context: macro-sendfax\r\n"); sleep(1);

fputs($oSocket, "Priority: 1\r\n\r\n"); sleep(1);

fputs($oSocket, "Timeout: 100\r\n"); sleep(1);

fputs($oSocket, "Async: true\r\n"); sleep(1);

fputs($oSocket, "Action: Logoff\r\n\r\n"); sleep(1);

fclose($oSocket);

в Cli выдает

== Manager 'admin' logged on from 127.0.0.1

-- Requested transfer capability: 0x00 - SPEECH
-- Channel 0/1, span 1 got hangup, cause 1
-- Hungup 'DAHDI/1-1'

== Manager 'admin' logged off from 127.0.0.1

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

ответил 2011-06-29 11:03:41 +0400

unknown Gravatar unknown
179 23 1 9

обновил 2011-06-29 13:07:30 +0400

Comments

пхп скрипт в студию и ошибку. добавь к текущему ответу cvieri ( 2011-06-29 11:13:13 +0400 )редактировать
лог астериска выложи при запуске пхп cvieri ( 2011-06-29 12:58:40 +0400 )редактировать
перенес в конец ответа! unknown ( 2011-06-29 13:19:52 +0400 )редактировать
тогда ничем не могу помочь... может кто работал с е1 и дахди подскажет. cvieri ( 2011-06-29 13:34:59 +0400 )редактировать
спасибо за помощь со скриптом, в нем я разобрался, попробуй дальше поискать про е1 unknown ( 2011-06-29 13:39:15 +0400 )редактировать
не за что. cvieri ( 2011-06-29 14:13:52 +0400 )редактировать
Оказывается астериск не отдавал callerid unknown ( 2011-06-30 07:48:44 +0400 )редактировать

Ваш ответ

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 ленту новостей

Статистика

Задан: 2011-06-28 05:32:16 +0400

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

Обновлен: Jun 29 '11

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