VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Автообзвон-возможен ли переход от Playback к SendFax?

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Hades
Сообщения: 9
Зарегистрирован: 25 фев 2016, 11:51

Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение Hades »

Астериск включен по Sip в CiscoAS5350. Далее 2 Е1 ISDN PRI. Используется только для автоматического обзвона должников с использованием call-файлов. Иногда попадает на факсы, включенные на автоматический прием. Смысл проговаривать ему записанное извещение конечно отсутствует. Мучает мысль чтобы вместо голоса ему просто отправить факс с тем же содержимым. Отправка факсов реализована и проверена с участием человека на MicroSIP по нажатию *3 .
Реально ли реализовать такую схему? Если да, то как заставить Астер детектировать факс и далать переход на отправку факса?Ниже куски конфигов. Циска и астер оба мои.
sip.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
disallow=all
allow=alaw
allow=ulaw
allow=g729
allow=gsm
allow=g723
allow=g726
language=ru
faxdetect=yes
t38pt_udptl=yes,redundancy,maxdatagram=400
[cisco5350]
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
type=peer
host=192.168.44.4
username=cisco5350
fromuser=80000000
fromdomain=192.168.44.77
callerid=80000000
nat=no
dtmfmode=rfc2833
insecure=port
canreinvite=no
context=incoming
qualify=no
features.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[applicationmap]
;Set(DYNAMIC_FEATURES=fax_send)
fax_send => *3,callee,Macro(fax)
udptl.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]
start=39601
udptlend=39999
T38FaxUdpEC = t38UDPRedundancy
T38FaxMaxDatagram = 400
udptlfecentries = 1
udptlfecspan = 3
t38pt_rtp=no
t38pt_tcp=no
extensions.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[payrem]
exten => _XXXXXXX,1,Set(NUM=${NUMBER})
exten => _XXXXXXX,n,NoOp(${NUM})
exten => _XXXXXXX,n,Answer
exten => _XXXXXXX,n,Wait(1)
exten => _XXXXXXX,n,Playback(/var/lib/asterisk/sounds/ru/payrem)
exten => _XXXXXXX,n,Set(CDR(userfield)=${CDR(dst)}--${CDR(disposition)})
exten => _XXXXXXX,n,Hangup()
exten => failed,1,Set(NUM=${NUMBER})
exten => failed,n,NoOp(${NUM})
exten => failed,n,Set(CDR(userfield)=${CDR(dst)}--${CDR(disposition)})
exten => failed,n,Hangup()
[macro-fax]
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
exten => s,1,Answer()
exten => s,1,NoOp(************** SENDING FAX... *****************)
exten => s,n,System(/usr/bin/gs -dSAFER -dBATCH -dQUIET -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196 -dNOPAUSE -sOutputFile=/var/spool/asterisk/fax/Fax_Aster.tiff /var/spool/asterisk/fax/Fax_Aster.pdf)
exten => s,n,Set(LOCALSTATIONID=800000000)
exten => s,n,Set(LOCALHEADERINFO="XXXXXX.XXXXXXX")
exten => s,n,SendFAX(/var/spool/asterisk/fax/Fax_Aster.tiff)
exten => s,n,Hangup()
CLI> core show version
Asterisk 1.8.7.1 built by root @ ххххх on a x86_64 running Linux on 2014-09-26 13:29:00 UTC
CLI> module show like fax
Module Description Use Count
res_fax.so Generic FAX Applications 1
res_fax_spandsp.so Spandsp G.711 and T.38 FAX Technologies 0
2 modules loaded
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение april22 »

1. авто обзвон не приветствуется !
2. конфиги старайтесь прятать под споллер.
Своими вопросами , вы загоняете меня в ГУГЛЬ.
Hades
Сообщения: 9
Зарегистрирован: 25 фев 2016, 11:51

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение Hades »

Учту.
По поводу автообзвона абсолютно согласен, но я оператор и после наступления конечной даты оплаты услуг обязан уведомить абонентов о задолженности и возможном ограничении предоставления услуг.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение ded »

