Summary:ASTERISK-00493: when transferring a sip client to another sip client the transferring client gets the voicemailbox of the transferred client
Reporter:chris_de (chris_de)Labels:
Date Opened:2003-11-06 11:33:49.000-0600Date Closed:2004-09-25 02:49:15
Versions:Frequency of
Description:I'm calling SIP/14 from SIP/13. Now I press 'ASTERISK-14'. SIP/14 now gets conntected to SIP/18 as it should be. But then while SIP/14 is talking to SIP/18 I get the voicemailbox of SIP/14. This is because the transfer command doesn't hangup the line after successfully transferring the call. It just proceeds with the next priority of extension '14'.


My extensions.conf look like this:
exten => 13,1,setmusiconhold(default)
exten => 13,2,Dial(SIP/13|30|tT)
exten => 13,3,Playback(vm/13/unavail)
exten => 13,4,Voicemail2(s13)
exten => 14,1,setmusiconhold(default)
exten => 14,2,Dial(SIP/14|30|tT)
exten => 14,3,Playback(vm/14/unavail)
exten => 14,4,Voicemail2(s14)
exten => 18,1,setmusiconhold(default)
exten => 18,2,Dial(SIP/18|12|tT)
exten => 18,3,Playback(vm/18/unavail)
exten => 18,4,Voicemail2(s18)
Comments:By: chris_de (chris_de) 2003-11-14 08:00:18.000-0600

the problem only occurs if I transfer a called person and NOT if I transfer a calling person.

By: Brian West (bkw918) 2003-11-14 09:51:08.000-0600

Never mind you have some major config issues.

exten => s,1,Dial(${ARG2},30,tTr)
exten => s,2,Voicemail(u${ARG1})
exten => s,3,Hangup
exten => s,103,Voicemail(b${ARG1})
exten => s,104,Hangup

exten => _1X,1,Macro(stdexten|${EXTEN}|SIP/${EXTEN})

This problem wont happen if you setup your config correctly.  You for one don't have to use playback(vm/blah/unavail) two you have voicemail play that back via the Voicemail(u${EXTEN}) thus saving some lines in your config.  Also setmusiconhold(default)  can go it will use default and doesn't need to be specified.  Plus you have nothing to take care of N+101 busy... ie the phone is busy.

By: Brian West (bkw918) 2003-11-14 10:42:12.000-0600

After chatting with you on IRC about this... I see the problem.


if extension 12 calls extension 10.  Then extension 12 press # then dials exten 14.  Extenion 10 will be connected to extension 14 but at the same time extension 12 will extension 10's voicemail.  Looks like we need a hangup after the transfer is done somewhere.

By: chris_de (chris_de) 2003-11-14 11:38:19.000-0600

this is what I tried to do this afternoon; I think its ~ line 364 in res_parking.c But I don't know what the correct syntax is. ast_streamstop(transferer) doesn't do anything and ast_hangup(transferer) causes a segfault.

By: Brian West (bkw918) 2003-11-19 19:17:21.000-0600

Is this same as bug 487

By: chris_de (chris_de) 2003-11-20 01:18:30.000-0600

sure? it sounds a bit different.

By: Brian West (bkw918) 2003-11-20 13:31:47.000-0600

Chris_DE can you confirm that this happens on inbound and internal tranfers?  Bug 555 was similar so i have it lumped in on this bug to try and get everyone together on this.

By: chris_de (chris_de) 2003-11-20 13:54:12.000-0600

No, I wouldn't put these bugs together! These bugs are different and also I cannot reproduce bug 555. If I dial ext 13 (voicemailbox configured) from an outside line, pickup and then transfer to ext 14 (sip, not logged in, no voicemail), I get a busy tone. If I transfer the call to ext 15 (sip, logged in, no voicemail) instead I don't get any voicemailbox even if I ring 1 minute. If I transfer the call to ext 16 (sip, logged in, voicemailbox after 10s), the foreign user gets the voicemailbox of 16 after 10s (correct). So I couldn't reproduce Bug 555.

This error here (497) only occurs on internal transfer under special circumstances (see above). Maybe it is solved when bug 555 is solved but I would treat these bugs seperately.

By: Brian West (bkw918) 2003-11-23 17:12:52.000-0600

Fixed in CVS.