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

факсо-эпопея

Добавлено: 21 июн 2012, 14:24
akam
В который раз попробовал настроить факсы. На этот раз у меня удалось, позвонил провайдеру, выяснилось что у него не работает t38. сделал на g711.

Вроде все работает (), кроме одного:
при звонке абоненту (через ivr) факс не отправляется. ругается:

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

chan_sip.c: FAX CNG detected but no fax extension
Что астериску надо сказать, чтобы он нашел этот экстеншн?)

Настроил в ivr кнопку 6 на Получатель факса 3025, позвонил из города, нажал на 6, отправил факс, он пришел на емайл пользователя 3025, как и положено.
Если в ivr набрать 3025, соединяюсь с пользователем и во время разговора факс уже не отправляется, слышны только звуки факса (хотя если перевести звонок на 666 то факс отправиться на емайл системного факса).

Возможно ли настроить отправку факса во время разговора с абонентом? Подскажите куда копать, пожалуйста?

net-misc/asterisk-1.8.12.1
media-libs/spandsp-0.0.6_pre12-r1

UPD:
frepbx-2.10

Re: факсо-эпопея

Добавлено: 21 июн 2012, 14:42
akam
такого экстеншна у меня вообще нет, прописать пробовал уже (как только не пробовал):

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

pbx asterisk # cat extensions_custom.conf 
[ivr-2]
include => outrt-1 ; dusl-dtk
include => outrt-2 ; BASE-analog
include => ext-meetme
include => app-fax

[default]
include => outrt-1 ; dusl-dtk
include => outrt-2 ; BASE-analog
include => ext-meetme
incude => ext-fax
incude => fax

[fax]
Goto (ext-fax,3025,1)
include => ext-fax
может что-то другое надо прописывать?)

Re: факсо-эпопея

Добавлено: 21 июн 2012, 16:13
akam

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

chan_sip.c: FAX CNG detected but no fax extension
кстати, такое соообщение выдается, когда я отправляю факс через IVR (6), ругается, но отправляется...
Значит дело не в экстеншене?

И при неудачной отправке факса он говорит:

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

"Don't know how to represent 'f'"
копаю в сторону dtmf?

Re: факсо-эпопея

Добавлено: 21 июн 2012, 16:36
jugatsu
У тебя faxdetect стоит, убери либо создай екстеншн fax => в соответствующем контексте.

Re: факсо-эпопея

Добавлено: 21 июн 2012, 16:50
akam
сделал faxdetext = no в sip_general_additional.conf и asterisk -r reload

ошибка пропала, но факс так и не проходит, просто попикал немного и все(

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

[2012-06-21 16:46:05] WARNING[25053] abstract_jb.c: Failed to put first frame in the jitterbuffer on channel 'SIP/3025-0000002d'
[2012-06-21 16:46:05] VERBOSE[25053] abstract_jb.c:     -- adaptive jitterbuffer created on channel SIP/3025-0000002d

Re: факсо-эпопея

Добавлено: 22 июн 2012, 11:25
akam
спасибо jugatsu, сделал экстеншены:

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

[from-did-direct]
exten => fax,1,Goto(ext-fax,${CONNECTEDLINE(num)},1)
[ivr-2]
exten => fax,1,Goto(app-fax,666,1)
теперь можно отправлять факс из ivr и разговаривая с пользователем...

Re: факсо-эпопея

Добавлено: 22 июн 2012, 14:42
akam
вопрос вдогонку, можно ли как нибудь проверить имеется ли такой ${CONNECTEDLINE(num)} в ext-fax

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

exten => fax,1,Goto(ext-fax,${CONNECTEDLINE(num)},1)
и если не имеется, то направить звонок в app-fax,666

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

exten => fax,1,Goto(app-fax,666,1)
То есть, если факс для абонента не настроен, то отсылать на системный факс. Подскажите в какую сторону копать?

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

[ext-fax]
include => ext-fax-custom
exten => 301,1,Set(FAX_FOR=Name (301))
exten => 301,n,Noop(Receiving Fax for: ${FAX_FOR}, From: ${CALLERID(all)})
exten => 301,n,Set(FAX_RX_EMAIL=s@zakamye.ru)
exten => 301,n(receivefax),Goto(s,receivefax)

exten => 302,1,Set(FAX_FOR=Name (302))
exten => 302,n,Noop(Receiving Fax for: ${FAX_FOR}, From: ${CALLERID(all)})
exten => 302,n,Set(FAX_RX_EMAIL=a@zakamye.ru)
exten => 302,n(receivefax),Goto(s,receivefax)

exten => s,1,Macro(user-callerid,)
exten => s,n,Noop(Receiving Fax for: ${FAX_RX_EMAIL} , From: ${CALLERID(all)})
exten => s,n(receivefax),StopPlaytones
exten => s,n,ReceiveFAX(${ASTSPOOLDIR}/fax/${UNIQUEID}.tif,f)
exten => s,n,ExecIf($["${FAXSTATUS:0:6}"="FAILED" && "${FAXERROR}"!="INIT_ERROR"]?Set(FAXSTATUS="FAILED: error: ${FAXERROR} statusstr: ${FAXOPT(statusstr)}"))
exten => s,n,Hangup

exten => h,1,GotoIf($[${STAT(e,${ASTSPOOLDIR}/fax/${UNIQUEID}.tif)} = 0]?failed)
exten => h,n(process),GotoIf($[${LEN(${FAX_RX_EMAIL})} = 0]?noemail)
exten => h,n,System(${ASTVARLIBDIR}/bin/fax2mail.php --to "${FAX_RX_EMAIL}" --dest "${FROM_DID}" --callerid '${CALLERID(all)}' --file ${ASTSPOOLDIR}/fax/${UNIQUEID}.tif --exten "${FAX_FOR}")
exten => h,n(end),Macro(hangupcall,)
exten => h,n(noemail),Noop(ERROR: No Email Address to send FAX: status: [${FAXSTATUS}],  From: [${CALLERID(all)}])
exten => h,n,Macro(hangupcall,)
exten => h,process+101(failed),Noop(FAX ${FAXSTATUS} for: ${FAX_RX_EMAIL} , From: ${CALLERID(all)})
exten => h,n,Macro(hangupcall,)

Re: факсо-эпопея

Добавлено: 22 июн 2012, 15:41
akam
сам шучу, сам смеюсь...
сделал так:

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

exten => fax,1,GotoIf($[${DIALPLAN_EXISTS(ext-fax,${CONNECTEDLINE(num)},1)}]?ext-fax,${CONNECTEDLINE(num)},1:app-fax,666,1,1)