Уведомление может быть и другими способами.
Согласно Закону о связи вы должны сначала получить письменное согласие об уведомлениях.
20 лет назад уже можно было зарядить на отправку бесконечный факс: 3 страницы, склееные в кольцо. Передача такого "многостраничного факса" ночью оставляла офис без рулона термобумаги.
Сейчас уже нет термобумаги, но принципы остались.
Hades
Сообщения: 9
Зарегистрирован: 25 фев 2016, 11:51

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение Hades »

Чтобы не слушать лекции о гипотетическом законе о связи (я не знаю закон какой именно страны подразумевается) могу перефразировать вопрос:
Возможна ли автоматическая отправка заранее подготовленного факсимильного сообщения при инициированном изначально голосовом звонке и получении ответа от факс машины?
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение ded »

Я понял, Вы - с Украины.
Ответ на вопрос -
Возможна ли автоматическая отправка заранее подготовленного факсимильного сообщения при инициированном изначально голосовом звонке и получении ответа от факс машины?
- да, возможна. Есть опция faxdetect=yes в sip.conf
которая слушает CNG tones в аудиоканале,
http://what-when-how.com/voip/fax-and-m ... sics-voip/
попросту - писк факса. И, если услышит - перекидывает в контекст [fax] например. Где и можно организовать отправку факса, типа

Код: Выделить всё

exten => s,1,Answer()
exten => s,n,NoOp(Sending fax.....)
exten => s,n,SendFax(${FAX_OUTBOUND},d)
exten => s,n,Hangup()
exten => s,n,GotoIf($["${FAXOPT(status)}" != "SUCCESS" ]?finish)
exten => s,n,NoOp(Fax was sent successful.)
exten => s,n(finish),Hangup()
Hades
Сообщения: 9
Зарегистрирован: 25 фев 2016, 11:51

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение Hades »

Вот с этим пробросом у меня проблемма.
Если я правильно понял книжку это должен делать экс fax

Код: Выделить всё

