Attended Call Transfer Return Issue

Hello All

Hopefully someone can help us here. We are running into an issues with calls being returned from an attended transfer. Here is what happens, an external caller calls into the system, the receptionist receives the calls, does an attendant transfer to an extension, the user at the extension doesn’t answer and the call times out and the caller is returned back to the receptionist. The receptionist tries to transfer the caller to voicemail by pressing * + extension and the call is dropped. Has anyone seen this?

FreePBX 13.0.192.9
Asterisk: 11.25.1

Here is what the CLI shows when trying to do the transfer to voicemail after the call has already returned:

== Spawn extension (from-internal, *1999, 1) exited non-zero on ‘SIP/voip-0000000e’ in macro ‘dial’
== Spawn extension (from-internal, *1999, 1) exited non-zero on ‘SIP/voip-0000000e’
– Executing [*1999@from-internal:1] Set(“SIP/voip-0000000e”, “CONNECTEDLINE(name-charset,i)=utf8”) in new stack
– Executing [*1999@from-internal:2] Set(“SIP/voip-0000000e”, “CONNECTEDLINE(name,i)=1999 Voicemail”) in new stack
– Executing [*1999@from-internal:3] Set(“SIP/voip-0000000e”, “CONNECTEDLINE(num,i)=1999”) in new stack
– Executing [*1999@from-internal:4] Macro(“SIP/voip-0000000e”, “vm,1999,DIRECTDIAL,”) in new stack
– Executing [s@macro-vm:1] Macro(“SIP/voip-0000000e”, “user-callerid,SKIPTTL”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/voip-0000000e”, “TOUCH_MONITOR=1499406780.22”) in new stack
– Executing [s@macro-user-callerid:2] Set(“SIP/voip-0000000e”, “AMPUSER=5551234567”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“SIP/voip-0000000e”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“SIP/voip-0000000e”, “0?Set(REALCALLERIDNUM=5551234567)”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/voip-0000000e”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/voip-0000000e”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/voip-0000000e”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:8] GotoIf(“SIP/voip-0000000e”, “1?report”) in new stack
– Goto (macro-user-callerid,s,15)
– Executing [s@macro-user-callerid:15] GotoIf(“SIP/voip-0000000e”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,29)
– Executing [s@macro-user-callerid:29] Set(“SIP/voip-0000000e”, “CALLERID(number)=5551234567”) in new stack
– Executing [s@macro-user-callerid:30] Set(“SIP/voip-0000000e”, “CALLERID(name)=SMITH BOB”) in new stack
– Executing [s@macro-user-callerid:31] GotoIf(“SIP/voip-0000000e”, “0?cnum”) in new stack
– Executing [s@macro-user-callerid:32] Set(“SIP/voip-0000000e”, “CDR(cnam)=SMITH BOB”) in new stack
– Executing [s@macro-user-callerid:33] Set(“SIP/voip-0000000e”, “CDR(cnum)=5551234567”) in new stack
– Executing [s@macro-user-callerid:34] Set(“SIP/voip-0000000e”, “CHANNEL(language)=en”) in new stack
– Executing [s@macro-vm:2] Set(“SIP/voip-0000000e”, “VMGAIN=”) in new stack
– Executing [s@macro-vm:3] Macro(“SIP/voip-0000000e”, “blkvm-check,”) in new stack
– Executing [s@macro-blkvm-check:1] Set(“SIP/voip-0000000e”, “GOSUB_RETVAL=TRUE”) in new stack
– Executing [s@macro-blkvm-check:2] ExecIf(“SIP/voip-0000000e”, “0?Set(GOSUB_RETVAL=TRUE)”) in new stack
– Executing [s@macro-blkvm-check:3] MacroExit(“SIP/voip-0000000e”, “”) in new stack
– Executing [s@macro-vm:4] GotoIf(“SIP/voip-0000000e”, “0?vmx,1”) in new stack
– Executing [s@macro-vm:5] Hangup(“SIP/voip-0000000e”, “”) in new stack
== Spawn extension (macro-vm, s, 5) exited non-zero on ‘SIP/voip-0000000e’ in macro ‘vm’
== Spawn extension (from-internal, *1999, 4) exited non-zero on ‘SIP/voip-0000000e’
– Executing [h@from-internal:1] Macro(“SIP/voip-0000000e”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] ExecIf(“SIP/voip-0000000e”, “0?Set(CDR(recordingfile)=.wav)”) in new stack
– Executing [s@macro-hangupcall:2] GotoIf(“SIP/voip-0000000e”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] ExecIf(“SIP/voip-0000000e”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:5] Hangup(“SIP/voip-0000000e”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 5) exited non-zero on ‘SIP/voip-0000000e’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/voip-0000000e’

thanks

Please show the entire call, as follows:

asterisk -rvvvvvvvvv
sip set debug on
<Reproduce issue in its entirety>
exit

Copy all resulting scrollback to pastebin.com. Share that link here. Do not change or censor anything. Do not shorten or leave out anything, show the entire call.

Thanks for the help. Here is the pastebin link: https://pastebin.com/JDCQ5SbL
Pretty much the behavior is that an inbound call is received which rings extension 1998. 1998 attempts an attended transfer to 1999 - it times out and the call is returned back to ext 1998. Ext 1998 tries to transfer the caller directly to voicemail by using *1999 and the call is hung up. We are using FOP2 to do this but the problem was recreated using *2 for the attended transfer and then * + extension for voicemail.

thanks

Hello All - wanted to see if anyone had any ideas on what could be happening here. I am kind of at a loss right now.

So I disabled find me / follow me settings for the extensions and it seems to be working now. Having users test to see if that resolves the issue. I noticed that in the logs (on this system compared to another one) that it passed:

“0?vmx,1” and then proceeded to drop the call

where as the other system passed:

“1?vmx,1” and seemed to work

After disabling find me/ follow me, the results match and the calls not complete successfully.

thanks