TIPS Incredible 12 Avantfax Inbound Route Config

lakecoder

Guru
Joined
Jan 13, 2010
Messages
52
Reaction score
3
Howdy all,

I followed the Ubuntu 14 Incredible 12 Avantfax tutorial (including reboot, module enabling, etc.). One part I could not see covered anywhere was how to configure an inbound route for a dedicated did (voip.ms in my case).

The route is configured to detect faxes and send them to the Hylafax custom destination. What's confusing me is the final "Set Destination" choice. Nothing seems to work (faxes not received). At the moment I've set it to Custom Destination > Hylafax but incoming calls hear a brief silence then a generated DTMF "1" and finally a busy signal.

Also, the Avatfax web interface shows this (even across reboots):

dpkg-new [Please wait] ttyIAX0 [Please wait] ttyIAX1 [Please wait] ttyIAX2 [Please wait]
ttyIAX3 [Please wait]

Does the above mean I have bigger problems? Here's the tail end of the sip log (hope its ok to post this!!)


-- Executing [recordcheck@sub-record-check:3] Return("SIP/Voip.ms Fax-00000001", "") in new stack
-- Executing [in@sub-record-check:5] Return("SIP/Voip.ms Fax-00000001", "") in new stack
-- Executing [763710XXXX@from-trunk:3] Gosub("SIP/Voip.ms Fax-00000001", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/Voip.ms Fax-00000001", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/Voip.ms Fax-00000001", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/Voip.ms Fax-00000001", "") in new stack
-- Executing [763710XXXX@from-trunk:4] Set("SIP/Voip.ms Fax-00000001", "CDR(did)=763710XXXX") in new stack
-- Executing [763710XXXX@from-trunk:5] ExecIf("SIP/Voip.ms Fax-00000001", "0 ?Set(CALLERID(name)=612965XXXX)") in new stack
-- Executing [763710XXXX@from-trunk:6] Set("SIP/Voip.ms Fax-00000001", "CHANNEL(musicclass)=default") in new stack
-- Executing [763710XXXX@from-trunk:7] Set("SIP/Voip.ms Fax-00000001", "__MOHCLASS=default") in new stack
[2015-03-13 10:54:14] WARNING[4952][C-00000001]: func_channel.c:560 func_channel_read: Unknown or unavailable item requested: 'reversecharge'
-- Executing [763710XXXX@from-trunk:8] GotoIf("SIP/Voip.ms Fax-00000001", "0?macro-hangupcall") in new stack
-- Executing [763710XXXX@from-trunk:9] Set("SIP/Voip.ms Fax-00000001", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [763710XXXX@from-trunk:10] Set("SIP/Voip.ms Fax-00000001", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [763710XXXX@from-trunk:11] Set("SIP/Voip.ms Fax-00000001", "FAX_DEST=custom-fax-iaxmodem^s^1") in new stack
-- Executing [763710XXXX@from-trunk:12] Set("SIP/Voip.ms Fax-00000001", "FAXOPT(faxdetect)=yes") in new stack
-- Executing [763710XXXX@from-trunk:13] Answer("SIP/Voip.ms Fax-00000001", "") in new stack
-- Executing [763710XXXX@from-trunk:14] Wait("SIP/Voip.ms Fax-00000001", "4") in new stack
-- Executing [763710XXXX@from-trunk:15] Goto("SIP/Voip.ms Fax-00000001", "custom-fax-iaxmodem,s,1") in new stack
-- Goto (custom-fax-iaxmodem,s,1)
-- Executing [s@custom-fax-iaxmodem:1] Answer("SIP/Voip.ms Fax-00000001", "") in new stack
-- Executing [s@custom-fax-iaxmodem:2] Wait("SIP/Voip.ms Fax-00000001", "1") in new stack
-- Executing [s@custom-fax-iaxmodem:3] SendDTMF("SIP/Voip.ms Fax-00000001", "1") in new stack
> 0x7f6a10019180 -- Probation passed - setting RTP source address to 208.100.39.53:19110
-- Executing [s@custom-fax-iaxmodem:4] Dial("SIP/Voip.ms Fax-00000001", "IAX2/iax-fax0/s") in new stack
[2015-03-13 10:54:20] WARNING[4952][C-00000001]: app_dial.c:2421 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@custom-fax-iaxmodem:5] Dial("SIP/Voip.ms Fax-00000001", "IAX2/iax-fax1/s") in new stack
[2015-03-13 10:54:20] WARNING[4952][C-00000001]: app_dial.c:2421 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@custom-fax-iaxmodem:6] Dial("SIP/Voip.ms Fax-00000001", "IAX2/iax-fax2/s") in new stack
[2015-03-13 10:54:20] WARNING[4952][C-00000001]: app_dial.c:2421 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@custom-fax-iaxmodem:7] Dial("SIP/Voip.ms Fax-00000001", "IAX2/iax-fax3/s") in new stack
[2015-03-13 10:54:20] WARNING[4952][C-00000001]: app_dial.c:2421 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@custom-fax-iaxmodem:8] Busy("SIP/Voip.ms Fax-00000001", "") in new stack

== Spawn extension (custom-fax-iaxmodem, s, 8) exited non-zero on 'SIP/Voip.ms Fax-00000001'
 

lakecoder

Guru
Joined
Jan 13, 2010
Messages
52
Reaction score
3
Another try: I changed the Inbound Route's "Set Destination" to a real extension. Test with a FreeFax to the DID generated (tail end):

