Summary: | ASTERISK-15569: Attended transfers get incorrect voicemail. | ||
Reporter: | Herb (herb) | Labels: | |
Date Opened: | 2010-02-02 22:00:25.000-0600 | Date Closed: | 2011-06-07 14:08:02 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Resources/res_features |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) debug.txt | |
Description: | Callers who get automated transferred but fail to get answered end up getting the voicemail of the transferer and not the callee. Person A calls Person B Person B xfers Person A to Person C Person C does not answer. Person A gets voicemail of Person B. This is version 1.6.1.13. Fresh install/compile. Using my current config files. Blind transfers work correct. If you blind transfer the person will get the correct voicemail. ****** ADDITIONAL INFORMATION ****** This is the same issue I reported here: ASTERISK-1516347 | ||
Comments: | By: Herb (herb) 2010-02-02 22:10:49.000-0600 I meant attended transfers not automated. By: Leif Madsen (lmadsen) 2010-02-03 09:32:38.000-0600 Additional information required: * Which kind of attended transfer? Is this internal using features.conf and DTMF, or is this done via the transfer button the phone? (chan_sip?) * Please provide a console output showing this problem, with debug level logging * If this is a chan_sip issue (i.e. using attended transfers from the phone) please include the SIP trace from the console, along with SIP history, enabled from sip.conf. By: Herb (herb) 2010-02-03 17:19:33.000-0600 Aloha, We are using the attended transfer function on our phones. Cisco 7940s/7960s with SIP firmware 8.11. I have the attended transfer feature code enabled but it does not work for us. Both the blind transfer function on the phones, and the feature code works fine. I have attached a debug output and here is a trace: -- Accepting overlap call from 'XXXXXXXXXX' to 'XXXX143' on channel 0/1, span 1 -- Starting simple switch on 'DAHDI/1-1' -- Executing [XXXX143@default:1] Macro("DAHDI/1-1", "vm,143") in new stack -- Executing [s@macro-vm:1] Dial("DAHDI/1-1", "SIP/143,15,tTkK") in new stack == Using SIP RTP CoS mark 5 -- Called 143 -- SIP/143-0000012d is ringing -- SIP/143-0000012d answered DAHDI/1-1 -- Started music on hold, class 'default', on DAHDI/1-1 == Using SIP RTP CoS mark 5 -- Executing [178@default:1] Macro("SIP/143-0000012e", "vm,178") in new stack -- Executing [s@macro-vm:1] Dial("SIP/143-0000012e", "SIP/178,15,tTkK") in new stack == Using SIP RTP CoS mark 5 -- Called 178 -- SIP/178-0000012f is ringing -- Stopped music on hold on DAHDI/1-1 == Spawn extension (macro-vm, s, 1) exited non-zero on 'SIP/143-0000012e<ZOMBIE>' in macro 'vm' == Spawn extension (default, XXXX143, 1) exited non-zero on 'SIP/143-0000012e<ZOMBIE>' -- Nobody picked up in 15000 ms -- Executing [s@macro-vm:2] Goto("DAHDI/1-1", "s-NOANSWER,1") in new stack -- Goto (macro-vm,s-NOANSWER,1) -- Executing [s-NOANSWER@macro-vm:1] VoiceMail("DAHDI/1-1", "143,su") in new stack -- <DAHDI/1-1> Playing '/var/spool/asterisk/voicemail/default/143/unavail.slin' (language 'en') -- Channel 0/1, span 1 got hangup request, cause 16 == Spawn extension (macro-vm, s-NOANSWER, 1) exited non-zero on 'DAHDI/1-1' in macro 'vm' == Spawn extension (default, 178, 1) exited non-zero on 'DAHDI/1-1' -- Hungup 'DAHDI/1-1' Here is our voicemail macro: [macro-vm] include => default exten => s,1,Dial(SIP/${ARG1},15,tTkK) exten => s,n,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,VoiceMail(${ARG1},su) exten => s-NOANSWER,n,Goto(default,s,1) exten => s-BUSY,1,VoiceMail(${ARG1},sb) exten => s-BUSY,n,Goto(default,s,1) exten => _s-.,1,Goto(s-NOANSWER,1) By: Herb (herb) 2010-02-03 17:38:00.000-0600 Looking at the debug statement I noticed this messages: [Feb 3 13:05:30] DEBUG[8044] channel.c: Not copying variable MACRO_DEPTH. [Feb 3 13:05:30] DEBUG[8044] channel.c: Not copying variable ARG1. [Feb 3 13:05:30] DEBUG[8044] channel.c: Not copying variable MACRO_PRIORITY. [Feb 3 13:05:30] DEBUG[8044] channel.c: Not copying variable MACRO_CONTEXT. [Feb 3 13:05:30] DEBUG[8044] channel.c: Not copying variable MACRO_EXTEN. And thinking this is related to our issue. Is this something I did or can correct? Or is Asterisk just not passing these variables anymore? Thanks, Herb By: Leif Madsen (lmadsen) 2010-02-03 18:42:44.000-0600 Hmmm, I think that is normal. However, there have been several transfer regression bugs in 1.6.1.13 (and thus 1.6.1.14 which is a security release based on 1.6.1.13) which have since been fixed post 1.6.1.13 release. Could you try updating to the latest 1.6.1 branch and see if that resolves the issue? If not, then we'll try to further track down the issue, but there is no point in doing that if it's already been fixed as part of the transfer issues. Thanks! By: Herb (herb) 2010-02-03 18:49:28.000-0600 I will try the latest 1.6.1 branch tonight and see what happens. Thanks, Herb By: Herb (herb) 2010-02-03 21:36:41.000-0600 Ok, I downloaded the most recent branch via SVN and still getting the same transfer/voicemail problem. svn checkout http://svn.digium.com/svn/asterisk/branches/1.6.1 asterisk-1.6.1 Checked out external at revision 234. Checked out revision 696. Checked out revision 244686. #asterisk -r Connected to Asterisk SVN-branch-1.6.1-r244553 trace: Connected to Asterisk SVN-branch-1.6.1-r244553 currently running on kelepona (pid = 29157) kelepona*CLI> core set verbose 10 Verbosity was 0 and is now 10 -- Channel 0/15, span 1 got hangup request, cause 16 == Spawn extension (closed, s, 1) exited non-zero on 'DAHDI/15-1' -- Hungup 'DAHDI/15-1' -- Accepting overlap call from 'XXXXXXXXXX' to 'XXXX143' on channel 0/16, span 1 -- Starting simple switch on 'DAHDI/16-1' -- Executing [XXXX143@default:1] Macro("DAHDI/16-1", "vm,143") in new stack -- Executing [s@macro-vm:1] Dial("DAHDI/16-1", "SIP/143,15,tTkK") in new stack == Using SIP RTP CoS mark 5 -- Called 143 -- SIP/143-00000003 is ringing -- SIP/143-00000003 answered DAHDI/16-1 -- Started music on hold, class 'default', on DAHDI/16-1 -- Stopped music on hold on DAHDI/16-1 == Using SIP RTP CoS mark 5 -- Executing [178@default:1] Macro("SIP/143-00000004", "vm,178") in new stack -- Executing [s@macro-vm:1] Dial("SIP/143-00000004", "SIP/178,15,tTkK") in new stack == Using SIP RTP CoS mark 5 -- Called 178 -- SIP/178-00000005 is ringing == Spawn extension (macro-vm, s, 1) exited non-zero on 'SIP/143-00000004<ZOMBIE>' in macro 'vm' == Spawn extension (default, XXXX143, 1) exited non-zero on 'SIP/143-00000004<ZOMBIE>' -- Nobody picked up in 15000 ms -- Executing [s@macro-vm:2] Goto("DAHDI/16-1", "s-NOANSWER,1") in new stack -- Goto (macro-vm,s-NOANSWER,1) -- Executing [s-NOANSWER@macro-vm:1] VoiceMail("DAHDI/16-1", "143,su") in new stack -- <DAHDI/16-1> Playing '/var/spool/asterisk/voicemail/default/143/unavail.slin' (language 'en') -- Channel 0/16, span 1 got hangup request, cause 16 == Spawn extension (macro-vm, s-NOANSWER, 1) exited non-zero on 'DAHDI/16-1' in macro 'vm' == Spawn extension (default, 178, 1) exited non-zero on 'DAHDI/16-1' -- Hungup 'DAHDI/16-1' I am going through my config files and trying to update syntax/code where I can. Maybe it's my old macros? Thanks again for the help. By: Leif Madsen (lmadsen) 2010-02-04 14:21:10.000-0600 It's a bit hard to see what is going on there -- can you attach the relevant parts of your dialplan? By: Herb (herb) 2010-02-04 14:56:09.000-0600 Direct Dial to my extension: exten => XXXX143,1,Macro(vm,143) [macro-vm] include => default exten => s,1,Dial(SIP/${ARG1},15,tTkK) exten => s,n,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,VoiceMail(${ARG1},su) exten => s-NOANSWER,n,Goto(default,s,1) exten => s-BUSY,1,VoiceMail(${ARG1},sb) exten => s-BUSY,n,Goto(default,s,1) exten => _s-.,1,Goto(s-NOANSWER,1) If anyone could help me out with what it should look like using GoSub() I would greatly appreciate it. I tried using it and I didn't have the syntax right, as it wasn't working so I reverted back to Macro(). Thanks! By: Leif Madsen (lmadsen) 2010-02-04 15:01:04.000-0600 Something like this should work (note that 'sub' is not required -- I just add it for personal use. Also, I changed 's' to 'start' as that is my personal preference) exten => XXXX143,1,GoSub(sub-vm,start,1(vm,143)) [sub-vm] include => default exten => start,1,Dial(SIP/${ARG1},15,tTkK) exten => start,n,Goto(start-${DIALSTATUS},1) exten => start-NOANSWER,1,VoiceMail(${ARG1},su) exten => start-NOANSWER,n,Goto(default,s,1) exten => start-BUSY,1,VoiceMail(${ARG1},sb) exten => start-BUSY,n,Goto(default,s,1) exten => _start-.,1,Goto(start-NOANSWER,1) By: Leif Madsen (lmadsen) 2010-02-04 15:01:27.000-0600 Well, I don't see any reason why this shouldn't work really... so I'm out of suggestions at the moment. By: Leif Madsen (lmadsen) 2010-03-23 10:53:28 Suspending this issue as I don't believe there is anything that needs to be changed here. |