[asterisk-bugs] [JIRA] (ASTERISK-20409) sip_tech_info channels cannot be bridged, not even with themselves
Matt Jordan (JIRA)
noreply at issues.asterisk.org
Tue Nov 6 09:48:21 CST 2012
[ https://issues.asterisk.org/jira/browse/ASTERISK-20409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Jordan updated ASTERISK-20409:
-----------------------------------
Target Release Version/s: 10.10.0
1.8.18.0
> 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
> Target Release: 1.8.18.0, 10.10.0
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list