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

Joshua Colp (JIRA) noreply at issues.asterisk.org
Wed Sep 19 11:03:27 CDT 2012


     [ https://issues.asterisk.org/jira/browse/ASTERISK-20409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua Colp closed ASTERISK-20409.
----------------------------------

    Resolution: Fixed

> sip_tech_info channels cannot be bridged, not even with themselves
> ------------------------------------------------------------------
>
>                 Key: ASTERISK-20409
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20409
>             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