SOLVED I canna get a fax, Jim!

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
I have been using the same fax switch system for the last 8 or so years with *, and of late PIAF.
First there was NVFaxDetect and of lately I haven't had to do anything to an install for my voice/fax switch to work. All I do is set incoming fax detect to SIP and set a destination extension.

Verbosely, I set fax detect of the incoming route to SIP with a timeout of 4 seconds, and push the fax calls through to an analogue fax machine hanging off an ATA.

However, I just installed PIAF Green:

Code:
PIAF Installed Version  = 2.0.6.5 under *VMWARE*
FreePBX Version          = 2.11.0.11
Running Asterisk Version = 11.6.0
Asterisk Source Version  = 11.6.0
Dahdi Source Version    = 2.7.0.2
Libpri Source Version    = 1.4.14
Operating System        = CentOS release 6.5 (Final)
Kernel Version          = 2.6.32-431.1.2.0.1.el6.i686 - 32 Bit

And my silly old fax no longer works, It really bugs my doctor as he doesn't have email yet...
And I'd rather fix the darn fax than change doctors, but thanks for the suggestion..

To my timing, I can't detect the fax detect time on when dialing in, it seems to ring straight away.

Incoming calls go straight to a ring group which rings all extensions, but not the fax..

Please see the next post for an incoming fax call trace.


thanks,
mark
 

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
Here is a typical fax that should be detected but aint, with as much verbosity I can handle without my head caving in:

