Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
astpanel:ats:asterisk:faxsend_v6 [2013/11/26 10:05] apor [Пример dialplan] |
astpanel:ats:asterisk:faxsend_v6 [2018/06/08 09:19] (текущий) apor |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== 10000333. Настройка Asterisk для отправки факсов ====== | ====== 10000333. Настройка Asterisk для отправки факсов ====== | ||
+ | <note important>**В этой статье описан алгоритм работы**. Пример реализации описан в [[http://wiki.miko.ru/astpanel:dialplan_miko_ajam | статье]] </note> | ||
+ | |||
[[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]] | [[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]] | ||
Строка 47: | Строка 49: | ||
exten => h,1,GotoIf($["${FAXSTATUS}" = "SUCCESS"]?h,success:h,failed) | exten => h,1,GotoIf($["${FAXSTATUS}" = "SUCCESS"]?h,success:h,failed) | ||
; сообщим 1С о неудаче | ; сообщим 1С о неудаче | ||
- | exten => h,n(failed),UserEvent(SendFaxStatusFail,Channel: ${chan},CallerID: ${faxcallerid}) | + | exten => h,n(failed),UserEvent(SendFaxStatusFail,chan1c: ${chan},CallerID: ${faxcallerid}) |
exten => h,n,Hangup | exten => h,n,Hangup | ||
; сообщим 1С об успешности операции | ; сообщим 1С об успешности операции | ||
- | exten => h,n(success),UserEvent(SendFaxStatusOk,Channel: ${chan},CallerID: ${faxcallerid}) | + | exten => h,n(success),UserEvent(SendFaxStatusOk,chan1c: ${chan},CallerID: ${faxcallerid}) |
; сохраним имя файла в поле recordingfile | ; сохраним имя файла в поле recordingfile | ||
exten => h,n,Set(CDR(recordingfile)=${faxfile}.tif) | exten => h,n,Set(CDR(recordingfile)=${faxfile}.tif) | ||
Строка 61: | Строка 63: | ||
В качестве ресурса для загрузки файла может служить php скрипт: | В качестве ресурса для загрузки файла может служить php скрипт: | ||
- | <code> | + | <code 1C> |
<?php | <?php | ||
$ASTSPOOLDIR = '/var/spool/asterisk'; | $ASTSPOOLDIR = '/var/spool/asterisk'; | ||
Строка 108: | Строка 110: | ||
?> | ?> | ||
</code> | </code> | ||
+ | |||
+ | <note important>Для конвертации PDF to TIFF используется приложение Ghostscript</note> | ||
+ | <note important>Если для загрузки файла используется php или прочий скрипт, путь к нему следует указать в приложении **10000111**, в пврвметре **${FaxSendUrl}**.</note> | ||
+ | ==== Проверка работы скрипта ==== | ||
+ | Допустим скрипт опубликован как ресурс "**/admin/1c/upload/index.php**" | ||
+ | |||
+ | <code>shell>curl -F 'file=@fax.tif' 'http://<IP_PBX>/admin/1c/upload/index.php' | ||
+ | shell>curl -F "file=@fax.pdf" 'http://<IP_PBX>/admin/1c/upload/index.php'</code> | ||
+ | |||
+ | ==== Проверка отправки факса ==== | ||
+ | |||
+ | <code>#!/bin/sh | ||
+ | # скрипт должен лежать в каталоге | ||
+ | dir_script='/tmp/send_fax'; | ||
+ | astspooldir='/var/spool/asterisk'; | ||
+ | # файл должен лежать в каталоге $dir_script | ||
+ | file_fax_name='send_fax_img'; | ||
+ | ext_file='.tif'; | ||
+ | |||
+ | # | ||
+ | call_text="Channel: Local/20190@from-internal | ||
+ | Context: miko_ajam | ||
+ | Extension: 10000333 | ||
+ | MaxRetries: 2 | ||
+ | RetryTime: 600 | ||
+ | WaitTime: 25 | ||
+ | Callerid: Alexey<104> | ||
+ | Set: faxfile=$file_fax_name"; | ||
+ | |||
+ | echo "$call_text" > /tmp/file.call; | ||
+ | cp "$dir_script/$file_fax_name$ext_file" "$astspooldir/fax/$file_fax_name$ext_file" | ||
+ | mv '/tmp/file.call' '$astspooldir/outgoing/'; | ||
+ | |||
+ | asterisk -rvvv;</code> | ||
+ | |||
+ | Каналом:\\ | ||
+ | * Local/20190@from-internal | ||
+ | определяется АТС - приемник факса, вряд ли выйдет отправить факс на свою же АТС. | ||
+ | |||
+ | [[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]] |