Summary:ASTERISK-01009: Supervised transfers with SIP REFER/Replaces do not work with Sipura and X-Pro
Reporter:Serge Kruppa (sergejf)Labels:
Date Opened:2004-02-08 20:54:46.000-0600Date Closed:2008-01-15 14:43:09.000-0600
Versions:Frequency of
Environment:Attachments:( 0) chan_sip.c
( 1) REFER_Log
Description:When attempting a supervised transfer, the Sipura SPA-2000 TA and Xten X-Pro send Refer-To using a format that the Asterisk SIP channel cannot handle, for example:

Refer-To: sip:2002@

As a result Asterisk fails to find the correct Call-ID, see below:

Feb  8 00:31:31 NOTICE[81926]: Supervised transfer requested, but unable to find callid '5d3fe132-4764dc89'

Rewriting the SIP channel code that handles the Refer-To text and converts %XX into their equivalent characters fixes the problem (see attached chan_sip.c containing the fix).


The attached chan_sip.c contains my bug fix, tested on Asterisk 0.7.2 (tarball) with the most current Sipura SPA-2000 and Xten X-Pro. All my modifications are clearly marked with my initials (SK). Please note that I haven't programmed in C for a good while, so feel free to rehash my code as needed.
Comments:By: Brian West (bkw918) 2004-02-08 21:12:03.000-0600

Please attach a diff -u

By: Mark Spencer (markster) 2004-02-08 23:31:47.000-0600

I believe I have a reasonable patch in place that should fix this by fully URL decoding it.  However, if my patch doesn't fix it, feel free to re-open the bug.

By: Digium Subversion (svnbot) 2008-01-15 14:43:09.000-0600

Repository: asterisk
Revision: 2142

U   trunk/channels/chan_sip.c

r2142 | markster | 2008-01-15 14:43:09 -0600 (Tue, 15 Jan 2008) | 2 lines

Properly fully URL decode the REPLACES in SIP and also watch for edge condition (bug ASTERISK-1009)