Делаю так:
| Код: |
| exten => 999,n,Dial(IAX2/iaxmodem0/${CALLERID(num)},20,r) |
Но при этом CALLERID(num) - это получается номер того, кто "позвонил", оригинал, а не того, кто перевел звонок на 999.
А вот как достать здесь номер переводчика?
| Цитата: |
| а на почтовый ящик того абонента *, который перевел запрос приема факса на этот Fax-сервер. |
так при переводе как раз и должен быть номер кто перевел!
А касательно отправки на email абонента, нада же где то достать, узнать этот самый email.
У меня используется выбор с АД, вы можете использовать как БД, так и astDB где заранее прописать email-ы, но для этого нада будет и править сам FaxDispatch, в зависимости от того какой способ вы выберете.
для начала выхватываю из переменной BLINDTRANFERER номер. Далее стартует свой perl-скрипт которому передаю имя файла факса и этот номер. Ну а далее два варианта можете делать:
1. если не много людей-получателей - вбейти их в сам скрипт
2. пропарсите voisemail.conf на предмет этого номера и получите адрес
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
| Код: |
| exten => 999,n,Dial(IAX2/iaxmodem0/${BLINDTRANFERER},20,r) |
?
Будем пробовать...
-------------
Увы-с... Нет у меня в системе такой переменной. Где ее можно добыть, как поставить? Скрипт-то я любой напишу, было бы от чего отталкиваться, что анализировать... А вот переменная BLINDTRANSFER - есть. Это она и есть?
Последний раз редактировалось: Cruiser78 (Чт Янв 26, 2012 14:00)
Пошел писать скрипты...
Теперь осталось протащить факс из внешнего мира. А то внутри локалки - ходит, а из внешнего мира - внешний не может повязаться с hylafaxом. Пишет, что нет ответа (хотя я свист ушами прекрасно слышу).
| Код: |
| exten => 999,1,Set(FAXFROM=${IF($["${BLINDTRANSFER}"=""]?${CALLERID(num)}:${CUT(CUT(BLINDTRANSFER,-,1),/,2)})}) exten => 999,n,Dial(IAX2/iaxmodem0/${FAXFROM},20,r) |
То есть, если прямой звонок, то подставить номер от прямого звонка (FaxDispatch потом разберется), если по переводу, то поставить номер переводящего.
и FaxDispatch в пару строк получился:
| Код: |
| FILETYPE=pdf; address=`/bin/grep $CALLID4 /etc/asterisk/voicemail.conf | /bin/awk -F , '{print $3}'` if [ "x$address" == "x" ]; then SENDTO="faxrecip@mycorp.ru" else SENDTO=$address fi |
Подозреваю что должно быть как-то так
| Код: |
| FILETYPE=pdf; address=`${BLINDTRANSFER}@mycorp.ru` if [ "x$address" == "x" ]; then SENDTO="faxrecip@mycorp.ru" else SENDTO=$address fi |
Поправьте пожалуйста, если ошибаюсь.
Cruiser78, Если не сложно, поделитесь пожалуйста, окончательным работающим вариантом Faxdispatch с Вашим решением.[/code]
_________________
Shit happens
и в диалплане определить в переменную значение BLINDTRANSFER и передать в Dial(IAX2/iaxmodem/${variable})
| Код: |
| # cat /var/spool/hylafax/etc/FaxDispatch FILETYPE=pdf address=`/bin/grep $CALLID4 /etc/asterisk/voicemail.conf | /bin/awk -F , '{print $3}'` message="CALLERID4=.$CALLID4., address=.$address." /bin/logger -t FaxDispath $message if [ "x$address" == "x" ]; then SENDTO="corp@my.corp" else SENDTO=$address fi |