[asterisk-bugs] [JIRA] Created: (ASTERISK-20409) sip_tech_info channels cannot be bridged, not even with themselves
Michele Cicciotti (PrivateWave SpA) (JIRA)
noreply at issues.asterisk.org
Wed Sep 12 10:42:07 CDT 2012
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