Problem with mwimonitor and caller id

When I enable mwimonitor on any channel caller id stops working. Asterisk gives me:

dialparties.agi: Starting New Dialparties.agi
dialparties.agi: Caller ID name is ‘unknown’ number is ‘unknown’

for anything coming in on any line. I really need mwimonitor to work for this installation. Does anyone have any suggestions as to what might be the problem? I have tried setting mwimonitor to “yes”, “neon”, “fsk”, and “rpas”. Nothing works. I have changed mwilevel all over the place and that doesn’t work. I have tried setting mwimonitor on individual channels and it still kills caller id on all channels. I have researched this thing for months and I still don’t have an answer.

I am using Asterisk 1.6.1.10 (compiled from sources) on Ubuntu Server 9.04. I have tried every version of Asterisk from 1.6.0 to 1.6.1.10. I am also using dahdi-linux-complete-2.2.0.2+2.2.0 also compiled from sources. TDS Telecom is the telco we are using.

The hardware is a Digium AES800 board with a single quad fxo module on it and two single fxo modules. It is all tied together with an Intel 3200 series server board with a dual Xeon processor.

The whole output log output for the call is (I have x’d out the phone numbers):

Connected to Asterisk 1.6.1.10 currently running on doctorteeth (pid = 9260)
Verbosity is at least 3
– Starting simple switch on ‘DAHDI/1-1’
– Executing [s@from-zaptel:1] NoOp(“DAHDI/1-1”, "Entering from-zaptel with DID == ") in new stack
– Executing [s@from-zaptel:2] Ringing(“DAHDI/1-1”, “”) in new stack
– Executing [s@from-zaptel:3] Set(“DAHDI/1-1”, “DID=s”) in new stack
– Executing [s@from-zaptel:4] NoOp(“DAHDI/1-1”, “DID is now s”) in new stack
– Executing [s@from-zaptel:5] GotoIf(“DAHDI/1-1”, “1?zapok:notzap”) in new stack
– Goto (from-zaptel,s,8)
– Executing [s@from-zaptel:8] NoOp(“DAHDI/1-1”, “Is a Zaptel Channel”) in new stack
– Executing [s@from-zaptel:9] Set(“DAHDI/1-1”, “CHAN=1-1”) in new stack
– Executing [s@from-zaptel:10] Set(“DAHDI/1-1”, “CHAN=1”) in new stack
– Executing [s@from-zaptel:11] Macro(“DAHDI/1-1”, “from-zaptel-1,s,1”) in new stack
– Executing [s@macro-from-zaptel-1:1] NoOp(“DAHDI/1-1”, “Entering macro-from-zaptel-1 with DID = s and setting to: 2185875001”) in new stack
– Executing [s@macro-from-zaptel-1:2] Set(“DAHDI/1-1”, “__FROM_DID=xxxxxxxxxx”) in new stack
– Executing [s@macro-from-zaptel-1:3] Goto(“DAHDI/1-1”, “from-trunk,xxxxxxxxxx,1”) in new stack
– Goto (from-trunk,2185875001,1)
== Channel ‘DAHDI/1-1’ jumping out of macro ‘from-zaptel-1’
– Executing [2185875001@from-trunk:1] Set(“DAHDI/1-1”, “__FROM_DID=xxxxxxxxxx”) in new stack
– Executing [2185875001@from-trunk:2] ExecIf(“DAHDI/1-1”, “1 ?Set(CALLERID(name)=)”) in new stack
– Executing [2185875001@from-trunk:3] Set(“DAHDI/1-1”, “__CALLINGPRES_SV=allowed_not_screened”) in new stack
– Executing [2185875001@from-trunk:4] Set(“DAHDI/1-1”, “CALLERPRES()=allowed_not_screened”) in new stack
– Executing [2185875001@from-trunk:5] Goto(“DAHDI/1-1”, “ext-group,600,1”) in new stack
– Goto (ext-group,600,1)
– Executing [600@ext-group:1] Macro(“DAHDI/1-1”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“DAHDI/1-1”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“DAHDI/1-1”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“DAHDI/1-1”, “1?Set(REALCALLERIDNUM=)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“DAHDI/1-1”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:5] Set(“DAHDI/1-1”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“DAHDI/1-1”, “1?report”) in new stack
– Goto (macro-user-callerid,s,9)
– Executing [s@macro-user-callerid:9] GotoIf(“DAHDI/1-1”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:10] Set(“DAHDI/1-1”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“DAHDI/1-1”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,18)
– Executing [s@macro-user-callerid:18] NoOp(“DAHDI/1-1”, “Using CallerID “” <>”) in new stack
– Executing [600@ext-group:2] GotoIf(“DAHDI/1-1”, “1?skipdb”) in new stack
– Goto (ext-group,600,4)
– Executing [600@ext-group:4] Set(“DAHDI/1-1”, “__NODEST=”) in new stack
– Executing [600@ext-group:5] Set(“DAHDI/1-1”, “__BLKVM_OVERRIDE=BLKVM/600/DAHDI/1-1”) in new stack
– Executing [600@ext-group:6] Set(“DAHDI/1-1”, “__BLKVM_BASE=600”) in new stack
– Executing [600@ext-group:7] Set(“DAHDI/1-1”, “DB(BLKVM/600/DAHDI/1-1)=TRUE”) in new stack
– Executing [600@ext-group:8] Set(“DAHDI/1-1”, “RRNODEST=”) in new stack
– Executing [600@ext-group:9] Set(“DAHDI/1-1”, “__NODEST=600”) in new stack
– Executing [600@ext-group:10] Set(“DAHDI/1-1”, “RecordMethod=Group”) in new stack
– Executing [600@ext-group:11] Macro(“DAHDI/1-1”, “record-enable,205-206-208-207-212,Group”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“DAHDI/1-1”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] AGI(“DAHDI/1-1”, “recordingcheck,20091123-141745,1259007463.0”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
– <DAHDI/1-1>AGI Script recordingcheck completed, returning 0
– Executing [s@macro-record-enable:5] MacroExit(“DAHDI/1-1”, “”) in new stack
– Executing [600@ext-group:12] Set(“DAHDI/1-1”, “RingGroupMethod=ringall”) in new stack
– Executing [600@ext-group:13] Macro(“DAHDI/1-1”, “dial,60,tr,205-206-208-207-212”) in new stack
– Executing [s@macro-dial:1] GotoIf(“DAHDI/1-1”, “1?dial”) in new stack
– Goto (macro-dial,s,3)
– Executing [s@macro-dial:3] AGI(“DAHDI/1-1”, “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 ‘unknown’ number is 'unknown’
dialparties.agi: Methodology of ring is ‘ringall’