Part 1 (part 2 in next post)
Code:
 == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Executing [<did removed>@from-trunk-sip-<isp removed>:1] Set("SIP/<isp removed>-00000167", "GROUP()=OUT_2") in new stack
    -- Executing [<did removed>@from-trunk-sip-<isp removed>:2] Goto("SIP/<isp removed>-00000167", "from-trunk,<did removed>,1") in new stack
    -- Goto (from-trunk,<did removed>,1)
    -- Executing [<did removed>@from-trunk:1] Set("SIP/<isp removed>-00000167", "__FROM_DID=<did removed>") in new stack
    -- Executing [<did removed>@from-trunk:2] Gosub("SIP/<isp removed>-00000167", "app-blacklist-check,s,1()") in new stack
    -- Executing [s@app-blacklist-check:1] GotoIf("SIP/<isp removed>-00000167", "0?blacklisted") in new stack
    -- Executing [s@app-blacklist-check:2] Set("SIP/<isp removed>-00000167", "CALLED_BLACKLIST=1") in new stack
    -- Executing [s@app-blacklist-check:3] Return("SIP/<isp removed>-00000167", "") in new stack
    -- Executing [<did removed>@from-trunk:3] Set("SIP/<isp removed>-00000167", "CDR(did)=<did removed>") in new stack
    -- Executing [<did removed>@from-trunk:4] ExecIf("SIP/<isp removed>-00000167", "1 ?Set(CALLERID(name)=<cid removed>)") in new stack
    -- Executing [<did removed>@from-trunk:5] Set("SIP/<isp removed>-00000167", "__CALLINGPRES_SV=allowed_not_screened") in new stack
    -- Executing [<did removed>@from-trunk:6] Set("SIP/<isp removed>-00000167", "CALLERPRES()=allowed_not_screened") in new stack
    -- Executing [<did removed>@from-trunk:7] Macro("SIP/<isp removed>-00000167", "prepend-cid, <trunk removed>""") in new stack
    -- Executing [s@macro-prepend-cid:1] GotoIf("SIP/<isp removed>-00000167", "1?REPCID") in new stack
    -- Goto (macro-prepend-cid,s,5)
    -- Executing [s@macro-prepend-cid:5] Set("SIP/<isp removed>-00000167", "_RGPREFIX= <trunk removed>""") in new stack
    -- Executing [s@macro-prepend-cid:6] Set("SIP/<isp removed>-00000167", "CALLERID(name)= <trunk removed>""<cid removed>") in new stack
    -- Executing [<did removed>@from-trunk:8] Set("SIP/<isp removed>-00000167", "FAX_DEST=from-did-direct^<fax ext # removed>^1") in new stack
    -- Executing [<did removed>@from-trunk:9] Answer("SIP/<isp removed>-00000167", "") in new stack
    -- Executing [<did removed>@from-trunk:10] Wait("SIP/<isp removed>-00000167", "4") in new stack
    -- Executing [<did removed>@from-trunk:11] Goto("SIP/<isp removed>-00000167", "ivr-1,s,1") in new stack
    -- Goto (ivr-1,s,1)
    -- Executing [s@ivr-1:1] Set("SIP/<isp removed>-00000167", "_IVR_CONTEXT_ivr-1=") in new stack
    -- Executing [s@ivr-1:2] Set("SIP/<isp removed>-00000167", "_IVR_CONTEXT=ivr-1") in new stack
    -- Executing [s@ivr-1:3] Set("SIP/<isp removed>-00000167", "__IVR_RETVM=") in new stack
    -- Executing [s@ivr-1:4] GotoIf("SIP/<isp removed>-00000167", "1?skip") in new stack
    -- Goto (ivr-1,s,7)
    -- Executing [s@ivr-1:7] Set("SIP/<isp removed>-00000167", "IVR_MSG=") in new stack
    -- Executing [s@ivr-1:8] Set("SIP/<isp removed>-00000167", "TIMEOUT(digit)=3") in new stack
    -- Digit timeout set to 3.000
    -- Executing [s@ivr-1:9] ExecIf("SIP/<isp removed>-00000167", "0?Background()") in new stack
    -- Executing [s@ivr-1:10] WaitExten("SIP/<isp removed>-00000167", "1,") in new stack
 

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
Part 2
Code:
[2014-01-03 17:22:29] WARNING[3023][C-00000077]: chan_sip.c:10320 process_sdp: Failed to initialize UDPTL, declining image stream
[2014-01-03 17:22:29] WARNING[3023][C-00000077]: chan_sip.c:10473 process_sdp: Failing due to no acceptable offer found
    -- Timeout on SIP/<isp removed>-00000167, going to 't'
    -- Executing [t@ivr-1:1] Goto("SIP/<isp removed>-00000167", "ext-group,600,1") in new stack
    -- Goto (ext-group,600,1)
    -- Executing [600@ext-group:1] Macro("SIP/<isp removed>-00000167", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/<isp removed>-00000167", "TOUCH_MONITOR=1388730145.359") in new stack
    -- Executing [s@macro-user-callerid:2] Set("SIP/<isp removed>-00000167", "AMPUSER=<cid removed>") in new stack
    -- Executing [s@macro-user-callerid:3] GotoIf("SIP/<isp removed>-00000167", "0?report") in new stack
    -- Executing [s@macro-user-callerid:4] ExecIf("SIP/<isp removed>-00000167", "1?Set(REALCALLERIDNUM=<cid removed>)") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/<isp removed>-00000167", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:6] Set("SIP/<isp removed>-00000167", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:7] GotoIf("SIP/<isp removed>-00000167", "1?report") in new stack
    -- Goto (macro-user-callerid,s,14)
    -- Executing [s@macro-user-callerid:14] GotoIf("SIP/<isp removed>-00000167", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:15] Set("SIP/<isp removed>-00000167", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:16] GotoIf("SIP/<isp removed>-00000167", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,27)
    -- Executing [s@macro-user-callerid:27] Set("SIP/<isp removed>-00000167", "CALLERID(number)=<cid removed>") in new stack
    -- Executing [s@macro-user-callerid:28] Set("SIP/<isp removed>-00000167", "CALLERID(name)=<trunk removed>""<cid removed>") in new stack
    -- Executing [s@macro-user-callerid:29] Set("SIP/<isp removed>-00000167", "CDR(cnum)=<cid removed>") in new stack
    -- Executing [s@macro-user-callerid:30] Set("SIP/<isp removed>-00000167", "CDR(cnam)=<trunk removed>""<cid removed>") in new stack
    -- Executing [s@macro-user-callerid:31] Set("SIP/<isp removed>-00000167", "CHANNEL(language)=en") in new stack
    -- Executing [600@ext-group:2] Macro("SIP/<isp removed>-00000167", "blkvm-setifempty,") in new stack
    -- Executing [s@macro-blkvm-setifempty:1] GotoIf("SIP/<isp removed>-00000167", "1?init") in new stack
    -- Goto (macro-blkvm-setifempty,s,4)
    -- Executing [s@macro-blkvm-setifempty:4] Set("SIP/<isp removed>-00000167", "__BLKVM_CHANNEL=SIP/<isp removed>-00000167") in new stack
    -- Executing [s@macro-blkvm-setifempty:5] Set("SIP/<isp removed>-00000167", "SHARED(BLKVM,SIP/<isp removed>-00000167)=TRUE") in new stack
    -- Executing [s@macro-blkvm-setifempty:6] Set("SIP/<isp removed>-00000167", "GOSUB_RETVAL=TRUE") in new stack
    -- Executing [s@macro-blkvm-setifempty:7] MacroExit("SIP/<isp removed>-00000167", "") in new stack
    -- Executing [600@ext-group:3] GotoIf("SIP/<isp removed>-00000167", "1?skipov") in new stack
    -- Goto (ext-group,600,6)
    -- Executing [600@ext-group:6] Set("SIP/<isp removed>-00000167", "RRNODEST=") in new stack
    -- Executing [600@ext-group:7] Set("SIP/<isp removed>-00000167", "__NODEST=600") in new stack
    -- Executing [600@ext-group:8] GosubIf("SIP/<isp removed>-00000167", "0?sub-rgsetcid,s,1()") in new stack
    -- Executing [600@ext-group:9] Set("SIP/<isp removed>-00000167", "__PICKUPMARK=600") in new stack
    -- Executing [600@ext-group:10] Gosub("SIP/<isp removed>-00000167", "sub-record-check,s,1(rg,600,dontcare)") in new stack
    -- Executing [s@sub-record-check:1] Set("SIP/<isp removed>-00000167", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [s@sub-record-check:2] GotoIf("SIP/<isp removed>-00000167", "1?check") in new stack
    -- Goto (sub-record-check,s,7)
    -- Executing [s@sub-record-check:7] Set("SIP/<isp removed>-00000167", "__MON_FMT=wav") in new stack
    -- Executing [s@sub-record-check:8] GotoIf("SIP/<isp removed>-00000167", "1?next") in new stack
    -- Goto (sub-record-check,s,11)
    -- Executing [s@sub-record-check:11] ExecIf("SIP/<isp removed>-00000167", "0?Return()") in new stack
    -- Executing [s@sub-record-check:12] ExecIf("SIP/<isp removed>-00000167", "1?Set(__REC_POLICY_MODE=dontcare)") in new stack
    -- Executing [s@sub-record-check:13] GotoIf("SIP/<isp removed>-00000167", "0?rg,1") in new stack
    -- Executing [s@sub-record-check:14] Set("SIP/<isp removed>-00000167", "__REC_STATUS=INITIALIZED") in new stack
    -- Executing [s@sub-record-check:15] Set("SIP/<isp removed>-00000167", "NOW=1388730150") in new stack
    -- Executing [s@sub-record-check:16] Set("SIP/<isp removed>-00000167", "__DAY=03") in new stack
    -- Executing [s@sub-record-check:17] Set("SIP/<isp removed>-00000167", "__MONTH=01") in new stack
    -- Executing [s@sub-record-check:18] Set("SIP/<isp removed>-00000167", "__YEAR=2014") in new stack
    -- Executing [s@sub-record-check:19] Set("SIP/<isp removed>-00000167", "__TIMESTR=20140103-172230") in new stack
    -- Executing [s@sub-record-check:20] Set("SIP/<isp removed>-00000167", "__FROMEXTEN=<cid removed>") in new stack
    -- Executing [s@sub-record-check:21] Set("SIP/<isp removed>-00000167", "__CALLFILENAME=rg-600-<cid removed>-20140103-172230-1388730145.359") in new stack
    -- Executing [s@sub-record-check:22] Goto("SIP/<isp removed>-00000167", "rg,1") in new stack
    -- Goto (sub-record-check,rg,1)
    -- Executing [rg@sub-record-check:1] GosubIf("SIP/<isp removed>-00000167", "0?record,1(rg,dontcare,<cid removed>)") in new stack
    -- Executing [rg@sub-record-check:2] Return("SIP/<isp removed>-00000167", "") in new stack
    -- Executing [600@ext-group:11] Set("SIP/<isp removed>-00000167", "RingGroupMethod=ringall") in new stack
    -- Executing [600@ext-group:12] Macro("SIP/<isp removed>-00000167", "dial,24,TtrWw,<ring group removed>") in new stack
    -- Executing [s@macro-dial:1] GotoIf("SIP/<isp removed>-00000167", "1?dial") in new stack
    -- Goto (macro-dial,s,3)
    -- Executing [s@macro-dial:3] AGI("SIP/<isp removed>-00000167", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
 dialparties.agi: Starting New Dialparties.agi
 dialparties.agi: Caller ID name is '<trunk removed><cid removed>' number is '<cid removed>'
 dialparties.agi: Methodology of ring is  'ringall'
 

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
Part 3
Code:
    -- dialparties.agi: Added extension <extension removed> to extension map
    -- dialparties.agi: Added extension <extension removed> to extension map
    -- dialparties.agi: Added extension <extension removed> to extension map
    -- dialparties.agi: Added extension <extension removed> to extension map
    -- dialparties.agi: Added extension <extension removed> to extension map
    -- dialparties.agi: Added extension <extension removed> to extension map
    -- dialparties.agi: Extension <extension removed> cf is disabled
    -- dialparties.agi: Extension <extension removed> cf is disabled
    -- dialparties.agi: Extension <extension removed> cf is disabled
    -- dialparties.agi: Extension <extension removed> cf is disabled
    -- dialparties.agi: Extension <extension removed> cf is disabled
    -- dialparties.agi: Extension <extension removed> cf is disabled
    -- dialparties.agi: Extension <extension removed> do not disturb is disabled
    -- dialparties.agi: Extension <extension removed> do not disturb is disabled
    -- dialparties.agi: Extension <extension removed> do not disturb is disabled
    -- dialparties.agi: Extension <extension removed> do not disturb is disabled
    -- dialparties.agi: Extension <extension removed> do not disturb is disabled
    -- dialparties.agi: Extension <extension removed> do not disturb is disabled
       > dialparties.agi: extnum <extension removed> has:  cw: 1; hascfb: 0 [] hascfu: 0 []
    -- dialparties.agi: dbset CALLTRACE/<extension removed> to <cid removed>
       > dialparties.agi: extnum <extension removed> has:  cw: 1; hascfb: 0 [] hascfu: 0 []
    -- dialparties.agi: dbset CALLTRACE/<extension removed> to <cid removed>
       > dialparties.agi: extnum <extension removed> has:  cw: 1; hascfb: 0 [] hascfu: 0 []
    -- dialparties.agi: dbset CALLTRACE/<extension removed> to <cid removed>
       > dialparties.agi: extnum <extension removed> has:  cw: 1; hascfb: 0 [] hascfu: 0 []
    -- dialparties.agi: dbset CALLTRACE/<extension removed> to <cid removed>
       > dialparties.agi: extnum <extension removed> has:  cw: 1; hascfb: 0 [] hascfu: 0 []
    -- dialparties.agi: dbset CALLTRACE/<extension removed> to <cid removed>
       > dialparties.agi: extnum <extension removed> has:  cw: 1; hascfb: 0 [] hascfu: 0 []
    -- dialparties.agi: dbset CALLTRACE/<extension removed> to <cid removed>
    -- dialparties.agi: Filtered ARG3: <ring group removed>
       > dialparties.agi: NODEST: 600 adding M(auto-blkvm) to dialopts: TtrWwM(auto-blkvm)
       > dialparties.agi: NODEST: 600 blkvm enabled macro already in dialopts: TtrWwM(auto-blkvm)
    -- <SIP/<isp removed>-00000167>AGI Script dialparties.agi completed, returning 0
    -- Executing [s@macro-dial:7] Dial("SIP/<isp removed>-00000167", "SIP/<extension removed>&SIP/<extension removed>&SIP/<extension removed>&SIP/<extension removed>&SIP/<extension removed>&SIP/<extension removed>,24,TtrWwM(auto-blkvm)") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Called SIP/<extension removed>
    -- Called SIP/<extension removed>
    -- Called SIP/<extension removed>
    -- Called SIP/<extension removed>
    -- Called SIP/<extension removed>
    -- Called SIP/<extension removed>
    -- SIP/<extension removed>-0000016d connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- SIP/<extension removed>-0000016c connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- SIP/<extension removed>-0000016b connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- SIP/<extension removed>-0000016a connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- SIP/<extension removed>-00000169 connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- SIP/<extension removed>-00000168 connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- Got SIP response 486 "Busy here" back from <ata ip removed>:5060
    -- SIP/<extension removed>-0000016c is busy
       > 0xb7602de8 -- Probation passed - setting RTP source address to <outside ip removed>:18852
    -- SIP/<extension removed>-0000016d connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- SIP/<extension removed>-0000016d is ringing
    -- SIP/<extension removed>-00000168 is ringing
    -- SIP/<extension removed>-0000016b is ringing
    -- SIP/<extension removed>-0000016a is ringing
    -- SIP/<extension removed>-00000169 is ringing
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
[2014-01-03 17:22:34] NOTICE[29650][C-00000077]: chan_sip.c:8451 sip_read: FAX CNG detected but no fax extension
    -- SIP/<extension removed>-00000169 connected line has changed. Saving it until answer for SIP/<isp removed>-00000167
    -- SIP/<extension removed>-00000169 answered SIP/<isp removed>-00000167
 

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
Please note I have sanitized to be hacker dangle bits free.
I have Google the following unusual lines that pop up in the incoming fax call trace but essentially drew blanks:
Code:
[2014-01-03 17:22:29] WARNING[3023][C-00000077]: chan_sip.c:10320 process_sdp: Failed to initialize UDPTL, declining image stream
[2014-01-03 17:22:29] WARNING[3023][C-00000077]: chan_sip.c:10473 process_sdp: Failing due to no acceptable offer found
[2014-01-03 17:22:34] NOTICE[29650][C-00000077]: chan_sip.c:8451 sip_read: FAX CNG detected but no fax extension
thanks,
mark
 

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
I am having more luck with Glennie and Lenny than you guys!

C'mon! prease!
 

rossiv

Guru
Joined
Oct 26, 2008
Messages
2,624
Reaction score
139
My guess? Something to do with your last snippet, specifically the last line.
Please note I have sanitized to be hacker dangle bits free.
Code:
[2014-01-03 17:22:29] WARNING[3023][C-00000077]: chan_sip.c:10320 process_sdp: Failed to initialize UDPTL, declining image stream
[2014-01-03 17:22:29] WARNING[3023][C-00000077]: chan_sip.c:10473 process_sdp: Failing due to no acceptable offer found
[2014-01-03 17:22:34] NOTICE[29650][C-00000077]: chan_sip.c:8451 sip_read: FAX CNG detected but no fax extension
It looks like a fax is detected, but a fax extension is not specified in FreePBX. I can't remember off of the top of my head where it is specified, but I remember seeing it somewhere.
 

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
Hey Ross, Thanks for the heads up, the only place you can set a FAX extension (nowdays) is in incoming routes I guess.
It used to be in general config but the default fax extension has long gone.

As it turns out, it was my testing methodology that was broken. :oops:

I was dialing in on 7777 with a second fax machine to test the fax detection.
Once I installed incrediblefax11 (thx #1 nerd) I was able to accelerate my "suck it and see" testing rate until eventually, I tried sending AvantFAX out to PSTN and back in through another line and it all worked as expected.
Perhaps the fact that there isn't a DID for "simulate incoming call" threw fax detection off, I don't know, but happy it works now!
Well except for the occasional hiccup where the fax isn't detected on the POTS lines but its good enough for me.

note: I do have a default route in too with fax detect enabled. :)


Thanks anyway :)
mark

I must drop a line to the devs about incrediblefax11 not checking for ghostscript fonts being installed which causes a rather cryptic message when trying to send a PDF with AvantFAX. "Problem sending the fax.: rejected **** Page has no /MediaBox attribute. Using the current page size.\"

marks
 

rossiv

Guru
Joined
Oct 26, 2008
Messages
2,624
Reaction score
139
marks Consider the line dropped. wardmundy and darmock ^^^ (I can't remember which of the two of you did Incredible Fax...I think Ward but I tagged you both just in case)
 

marks

New Member
Joined
Sep 3, 2010
Messages
22
Reaction score
4
Hi Ward, Apologies for slow response as I crashed for a couple of days..

Okay there were a couple of things wrong with the incrediblefax11.sh install process.



The first is there are a number of missing ghostscript fonts that will come back and kick you in the bun when you try to send a PDF as a fax.
The error message is "Problem sending the fax.: rejected **** Page has no /MediaBox attribute. Using the current page size.\"

Unfortunately, the logs detailing the problem have rolled over already.

what I did to fix it:
Code:
cd /usr/src
wget http://downloads.ghostscript.com/public/ghostscript-9.07.tar.gz
tar -xvf ghostscript-9.07.tar.gz
cd ghostscript-9.07
./configure
make
make install
ldconfig

Once rebooted I was able to send PDF faxes until my heart was content.

the second issue was to do with the ability to send faxes at all:
the error message is "sendfax: Password:Login failed: 500 'PASS ': Syntax error, expecting password."

It is actually documented in this thread: http://pbxinaflash.com/community/index.php?threads/incredible-pbx-avantfax-hylafax.10635/
easily fixed by moving the localhost & 127.0.0.1 line to the top of /var/spool/hylafax/etc/hosts.hfaxd

Third and lastly, cron emails root every hour because of a missing file in the sysconfig directory,
I have documented it here: http://pbxinaflash.com/community/in...-11-hourly-emails-from-cron.14122/#post-90350


Thanks Ward, you are incredible!

Mark


P.S. May I suggest installing perl-YAML as a matter of course so that the auto cpan stuff goes smoothly?
 

Members online

Forum statistics

Threads
25,839
Messages
167,933
Members
19,264
Latest member
baata
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top