[asterisk-bugs] [JIRA] Created: (ASTERISK-20420) sip_tech_info channels cannot be bridged, not even with themselves

Matt Jordan (JIRA) noreply at issues.asterisk.org
Fri Sep 14 09:59:28 CDT 2012


sip_tech_info channels cannot be bridged, not even with themselves
------------------------------------------------------------------

                 Key: ASTERISK-20420
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20420
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Channels/chan_sip/General
    Affects Versions: 1.8.15.1
            Reporter: Michele Cicciotti (PrivateWave SpA)
            Severity: Minor


Channels using the sip_tech_info driver cannot use the native bridge at all (they cannot even be bridged to other sip_tech_info channels). This is due to a logic mistake (I think?) in revision 366547, repeated verbatim in callbacks sip_get_udptl_peer, sip_get_rtp_peer, sip_get_vrtp_peer and sip_get_trtp_peer:

{code}
	if (!(opp_chan = ast_bridged_channel(chan))) {
		return AST_RTP_GLUE_RESULT_FORBID;
	} else if ((opp_chan->tech != &sip_tech) || (!(opp = opp_chan->tech_pvt))) {
		return AST_RTP_GLUE_RESULT_FORBID;
	}
{code}

As you can see, the only channels that can be bridged are sip_tech channels with other sip_tech channels. I see two possible solutions. This one lets sip_tech and sip_tech_info channels to be bridged together, in any combination (will this work? It would be my favorite solution):

{code}
	} else if ((opp_chan->tech != &sip_tech && opp_chan->tech != &sip_tech_info) || (!(opp = opp_chan->tech_pvt))) {
{code}

This one, on the other hand, lets sip_tech channels be bridged with other sip_tech channels, and sip_tech_info channels with other sip_tech_info channels:

{code}
	} else if ((opp_chan->tech != chan->tech) || (!(opp = opp_chan->tech_pvt))) {
{code}

I marked this as a regression because sip_tech_info bridging used to work in 1.8.9.1, and revision 366547 wasn't meant to disable it, so I assumed this was an accidental side effect

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list