Attended transfer caller hears ringing after transfer done

Asterisk 1.8.10.1~dfsg-1ubuntu1

A calls B.
B asnwers, intiaites an attendeded transfer to C.
C answers.
B hangs up.
A now hears ringing forever, until the call is terminated.

blind transfer does not have this problem.

What am I missing?

features.conf

[featuremap] blindxfer => #1 atxfer => #2

extensions.conf

[code][macro-voicemail]
exten =>s,1,Dial(${ARG1},10,t|m=default)
same =>n,GotoIf($["${DIALSTATUS}" = “BUSY”]?busy:unavail)
same =>n(unavail),NoOp()
same =>n,VoiceMail(${ARG2}@default,u)
same =>n,Hangup()
same =>n(busy),NoOp()
same =>n,VoiceMail(${ARG2}@default,b)
same =>n,Hangup()

[LocalSets]

include =>InternalSets

; xfer to voicemail using *extension
exten => _*2XX,1,NoOp();
same =>n,Verbose(xfer to ${EXTEN:1})
same =>n,Voicemail(${EXTEN:1})

include =>external
include =>emergency-services
include =>services
include =>QueueMemberFunctions

[InternalSets]
exten =>295,1,Macro(voicemail,${MITEL1},295)
exten =>mitel1,1,Macro(voicemail,${MITEL1},295)

exten =>296,1,Macro(voicemail,${MLCM800},296)
exten =>mlcm800,1,Macro(voicemail,${MLCM800},296)

exten =>298,1,Macro(voicemail,${MLCX500},298)
exten =>mlcx500,1,Macro(voicemail,${MLCX500},298)

exten =>299,1,Macro(voicemail,${MLCX450},299)
exten =>mlcx450,1,Macro(voicemail,${MLCX450},299)
[/code]

CLI output

== Using SIP RTP CoS mark 5 -- Executing [295@LocalSets:1] Macro("SIP/mlcm800-0000010a", "voicemail,SIP/mitel1,295") in new stack -- Executing [s@macro-voicemail:1] Dial("SIP/mlcm800-0000010a", "SIP/mitel1,10,t|m=default") in new stack == Using SIP RTP CoS mark 5 -- Called SIP/mitel1 -- Started music on hold, class 'default', on SIP/mlcm800-0000010a -- SIP/mitel1-0000010b is ringing -- SIP/mitel1-0000010b answered SIP/mlcm800-0000010a -- Stopped music on hold on SIP/mlcm800-0000010a -- Started music on hold, class 'default', on SIP/mlcm800-0000010a -- <SIP/mitel1-0000010b> Playing 'pbx-transfer.slin' (language 'en') -- Executing [299@LocalSets:1] Macro("Local/299@LocalSets-fbe5;2", "voicemail,SIP/mlcx450,299") in new stack -- Executing [s@macro-voicemail:1] Dial("Local/299@LocalSets-fbe5;2", "SIP/mlcx450,10,t|m=default") in new stack == Using SIP RTP CoS mark 5 -- Called SIP/mlcx450 -- Started music on hold, class 'default', on Local/299@LocalSets-fbe5;2 -- SIP/mlcx450-0000010c is ringing -- SIP/mlcx450-0000010c answered Local/299@LocalSets-fbe5;2 -- Stopped music on hold on Local/299@LocalSets-fbe5;2 -- Stopped music on hold on SIP/mlcm800-0000010a -- <Local/299@LocalSets-fbe5;1> Playing 'beep.slin' (language 'en') == Spawn extension (macro-voicemail, s, 1) exited non-zero on 'Transfered/SIP/mlcm800-0000010a<ZOMBIE>' in macro 'voicemail' == Spawn extension (LocalSets, 295, 1) exited non-zero on 'Transfered/SIP/mlcm800-0000010a<ZOMBIE>' == Spawn extension (macro-voicemail, s, 1) exited non-zero on 'Local/299@LocalSets-fbe5;2' in macro 'voicemail' == Spawn extension (LocalSets, 299, 1) exited non-zero on 'Local/299@LocalSets-fbe5;2'