-- Executing [ctset@macro-dial-one:1] Set("SIP/Voip.ms Fax-00000003", "DB(CALLTRACE/701)=5094570051") in new stack
-- Executing [ctset@macro-dial-one:2] Return("SIP/Voip.ms Fax-00000003", "") in new stack
-- Executing [s@macro-dial-one:30] Set("SIP/Voip.ms Fax-00000003", "D_OPTIONS=Ttr") in new stack
-- Executing [s@macro-dial-one:31] ExecIf("SIP/Voip.ms Fax-00000003", "0?SIPAddHeader(Alert-Info: )") in new stack
-- Executing [s@macro-dial-one:32] ExecIf("SIP/Voip.ms Fax-00000003", "0?SIPAddHeader()") in new stack
-- Executing [s@macro-dial-one:33] ExecIf("SIP/Voip.ms Fax-00000003", "1?Set(CHANNEL(musicclass)=default)") in new stack
-- Executing [s@macro-dial-one:34] GosubIf("SIP/Voip.ms Fax-00000003", "0?qwait,1()") in new stack
-- Executing [s@macro-dial-one:35] Set("SIP/Voip.ms Fax-00000003", "__CWIGNORE=") in new stack
-- Executing [s@macro-dial-one:36] Set("SIP/Voip.ms Fax-00000003", "__KEEPCID=TRUE") in new stack
-- Executing [s@macro-dial-one:37] GotoIf("SIP/Voip.ms Fax-00000003", "0?usegoto,1") in new stack
-- Executing [s@macro-dial-one:38] GotoIf("SIP/Voip.ms Fax-00000003", "1?godial") in new stack
-- Goto (macro-dial-one,s,43)
-- Executing [s@macro-dial-one:43] Macro("SIP/Voip.ms Fax-00000003", "dialout-one-predial-hook,") in new stack
-- Executing [s@macro-dialout-one-predial-hook:1] MacroExit("SIP/Voip.ms Fax-00000003", "") in new stack
-- Executing [s@macro-dial-one:44] Dial("SIP/Voip.ms Fax-00000003", "PJSIP/701/sip:[email protected]:5060,15,Ttr") in new stack
-- Called PJSIP/701/sip:[email protected]:5060
-- PJSIP/701-00000001 is ringing
> 0x7f6a10019180 -- Probation passed - setting RTP source address to 208.100.39.53:12954
[2015-03-13 17:34:30] NOTICE[34194][C-00000003]: res_fax.c:3519 fax_detect_framehook: FAX CNG detected but no fax extension in context (from-did-direct)
-- Nobody picked up in 15000 ms
It then recorded the CNG tones in the extensions' VM for a while. So I'm stuck again. Any ideas appreciated!!!

Status btw....

Incredible PBX 12.7.1 for Ubuntu 14

Asterisk: UP Apache: UP MySQL: UP
SendMail: UP IPtables: UP SSH: UP
LAN eth0: UP Fail2Ban: UP Webmin: UP

RAM:192256 "Ubuntu 14.04.1 LTS" Disk: 14G

Asterisk 12.8.0-rc2 FreePBX 12.0.24

Private IP: 192.168.1.140

Public IP: 50.xxx.xxx.xxx

System Time: Fri Mar 13 20:57:44 CDT 2015
 

lakecoder

Guru
Joined
Jan 13, 2010
Messages
52
Reaction score
3
Not sure anyone cares, but I saw this: http://issues.freepbx.org/browse/FREEPBX-8835

Seems like the same issue I'm seeing. The bug reporter said:

Manually adding "fax" extension definition also in "ext-local" context fixes the issue.

Could anyone therefore tell me how I should edit extensions_additional.conf to try this solution?

Thank you
 

KevinW

Member
Joined
Feb 3, 2014
Messages
34
Reaction score
2
I ran into this problem trying to get faxing to work on Incredible PBX for Raspberry Pi. We use an IVR that forces someone to hit a number before our phones ring. Really cuts down on spam calls. Anyway the error message I was seeing was that there was no fax extension in the ivr-2 context.

I found this thread and saw the link to the FreePBX issue and manage to piece together that the line at the top of the local extension context involving fax needs to be similarly placed in the IVR context as well.

So what used to look like this

[ivr-2] ; MenuScreener
include => ivr-2-custom
exten => s,1,Set(INVALID_LOOPCOUNT=0)

now looks like this

[ivr-2] ; MenuScreener
include => ivr-2-custom
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => s,1,Set(INVALID_LOOPCOUNT=0)

Now my faxing works. Hopefully this will help someone in the future.

Now if I could figure out how to make that line stay when the config is updated by the web gui that would be snazzy. If anyone knows, please post a hint.
 

ostridge

Guru
Joined
Jan 22, 2015
Messages
1,629
Reaction score
520
how I should edit extensions_additional.conf to try this solution?
That file in FreePBX found at /etc/asterisk/extensions_additional.conf carries the warning 'Do NOT edit this file '.

In that case the file to edit would be /etc/asterisk/extensions_custom.conf

As the context
[ext-local] has an include statement pointing to [ext-local-custom]
[ext-local]
include => ext-local-custom

So edit the file /etc/asterisk/extensions_custom.conf

Next search to find if any existing conext called [ext-local-custom] and if found you can add your code there. If not found then:
add to the end of file the following context
[ext-local-custom]

;(add your code for fax info here)

;--== end of [ext-local-custom] ==--;

Then save the file and don't forget to reload or rebooot.
 
Last edited:

Members online

Forum statistics

Threads
25,811
Messages
167,759
Members
19,240
Latest member
nikko
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