Disable BLKVM/auto-blkvm

Hi

I am using FreePBX 2.2.1 on Trixbox

Whenever a incoming call comes to a Follow-Me list, the call is hunted upon the follow-me extensions.

The final destination is a voicemail box of an extension.

But the call doesn’t goes to the voicemail box, instead it remains blank.

While viewing the CLI, I’m able to see that the call is being blocked while entering a voicemail box with BLKVM/auto-blkvm macro’s.

What should i do in order to make the call go in to the voicemail box.

Should i disable BLKVM or auto-blkvm.

Can somebody please help me on doing this…

Kind Regards
Vinod

You are running a very old version of FreePBX in which all development has stopped. There has been major changes and development since that time. Have you considered upgrading to a currently supported version of FreePBX (latest branch of 2.4 or preferably 2.5)?

the BLKVM is set so that when a call is a part of a ring group or queue and it attempts to call a extension and nobody answers it DOES NOT go to that extensions voicemail but should continue on to the next extension in the queue.

So without knowing a lot more about your exact dial plan flow for a given call it’s hard to say if there is a bug or you are doing something in a way that was not intentioned.

If you can post a complete log of the call from dialing to the issue and maybe somebody can see something.

Also what version of asterisk are you using? 1.2 I would guess, but assuming that on my part would be bad.

Hi fskrotzki,

The Asterisk version i am using is 1.2.26
FreePBX 2.2.1
Trixbox 2.2.12

I was wrong about my thinking on BLKVM. I thought BLKVM is blocking the call to enter in to the voicemailbox set at the failover destination…

My setup is like When anyone calls my DID number, it is routed to my followme list which contains the extensions 4803,4804,4814 & 4815 and the 4803’s voicemailbox is configured as the final destination.

Making direct DID calls is perfect with the setup. But when incoming calls to this DID number comes from a Redirect, it wont let in to the voicemailbox of 4803.

I have posted my CLI output below.

Can you advise me where i am wrong with my setup.

CLI:

– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “FROM_DID=1212yyyyyyyyyy”) in new stack
– Executing Gosub(“SIP/xx.xx.xx.xx-096b6978”, “app-blacklist-check|s|1”) in new stack
– Executing LookupBlacklist(“SIP/xx.xx.xx.xx-096b6978”, “”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “0?blacklisted”) in new stack
– Executing Return(“SIP/xx.xx.xx.xx-096b6978”, “”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “ext-findmefollow|4803|1”) in new stack
– Goto (ext-findmefollow,4803,1)
– Executing Macro(“SIP/xx.xx.xx.xx-096b6978”, “user-callerid|”) in new stack
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, “user-callerid: 1707xxxxxxx 1707xxxxxxx”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “0?report”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “0?start”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “REALCALLERIDNUM=1707xxxxxxx”) in new stack
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, “REALCALLERIDNUM is 1707xxxxxxx”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “AMPUSER=”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “AMPUSERCIDNAME=”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “1?report”) in new stack
– Goto (macro-user-callerid,s,11)
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, "TTL: ARG1: ") in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “0?continue”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “_TTL=64”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,21)
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, “Using CallerID “1707xxxxxxx” <1707xxxxxxx>”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “1?skipdb”) in new stack
– Goto (ext-findmefollow,4803,4)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “__NODEST=”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “__BLKVM_OVERRIDE=BLKVM/4803/SIP/xx.xx.xx.xx-096b6978”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “__BLKVM_BASE=4803”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “DB(BLKVM/4803/SIP/xx.xx.xx.xx-096b6978)=TRUE”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “RRNODEST=”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “__NODEST=4803”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “1?REPCID”) in new stack
– Goto (ext-findmefollow,4803,14)
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, “CALLERID(name) is 1707xxxxxxx”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “1 ?skipsimple”) in new stack
– Goto (ext-findmefollow,4803,17)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “RecordMethod=Group”) in new stack
– Executing Macro(“SIP/xx.xx.xx.xx-096b6978”, “record-enable|4803-4804-4814-4815|Group”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “0?2:4”) in new stack
– Goto (macro-record-enable,s,4)
– Executing DeadAGI(“SIP/xx.xx.xx.xx-096b6978”, “recordingcheck|20090213-210416|1234539256.10132”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
– AGI Script recordingcheck completed, returning 0
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, “No recording needed”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “RingGroupMethod=hunt”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “0?doconfirm”) in new stack
– Executing Macro(“SIP/xx.xx.xx.xx-096b6978”, “dial|20|tr|4803-4804-4814-4815”) in new stack
– Executing DeadAGI(“SIP/xx.xx.xx.xx-096b6978”, “dialparties.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
dialparties.agi: priority is 1
dialparties.agi: Caller ID name is ‘1707xxxxxxx’ number is '1707xxxxxxx’
dialparties.agi: Methodology of ring is ‘hunt’
> dialparties.agi: USE_CONFIRMATION: ‘FALSE’
> dialparties.agi: RINGGROUP_INDEX: ‘’
– dialparties.agi: Added extension 4803 to extension map
– dialparties.agi: Added extension 4804 to extension map
– dialparties.agi: Added extension 4814 to extension map
– dialparties.agi: Added extension 4815 to extension map
– dialparties.agi: Extension 4803 cf is disabled
– dialparties.agi: Extension 4804 cf is disabled
– dialparties.agi: Extension 4814 cf is disabled
– dialparties.agi: Extension 4815 cf is disabled
– dialparties.agi: Extension 4803 do not disturb is disabled
– dialparties.agi: Extension 4804 do not disturb is disabled
– dialparties.agi: Extension 4814 do not disturb is disabled
– dialparties.agi: Extension 4815 do not disturb is disabled
> dialparties.agi: extnum: 4803
> dialparties.agi: exthascw: 1
> dialparties.agi: exthascfb: 0
> dialparties.agi: extcfb:
> dialparties.agi: exthascfu: 0
> dialparties.agi: extcfu:
> dialparties.agi: extnum: 4804
> dialparties.agi: exthascw: 1
> dialparties.agi: exthascfb: 0
> dialparties.agi: extcfb:
> dialparties.agi: exthascfu: 0
> dialparties.agi: extcfu:
> dialparties.agi: extnum: 4814
> dialparties.agi: exthascw: 1
> dialparties.agi: exthascfb: 0
> dialparties.agi: extcfb:
> dialparties.agi: exthascfu: 0
> dialparties.agi: extcfu:
> dialparties.agi: extnum: 4815
> dialparties.agi: exthascw: 1
> dialparties.agi: exthascfb: 0
> dialparties.agi: extcfb:
> dialparties.agi: exthascfu: 0
> dialparties.agi: extcfu:
> dialparties.agi: NODEST: 4803 adding M(auto-blkvm) to dialopts: trM(auto-blkvm)
– AGI Script dialparties.agi completed, returning 0
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, "Returned from dialparties with hunt groups to dial ") in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntLoop=0”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?30 ") in new stack
– Goto (macro-dial,s,30)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntMember=HuntMember0”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?32:35 ") in new stack
– Goto (macro-dial,s,32)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “CT_EXTEN=4803”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “DB(CALLTRACE/4803)=1707xxxxxxx”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “s|42”) in new stack
– Goto (macro-dial,s,42)
– Executing Dial(“SIP/xx.xx.xx.xx-096b6978”, "SIP/4803|20|trM(auto-blkvm) ") in new stack
– Called 4803
– SIP/4803-09668048 is ringing
– Nobody picked up in 20000 ms
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntLoop=1”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntMembers=3”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “s|22”) in new stack
– Goto (macro-dial,s,22)
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?30 ") in new stack
– Goto (macro-dial,s,30)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntMember=HuntMember1”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?32:35 ") in new stack
– Goto (macro-dial,s,32)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “CT_EXTEN=4804”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “DB(CALLTRACE/4804)=1707xxxxxxx”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “s|42”) in new stack
– Goto (macro-dial,s,42)
– Executing Dial(“SIP/xx.xx.xx.xx-096b6978”, "SIP/4804|20|trM(auto-blkvm) ") in new stack
– Called 4804
– SIP/4804-09664448 is ringing
– Nobody picked up in 20000 ms
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntLoop=2”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntMembers=2”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “s|22”) in new stack
– Goto (macro-dial,s,22)
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?30 ") in new stack
– Goto (macro-dial,s,30)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntMember=HuntMember2”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?32:35 ") in new stack
– Goto (macro-dial,s,32)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “CT_EXTEN=4814”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “DB(CALLTRACE/4814)=1707xxxxxxx”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “s|42”) in new stack
– Goto (macro-dial,s,42)
– Executing Dial(“SIP/xx.xx.xx.xx-096b6978”, "SIP/4814|20|trM(auto-blkvm) ") in new stack
– Called 4814
– SIP/4814-09668048 is ringing
– Nobody picked up in 20000 ms
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntLoop=3”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntMembers=1”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “s|22”) in new stack
– Goto (macro-dial,s,22)
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?30 ") in new stack
– Goto (macro-dial,s,30)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “HuntMember=HuntMember3”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, "1?32:35 ") in new stack
– Goto (macro-dial,s,32)
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “CT_EXTEN=4815”) in new stack
– Executing Set(“SIP/xx.xx.xx.xx-096b6978”, “DB(CALLTRACE/4815)=1707xxxxxxx”) in new stack
– Executing Goto(“SIP/xx.xx.xx.xx-096b6978”, “s|42”) in new stack
– Goto (macro-dial,s,42)
– Executing Dial(“SIP/xx.xx.xx.xx-096b6978”, "SIP/4815|20|trM(auto-blkvm) ") in new stack
– Called 4815
– SIP/4815-09724330 is ringing
== Spawn extension (macro-dial, s, 42) exited non-zero on ‘SIP/xx.xx.xx.xx-096b6978’ in macro ‘dial’
== Spawn extension (macro-dial, s, 42) exited non-zero on ‘SIP/xx.xx.xx.xx-096b6978’
– Executing Macro(“SIP/xx.xx.xx.xx-096b6978”, “hangupcall”) in new stack
– Executing ResetCDR(“SIP/xx.xx.xx.xx-096b6978”, “w”) in new stack
– Executing NoCDR(“SIP/xx.xx.xx.xx-096b6978”, “”) in new stack
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,6)
– Executing GotoIf(“SIP/xx.xx.xx.xx-096b6978”, “0?theend”) in new stack
– Executing NoOp(“SIP/xx.xx.xx.xx-096b6978”, “Cleaning Up Block VM Flag: BLKVM/4803/SIP/xx.xx.xx.xx-096b6978”) in new stack
– Executing DBdel(“SIP/xx.xx.xx.xx-096b6978”, “BLKVM/4803/SIP/xx.xx.xx.xx-096b6978”) in new stack
– DBdel: family=BLKVM, key=4803/SIP/xx.xx.xx.xx-096b6978
– Executing Wait(“SIP/xx.xx.xx.xx-096b6978”, “5”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/xx.xx.xx.xx-096b6978’ in macro ‘hangupcall’
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/xx.xx.xx.xx-096b6978’

Many Thanks
Vinod

ok that explains a few things. Question: how the redirect setup that starts all of this? That information is not included in the trace above as it might have other conditions preset on it that travel with the call when the redirect occurs.

Hi fskrotzki,

Thanks again for your reply.

A Toll-free number is being redirected to this DID, which then enters my setup.

Calls from the Toll-free number is not getting in to the voicemail. But on the otherhand, direct calls to the DID number works.

Also, when looking at the CLI, i am not able to find out the details of the redirected numbers, as I can only see is the source(caller) number, found in the CLI as 1707xxxxxxx.

Many Thanks
Vinod

two comments, first - 2.2.X has got lot of issues and bugs, so it is a generally good idea to update to a supported version of FreePBX before taking a lot of people’s time here trying to help you. If upgrading doesn’t fix it, then you will at least be speaking a ‘common language’ wrt to what you are running on.

Next, you need more detail on the trace, the following at the end of your trace:

-- Executing Dial("SIP/xx.xx.xx.xx-096b6978", "SIP/4815|20|trM(auto-blkvm) ") in new stack
-- Called 4815
-- SIP/4815-09724330 is ringing
== Spawn extension (macro-dial, s, 42) exited non-zero on 'SIP/xx.xx.xx.xx-096b6978' in macro 'dial'
== Spawn extension (macro-dial, s, 42) exited non-zero on 'SIP/xx.xx.xx.xx-096b6978'

Does give any reason why the call hung up. It tried ringing SIP/4815 and then never finished. Also, because this is a CLI and not log trace, there are no timestamps to see how soon it hung up. You may want to turn on SIP debug tracing for SIP/4815 and see who is initiating the hangup and if you can tell why.

However - with all that said, I re-iterate that if you don’t see the issue, you are strongly advised to upgrade to 2.5 and use that as a basis to request more help (if it does not fix things).