Summary: | ASTERISK-12163: BRIDGEPEER variable not updated on attended transfer when codec translation is used. | ||
Reporter: | Ramon Peek-Fares (ramonpeek) | Labels: | |
Date Opened: | 2008-06-09 07:24:28 | Date Closed: | 2008-06-10 07:48:49 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Channels/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) Bridgepeer_Not_Set.txt ( 1) Bridgepeer_Set_OK.txt | |
Description: | When a call is attended transferred from extension A to C by extension B, and extension A uses a different codec than B or C (for example g.729, instead of G.711) the BRIDGEPEER variable is not updated. I've tested this using a simple setup with SIP channels that have canreinvite set to no. I noticed that the BRIDGEPEER variable is set correctly on the first bridge between extension A and B, but when B attended transfers A to C the BRIDGEPEER variable is not update upon transfer. If all peers use G.711 this does happen! I've attached two traces; One in which the BRIDGEPEER is set correctly because we are using G.711 on all peers and the other one where the BRIDGEPEER variable is not updated because peer A uses G.729. In this trace SIP/400 is peer A, SIP/401 is peer B and SIP/402 is peer C. ****** ADDITIONAL INFORMATION ****** Looking a bit deeper into the code I noticed that the part in channel.c where the BRIDGEPEER is being update is totally skipped in this situation. Because we break out of the loop tight after we mention; [Jun 9 14:11:28] DEBUG[25840] rtp.c: Oooh, formats changed, backing out This is most likely correct, but should we still update the BRIDGEPEER variable? | ||
Comments: | By: Digium Subversion (svnbot) 2008-06-10 07:45:19 Repository: asterisk Revision: 121442 U branches/1.4/main/channel.c ------------------------------------------------------------------------ r121442 | file | 2008-06-10 07:45:16 -0500 (Tue, 10 Jun 2008) | 4 lines Update BRIDGEPEER variable before we do a generic bridge in case we just broke out of a native bridge and fell through to generic. (closes issue ASTERISK-12163) Reported by: ramonpeek ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=121442 By: Digium Subversion (svnbot) 2008-06-10 07:47:56 Repository: asterisk Revision: 121444 _U trunk/ U trunk/main/channel.c ------------------------------------------------------------------------ r121444 | file | 2008-06-10 07:47:50 -0500 (Tue, 10 Jun 2008) | 12 lines Merged revisions 121442 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r121442 | file | 2008-06-10 09:52:06 -0300 (Tue, 10 Jun 2008) | 4 lines Update BRIDGEPEER variable before we do a generic bridge in case we just broke out of a native bridge and fell through to generic. (closes issue ASTERISK-12163) Reported by: ramonpeek ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=121444 By: Digium Subversion (svnbot) 2008-06-10 07:48:49 Repository: asterisk Revision: 121445 _U branches/1.6.0/ U branches/1.6.0/main/channel.c ------------------------------------------------------------------------ r121445 | file | 2008-06-10 07:48:44 -0500 (Tue, 10 Jun 2008) | 20 lines Merged revisions 121444 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r121444 | file | 2008-06-10 09:54:39 -0300 (Tue, 10 Jun 2008) | 12 lines Merged revisions 121442 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r121442 | file | 2008-06-10 09:52:06 -0300 (Tue, 10 Jun 2008) | 4 lines Update BRIDGEPEER variable before we do a generic bridge in case we just broke out of a native bridge and fell through to generic. (closes issue ASTERISK-12163) Reported by: ramonpeek ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=121445 |