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

faxdetect и h extension

Добавлено: 02 май 2012, 11:33
forik
Здравствуйте!
Немного непонятное ситуация: faxdetect работает и в контексте отрабатывает exten => fax,1,Goto(...), но если в том же контексте есть exten => h,1,Goto(...), то при факсе отправляется именно на h.

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

== Redirecting 'SIP/gts-sip-0000012f' to fax extension due to CNG detection
-- Executing [h@office2:1] Goto("SIP/gts-sip-0000012f", "record,h,1") in new stack
-- Goto (record,h,1)
Я так думаю, что просто не успевает на exten => fax перейти. Но и логику по h терять не хотелось бы. Подскажите как можно решить?

Re: faxdetect и h extension

Добавлено: 02 май 2012, 11:46
jugatsu
Надо бы полный контекст для приёма факсов показать. Он не "успевать" не может - выполнение идёт в строгом порядке.

Re: faxdetect и h extension

Добавлено: 02 май 2012, 12:02
Aven
Какая версия?

Re: faxdetect и h extension

Добавлено: 02 май 2012, 14:24
forik
asterisk 1.8

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

[office2];8:30-16:30|mon-fri
exten => s,1,NoOp(${CALLERID(num)} IS CALLING)
exten => s,n,Answer()
exten => s,n,WaitExten(3)
exten => s,n,Set(GLOBAL(Picture)=${CALLERID(num):-4:4})
exten => s,n,GotoIf($[${GROUP_COUNT(first)}>3]?second)
exten => s,n,Set(GROUP()=first)
exten => s,n,Dial(SIP/102&SIP/101&SIP/600&SIP/700,40,t)

exten => s,n(second),GotoIf($[${GROUP_COUNT(second)}>1]?next)
exten => s,n(second),Set(GROUP()=second)
exten => s,n(second),Dial(SIP/103&SIP/104)

exten => s,n(next),Dial(SIP/gts-sip/2909294,15,t)
exten => s,n(next),Dial(SIP/gts-sip/89053187162,15,t)
include => exts
include => from-internal)

[exts]
exten => 2,1,Goto(fax-rx,fax,1)
exten => 3,1,Goto(fax-rx2,fax,1)
exten => 4,1,Goto(fax-tx,${BRIDGEPEER:4:3},1)
exten => fax,1,Goto(fax-rx,fax,1)
exten => h,1,Goto(record,h,1)
Кривой конечно диалплан )

Re: faxdetect и h extension

Добавлено: 02 май 2012, 14:30
Vlad1983
скорей всего из-за include => exts

Re: faxdetect и h extension

Добавлено: 02 май 2012, 14:36
jugatsu
А где контекс fax-rx? И вынесли fax в отдельный контекст и goto на fax-rx.

Re: faxdetect и h extension

Добавлено: 02 май 2012, 14:42
forik
Vlad1983 писал(а):скорей всего из-за include => exts
Если exten => fax и exten => h сделать в том же контексте - ничего не меняет.
jugatsu писал(а):А где контекс fax-rx? И вынесли fax в отдельный контекст и goto на fax-rx.
У меня так и сделано: при 2 либо fax -> goto fax-rx

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

[fax-rx] 
exten => fax,1,NoOp(-- FAX from ${CALLERID(num)} --)
exten => fax,n,Wait(2)
exten => fax,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(number)})
exten => fax,n,Set(FAXFILE=/var/spool/asterisk/tmp/${FILENAME}.tif)
exten => fax,n,Set(FAXOPT(headerinfo)=Received by ${CALLERID(num)} ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)})
exten => fax,n,Set(FAXOPT(localstationid)=OFFICE)
exten => fax,n,Set(FAXOPT(maxrate)=14400)
exten => fax,n,Set(FAXOPT(minrate)=2400)
exten => fax,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => fax,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => fax,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => fax,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => fax,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => fax,n,NoOp(**** RECEIVING FAX : ${FAXFILE} ****)
exten => fax,n,ReceiveFAX(${FAXFILE})
exten => fax,n,Hangup() 
exten => h,1,NoOP(-- FAX from ${CALLERID(number)} --)
exten => h,2,NoOP(-- STATUS ${FAXSTATUS} ${FAXERROR} --)
exten => h,3,System(/home/sky/mailer/flow-my-mail.php -fax ${FAXFILE} ${CALLERID(num)} example@mail.com &)

Re: faxdetect и h extension

Добавлено: 02 май 2012, 15:10
jugatsu
А вот это что за безобразие

[exts]
exten => 2,1,Goto(fax-rx,fax,1)
exten => 3,1,Goto(fax-rx2,fax,1)
exten => 4,1,Goto(fax-tx,${BRIDGEPEER:4:3},1)
exten => fax,1,Goto(fax-rx,fax,1)
exten => h,1,Goto(record,h,1)

Re: faxdetect и h extension

Добавлено: 02 май 2012, 15:38
forik
jugatsu писал(а):А вот это что за безобразие
Это у меня для трансфера звонков на нужные опции :oops: Работает. Так нельзя делать?

Re: faxdetect и h extension

Добавлено: 02 май 2012, 20:28
Aven
forik писал(а):asterisk 1.8
Это не версия, а номер ветки.