[outgo]
exten => _XXXXXXX,1,Answer
exten => _XXXXXXX,n,Wait(1)
exten => _XXXXXXX,n,Set(DYNAMIC_FEATURES=fax_send)
exten => _XXXXXXX,n,Dial(Sip/cisco5350/${EXTEN})
exten => fax,1,NoOp(*****FAXTONE_RECEIVED*****)
exten => fax,2,Goto(fax_send,s,1)
exten => _XXXXXXX,n,NoOp(${EXTEN}
exten => _XXXXXXX,n,Set(CDR(userfield)=${CDR(dst)}--${CDR(disposition)})
exten => _XXXXXXX,n,Hangup()
exten => _567,1,Goto(567,567,1)
exten => 111,1,Goto(fax_send,s,1)
По идее должны перейти сюда

Код: Выделить всё

[fax_send]
exten => s,1,Answer()
exten => s,n,Set(DYNAMIC_FEATURES=fax_send)
exten => s,n,Dial(sip/cisco5350/2200712)
exten => s,n,NoOp(***TRY_TO_SEND_SOMTHING***)
exten => s,n,SendFAX(/var/spool/asterisk/fax/Fax_Aster.tiff,f,z)
exten => s,n,NoOp(${FAXSTATUS})
exten => s,n,NoOp(${FAXERROR})
exten => s,n,Set(NUM=${EXTEN})
exten => s,n,Set(CDR(userfield)=${CDR(dst)}--${CDR(disposition)})
exten => s,n,Hangup()
Только после набора номера факса вижу это

Код: Выделить всё

 -- Executing [2200712@outgo:1] Answer("SIP/1000-00000195", "") in new stack
    -- Executing [2200712@outgo:2] Wait("SIP/1000-00000195", "1") in new stack
    -- Executing [2200712@outgo:3] Set("SIP/1000-00000195", "DYNAMIC_FEATURES=fax_send") in new stack
    -- Executing [2200712@outgo:4] Dial("SIP/1000-00000195", "Sip/cisco5350/2200712") in new stack
  == Using UDPTL CoS mark 5
  == Using SIP RTP CoS mark 5
    -- Called Sip/cisco5350/2200712
    -- SIP/1000-00000195 requested special control 20, passing it to SIP/cisco5350-00000196
    -- SIP/cisco5350-00000196 is making progress passing it to SIP/1000-00000195
    -- SIP/cisco5350-00000196 answered SIP/1000-00000195
И далее факс отбивается по таймауту

Меня вот это вводит в заблуждение
Can Asterisk act as a fax/voice switch?
The answer is simple: Yes, it can. If you Answer() the call before you Dial() an extension, Asterisk will listen for fax beeping. If the call is an fax, it will automatically jump into the fax extension IF your fax call comes in thru a ZAP channel (i.e. not a CAPI channel).

Background info: It's not the card that detects the fax. Its the builtin code in asterisk that does it (dsp.c). chan_zap.c is currently the only channel driver that uses the faxdetection but in theory it could be enabled/used in other channel drivers as well.

Т.е. вроде как Sip не понимает этот самый fax экстеншин
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение ded »

Процитированый отрывок
Can Asterisk act as a fax/voice switch?
The answer is simple: Yes, it can. If you Answer() the call before you Dial() an extension, Asterisk will listen for fax beeping. If the call is an fax, it will automatically jump into the fax extension
и кусок диалплана

Код: Выделить всё

exten => fax,1,NoOp(*****FAXTONE_RECEIVED*****)
exten => fax,2,Goto(fax_send,s,1)
относится к приёму факса, а не к отправке. То есть должно быть Goto(fax_receive,s,1), а лучше в макрос exten => fax,2,Macro(fax-receive)
Совсем другой сценарий.
Обычно при входящем вызове сразу делается Answer, и тогда анализируется входящий медиа канал. Если там кто-то начинает говорить - то это голос, переключается автоматически в

Код: Выделить всё

exten => talk,1,NoOp(*****Human detected*****)
exten => talk,2,>Dial(SIP/100,,t)
а если слышит факс - CNG tones, то переключает в

Код: Выделить всё

exten => fax,1,NoOp(*****FAXTONE_RECEIVED*****)
exten => fax,2,Goto(fax_send,s,1)
Hades
Сообщения: 9
Зарегистрирован: 25 фев 2016, 11:51

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение Hades »

Обычно при входящем вызове сразу делается Answer, и тогда анализируется входящий медиа канал. Если там кто-то начинает говорить - то это голос, переключается автоматически в
КОД: ВЫДЕЛИТЬ ВСЕ
exten => talk,1,NoOp(*****Human detected*****)
exten => talk,2,>Dial(SIP/100,,t)
а если слышит факс - CNG tones, то переключает в
КОД: ВЫДЕЛИТЬ ВСЕ
exten => fax,1,NoOp(*****FAXTONE_RECEIVED*****)
exten => fax,2,Goto(fax_send,s,1)
В приведенном мной примере нет прямого указания, что он касается входящего факса, наоборот я понял, что для исходящего ибо Астер слушает факс-тон между ансвером и диалом. Т.е. настроил канал по ансверу, послушал и начал набирать.
Остались таки неясными следующие моменты:
1. На каких интерфейсах таки работает детектирование факс-тона и переход по экстеншену fax ? У меня в памяти почему-то крутится, что только на DAHDI. а у меня напомню только SIP.
2. Как описать ситуацию только для исходящего вызова, при условии, что этот переход работает и для SIP?

Продолжение процитированного

Sample code to receive a fax:

Код: Выделить всё

[default]
; Answer the line and listen
exten => s,1,Answer
; Dial an extension, let asterisk give a ringtone
exten => s,2,Dial(IAX2/3987,40,r)
; Hangup if nobody picked up within 40 seconds
exten => s,3,Hangup

; Did we get a fax?
exten => fax,1,SetVar(FAXFILE=/var/spool/asterisk-fax/${UNIQUEID}.tif)
exten => fax,2,rxfax(${FAXFILE})
Sample code to send a fax:

Код: Выделить всё

Channel:ZAP/G1/1234567
MaxRetries: 0
WaitTime: 20
Application:txfax
Data:/tmp/faximage.tif|caller
Вот что это за приложение txfax?

Как говорится - хоть рукой махните куда двигаться?
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: Автообзвон-возможен ли переход от Playback к SendFax?

Сообщение Glukinho »

Вам нужно сделать так:
exten => _XXXXXXX,n,Dial(Sip/cisco5350/${EXTEN},M(fax-send))

[macro-fax-send]
exten => s,1,SendFAX(file.tif)
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH