[Home]

Summary:ASTERISK-08430: Blind Transfer does not fail when destination is unreachable
Reporter:Naftali (naftali5)Labels:
Date Opened:2006-12-25 14:41:15.000-0600Date Closed:2011-06-07 14:08:15
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Resources/res_features
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) transferbug.txt
Description:Test #1 - attended transfer to non-existent extension
Result - transferring party hears beeperr, call resumes
Test #2 - blind transfer to non-existent extension
Result - transferring party hears pbx-invalid, call resumes

Test #3 - attended transfer to extension which matches dialplan but is unreachable
Result - transferring party hears pbx-invalid, call resumes
Test #4 - blind transfer to extension which matches dialplan but is unreachable
Result - the transfer goes through, and the call is lost

Examples of instances where this can cause problems: If you have more than one asterisk box, and set up IAX2 dialing between them, generally you would have a pattern match of _5XX which gets sent to the box handling those extensions. Blind transfer to 525, and the pattern is matched, the transfer does not fail, and the caller is hung up on if the exten 525 does not exist on the other box.
OR Simply you want to trap invalid dialed extensions, and give them a message instead of nothing. You could always test for ${BLINDTRANFER} to only play the message if not transferred, but the match in the dialplan breaks the transfer because the transfer is considered a success on match even if the call ultimately fails.

Note: This affects only blind transfers. Attended transfers fail in this case and after playing pbx-invalid the call resumes.

I've attached a trimmed and commented debug log.

To sum up
Comments:By: Joshua C. Colp (jcolp) 2006-12-25 21:41:04.000-0600

This is not a bug. A blind transfer implies that as long as the extension exists you are fine with sending it there. In your case the dialplan should not be doing a Goto to a non-existant extension or should handle the invalid extension. If you need to make sure that the remote side is valid/ringing/whatever, then you should do an attended transfer.