Summary:ASTERISK-08535: Attended transfers to parking broken
Reporter:Ryan Courtnage (rcourtna)Labels:
Date Opened:2007-01-09 21:09:34.000-0600Date Closed:2007-01-11 21:07:55.000-0600
Versions:Frequency of
Environment:Attachments:( 0) linksys_park.txt
( 1) verbosedebug.txt
Description:Transferring calls to the parkext in Asterisk 1.4.0 (tarball) is broken.  It's last known to work properly in 1.2.10.

The problem presents itself when using the native xfer feature on both Linksys (SPA-451) and Polycom phones to transfer an incoming call to the parking extension.

When attempting to do this, Asterisk parks the wrong leg of the call.  For example:

- IAX2/300 calls SIP/200 (Linksys)
- SIP/200 presses xfer button and dials 70 (parkext)
- Asterisk will report:
 -- Executing [70@from-internal:1] Park("SIP/200-08200470", "") in new stack

... it parks SIP/200 instead of IAX2/300.

Note that this same procedure works fine on other brands of SIP phones, like Snom 360.

More importantly, with the latest svn revision from the 1.4.0 branch, Asterisk will crash, every time, when following the above procedure.


Relevant cli trace and sip debug attached.
Comments:By: Joshua C. Colp (jcolp) 2007-01-09 21:52:43.000-0600

I have fixed the segmentation fault in 1.4 as of revision 50266. Please give it a try again and report back. Thanks!

By: Serge Vecher (serge-v) 2007-01-10 09:08:25.000-0600

also, if the transfer is still broken, please produce a new log with debug output as per:

1) Prepare test environment (reduce the amount of unrelated traffic on the server);
2) Make sure your logger.conf has the following line:
  console => notice,warning,error,debug
3) restart Asterisk with the following command:
  'asterisk -Tvvvvvdddddngc | tee /tmp/verbosedebug.txt'
4) Enable SIP transaction logging with the following CLI commands:
set debug 4
set verbose 4
sip debug
5) Trim startup information and attach verbosedebug.txt to the issue.

By: Ryan Courtnage (rcourtna) 2007-01-10 21:10:56.000-0600


File, the seg fault appears to be fixed.  The transfer problem still persists.

As requested, I'm attaching verbosedebug.txt.  The test case is the same:

- IAX2/704 calls SIP/705 (linksys)
- SIP/705 answers and uses native xfer feature to transfer to 70
- SIP/705 hears "71" (the park location)
- SIP/705 completes the xfer
- Asterisk terminates IAX2/704 rather than parking it

As I'm going through this, I do recognize that it seems silly to use the phone's attended xfer feature, rather than just #-transfer them to 70.  There are lots of silly people out there :-)  Understandable that people learn how to use a phone's xfer button and want to stick with it.

I'd like to reiterate that the detailed procedure worked just fine in 1.2.10


By: Joshua C. Colp (jcolp) 2007-01-10 23:54:51.000-0600

Please give 1.4 as of revision 50468 a try. Thanks!

By: Ryan Courtnage (rcourtna) 2007-01-11 19:22:23.000-0600

FIXED!  Thanks for the quick work!!

By: Joshua C. Colp (jcolp) 2007-01-11 21:07:55.000-0600

Fixed in 1.4 as of revision 50468 and trunk as of revision 50469.