Proper Voicemail sending in custom context

bradgentry

New Member
Joined
Jun 25, 2008
Messages
20
Reaction score
0
Hello all! After searching the forums and having no luck with the conventional methods, I've come to learn at your feet. I'm writing a custom context so that callers can exit a queue. They can exit just fine, I just don't know how to get them to the intended destination: a voicemail box.

With all the macros and VM contexts in PiaF, I can't seem to hit the right one. What's the proper way for me to unconditionally send a user to a particular VM box?

This is the context I most recently tried:
Code:
[2159out]
exten => 1,1,Wait(0.5)
exten => 1,n,Macro(vm,2723,BUSY) ; 2723, or any ole' box
exten => h,1,Macro(hangupcall,)
and this was the readout in the CLI:

Code:
    -- Executing [1@2159out:1] Wait("SIP/2724-00000031", "0.5") in new stack
    -- Executing [1@2159out:2] Macro("SIP/2724-00000031", "vm,2723,BUSY") in new stack
    -- Executing [s@macro-vm:1] Macro("SIP/2724-00000031", "user-callerid,SKIPTTL") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/2724-00000031", "AMPUSER=2724") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/2724-00000031", "18?report") in new stack
    -- Goto (macro-user-callerid,s,12)
    -- Executing [s@macro-user-callerid:12] GotoIf("SIP/2724-00000031", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,25)
    -- Executing [s@macro-user-callerid:25] Set("SIP/2724-00000031", "CALLERID(number)=2724") in new stack
    -- Executing [s@macro-user-callerid:26] Set("SIP/2724-00000031", "CALLERID(name)=Test 2 (delete me)") in new stack
    -- Executing [s@macro-vm:2] Set("SIP/2724-00000031", "VMGAIN=""") in new stack
    -- Executing [s@macro-vm:3] Macro("SIP/2724-00000031", "blkvm-check,") in new stack
    -- Executing [s@macro-blkvm-check:1] Set("SIP/2724-00000031", "GOSUB_RETVAL=TRUE") in new stack
    -- Executing [s@macro-blkvm-check:2] MacroExit("SIP/2724-00000031", "") in new stack
    -- Executing [s@macro-vm:4] GotoIf("SIP/2724-00000031", "0?vmx,1") in new stack
    -- Executing [s@macro-vm:5] Hangup("SIP/2724-00000031", "") in new stack
  == Spawn extension (macro-vm, s, 5) exited non-zero on 'SIP/2724-00000031' in macro 'vm'
  == Spawn extension (2159out, 1, 2) exited non-zero on 'SIP/2724-00000031'
    -- Executing [h@2159out:1] Macro("SIP/2724-00000031", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/2724-00000031", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] Hangup("SIP/2724-00000031", "") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/2724-00000031' in macro 'hangupcall'
  == Spawn extension (2159out, h, 1) exited non-zero on 'SIP/2724-00000031'
From what I can tell, the first differences between this and an example where I call the extension directly and decline the call (and voicemail *works*) are these lines:

Code:
    -- Executing [s@macro-blkvm-check:1] Set("SIP/2724-00000031", "GOSUB_RETVAL=TRUE") in new stack
    -- Executing [s@macro-blkvm-check:2] MacroExit("SIP/2724-00000031", "") in new stack
    -- Executing [s@macro-vm:4] GotoIf("SIP/2724-00000031", "0?vmx,1") in new stack
    -- Executing [s@macro-vm:5] Hangup("SIP/2724-00000031", "") in new stack
whereas the working voicemail says:

Code:
    -- Executing [s@macro-blkvm-check:1] Set("SIP/2724-00000034", "GOSUB_RETVAL=") in new stack
    -- Executing [s@macro-blkvm-check:2] MacroExit("SIP/2724-00000034", "") in new stack
    -- Executing [s@macro-vm:4] GotoIf("SIP/2724-00000034", "1?vmx,1") in new stack
    -- Goto (macro-vm,vmx,1)"
So, that's all I've got. This is on PiaF 1.7.5.5 and Asterisk 1.6.2.18 on a RentPBX.com virtual server.

Thanks in advance.
 
While I was pretty sure I had tried that already, I can't argue with the fact that it worked now. Many thanks, rossiv!
 

Members online

Forum statistics

Threads
26,688
Messages
174,412
Members
20,259
Latest member
Fadeek86
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.
Back
Top