Cannot call myself... (specifically queues)

trymes

Joined
Aug 19, 2009
Messages
228
Likes
0
Points
0
#1
OK, so this is a bit of a weird thing to do, but I have noticed that I am unable to call myself since the upgrade to Elastix 2.0 (from an older non-Elastix box).

I have a T1 PRI connected to Elastix via a Sangoma A101 card. Everything seems to work fine, including faxing over the PRI, with the exception of certain incoming calls:

1.) If I pick up a local extension and dial a DID that has another extension as its destination, all is well.
2.) If I pick up a local extension and dial a DID that has a **QUEUE** as its destination, I hear the queue announcement, but it is interrupted part way through and the call is dropped.

Any ideas as to why this would be?

Tom
 

trymes

Joined
Aug 19, 2009
Messages
228
Likes
0
Points
0
#2
OK, I finally had a chance to try this out after hours when there wasn't information from 7-10 other calls splashing across the console. Anyhow, the call I am describing is a SIP extension, out via Dahdi, back in via Dahdi, into a queue.

This is the relevant snippet from the console, methinks:
Code:
-- <DAHDI/2-1> Playing 'custom/initial.gsm' (language 'en')
    -- DAHDI/1-1 answered SIP/195-0000563c
    -- Redirecting DAHDI/1-1 to fax extension
    -- Executing [h@macro-dialout-trunk:1] Macro("SIP/195-0000563c", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/195-0000563c", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] NoOp("SIP/195-0000563c", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:4] GotoIf("SIP/195-0000563c", "1?noautomon2") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s@macro-hangupcall:6] NoOp("SIP/195-0000563c", "MONITOR_FILENAME=") in new stack
    -- Executing [s@macro-hangupcall:7] GotoIf("SIP/195-0000563c", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,10)
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/195-0000563c", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,13)
    -- Executing [s@macro-hangupcall:13] GotoIf("SIP/195-0000563c", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,15)
    -- Executing [s@macro-hangupcall:15] Hangup("SIP/195-0000563c", "") in new stack
  == Spawn extension (macro-hangupcall, s, 15) exited non-zero on 'SIP/195-0000563c' in macro 'hangupcall'
  == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/195-0000563c'
    -- Executing [fax@from-pstn:1] Goto("DAHDI/1-1", ",,") in new stack
  == Spawn extension (from-pstn, fax, 1) exited non-zero on 'DAHDI/1-1'
    -- Executing [h@from-pstn:1] NoOp("DAHDI/1-1", "Catch-All DID Match - Found h - You probably want a DID for this.") in new stack
Something has caused asterisk to detect a fax and redirect to a fax extension, it seems, though I cannot figure out what that might be. I have confirmed that the inbound route I am dialing is not set to use fax detection, so I'm a bit flummoxed.

If anyone can point out the massively boneheaded mistake/misconfiguration I have made, I would be quite thankful...

Tom
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#3
Tom:

You might find it easier to to forensically diagnose you situation from /var/log/asterisk/full

you will be able to isolate the legs by grepping the ID in the brackets after verbose{nnnnnnn] i.e.

[2010-12-15 13:59:27] VERBOSE[13814] logger.c: -- Executing [s@macro-user-callerid:5] Set("SIP/14.23.14.20-00004077", "AMPUSERCIDNAME=") in new stack



for example where 13814 is one leg so identified and 13838 the other:-

grep -E "13814|13838" /var/log/asterisk/full | less


should cut down the noise and give you a time reference (no idea why the fax detect kicked in though)

regards

dicko
 

trymes

Joined
Aug 19, 2009
Messages
228
Likes
0
Points
0
#4
I think I figured this out on my own. I disabled Hardware DTMF detection on the Sangoma card and restarted wanrouter and Asterisk.

The upshot? No more issues calling ourselves, and I can now (it seems) successfully use the Incoming Fax Detection on Dahdi Lines to detect fax calls and route appropriately, if I so desire.

Tom
 

trymes

Joined
Aug 19, 2009
Messages
228
Likes
0
Points
0
#5
Thanks for the pointer, dicko. To provide a little more information here, I encountered some intermittent problems with some cell phone users not being able to save voicemail messages with hardware DTMF disabled. So, I contacted Sangoma (always a good idea) and they advised that I keep the Hardware DTMF detection enabled, as it was likely the hardware Fax detection causing the problems.

Why disabling hardware DTMF solved some of the other problems, I don't know. I have since re-enabled the TDMV_HW_DTMF setting and disabled the TDMV_HW_FAX_DETECT setting in Sangoma. At their suggestion, I also disabled the dahdi incoming fax detection on our PRI, as we are using a dedicated DID for faxes.

That has seemingly resolved my "unable to call myself" problem, and I hope it will eliminate the problems I had with voicemail not responding to DTMF. It will, necessarily, make it such that dahdi fax detection in FreePBX doesn't work, but I can live with that for now. I'm also hoping this eliminates some of the random disconnects some users have complained about here and there.

Another note, is that the Sangoma TDMV_HW_FAX_DETECT option is not tied to the echo canceler, it actually sends an event to Asterisk telling asterisk to switch to the "fax" extension.

I wonder if changing the Sangoma HWEC_OPERATION_MODE setting from OCT_NORMAL to OCT_SPEECH would improve the tone recognition and eliminate these issues, too, while still allowing us to use the fax detection capabilities built-in. I'll have to ask Sangoma, I suppose.

It seems to me that there are a number of places in the dialplan that a person could just get hung up on if a fax is detected (which is what was happening to me). It seems it would make sense to be able to direct those calls from FreePBX to somewhere. Even a fax machine (receivefax) would be better, as the customer would call you back and say "It was weird. We were talking, and all of a sudden a fax machine was squealing in my ear!". Then you'd immediately know you had that specific problem, rather than a dropped call, which could be a bad cell phone on the other end, etc.

Tom
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#6
Also don't forget that you can add dtmf to the logger.conf file to include dtmf related messages in your log files.

Be careful with enabling relaxeddtmf as it can easily create "talk-off" and a spurious * or # can spoil your whole call.
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,887
Members
17,565
Latest member
omarmenichetti
Top