aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels/h323/ast_h323.cxx4
-rw-r--r--channels/h323/cisco-h225.asn2
-rw-r--r--channels/h323/cisco-h225.cxx10
-rw-r--r--channels/h323/cisco-h225.h4
-rw-r--r--main/file.c3
5 files changed, 15 insertions, 8 deletions
diff --git a/channels/h323/ast_h323.cxx b/channels/h323/ast_h323.cxx
index 826be727b..3b737f643 100644
--- a/channels/h323/ast_h323.cxx
+++ b/channels/h323/ast_h323.cxx
@@ -1432,6 +1432,10 @@ H323Channel * MyH323Connection::CreateRealTimeLogicalChannel(const H323Capabilit
const H245_H2250LogicalChannelParameters * /*param*/,
RTP_QOS * /*param*/ )
{
+ /* Do not open tx channel when transmitter has been paused by empty TCS */
+ if ((dir == H323Channel::IsTransmitter) && transmitterSidePaused)
+ return NULL;
+
return new MyH323_ExternalRTPChannel(*this, capability, dir, sessionID);
}
diff --git a/channels/h323/cisco-h225.asn b/channels/h323/cisco-h225.asn
index c0eaeb623..1372e67d5 100644
--- a/channels/h323/cisco-h225.asn
+++ b/channels/h323/cisco-h225.asn
@@ -7,8 +7,8 @@ H323_UU_NonStdInfo ::= SEQUENCE
protoParam ProtoParam OPTIONAL,
commonParam CommonParam OPTIONAL,
...,
- progIndParam ProgIndParam OPTIONAL,
dummy1 OCTET STRING OPTIONAL,
+ progIndParam ProgIndParam OPTIONAL,
callMgrParam CallMgrParam OPTIONAL,
callSignallingParam CallSignallingParam OPTIONAL,
dummy2 OCTET STRING OPTIONAL,
diff --git a/channels/h323/cisco-h225.cxx b/channels/h323/cisco-h225.cxx
index 1b52f4ca0..37adc4e87 100644
--- a/channels/h323/cisco-h225.cxx
+++ b/channels/h323/cisco-h225.cxx
@@ -739,10 +739,10 @@ void CISCO_H225_H323_UU_NonStdInfo::PrintOn(ostream & strm) const
strm << setw(indent+13) << "protoParam = " << setprecision(indent) << m_protoParam << '\n';
if (HasOptionalField(e_commonParam))
strm << setw(indent+14) << "commonParam = " << setprecision(indent) << m_commonParam << '\n';
- if (HasOptionalField(e_progIndParam))
- strm << setw(indent+15) << "progIndParam = " << setprecision(indent) << m_progIndParam << '\n';
if (HasOptionalField(e_dummy1))
strm << setw(indent+9) << "dummy1 = " << setprecision(indent) << m_dummy1 << '\n';
+ if (HasOptionalField(e_progIndParam))
+ strm << setw(indent+15) << "progIndParam = " << setprecision(indent) << m_progIndParam << '\n';
if (HasOptionalField(e_callMgrParam))
strm << setw(indent+15) << "callMgrParam = " << setprecision(indent) << m_callMgrParam << '\n';
if (HasOptionalField(e_callSignallingParam))
@@ -800,10 +800,10 @@ BOOL CISCO_H225_H323_UU_NonStdInfo::Decode(PASN_Stream & strm)
return FALSE;
if (HasOptionalField(e_commonParam) && !m_commonParam.Decode(strm))
return FALSE;
- if (!KnownExtensionDecode(strm, e_progIndParam, m_progIndParam))
- return FALSE;
if (!KnownExtensionDecode(strm, e_dummy1, m_dummy1))
return FALSE;
+ if (!KnownExtensionDecode(strm, e_progIndParam, m_progIndParam))
+ return FALSE;
if (!KnownExtensionDecode(strm, e_callMgrParam, m_callMgrParam))
return FALSE;
if (!KnownExtensionDecode(strm, e_callSignallingParam, m_callSignallingParam))
@@ -827,8 +827,8 @@ void CISCO_H225_H323_UU_NonStdInfo::Encode(PASN_Stream & strm) const
m_protoParam.Encode(strm);
if (HasOptionalField(e_commonParam))
m_commonParam.Encode(strm);
- KnownExtensionEncode(strm, e_progIndParam, m_progIndParam);
KnownExtensionEncode(strm, e_dummy1, m_dummy1);
+ KnownExtensionEncode(strm, e_progIndParam, m_progIndParam);
KnownExtensionEncode(strm, e_callMgrParam, m_callMgrParam);
KnownExtensionEncode(strm, e_callSignallingParam, m_callSignallingParam);
KnownExtensionEncode(strm, e_dummy2, m_dummy2);
diff --git a/channels/h323/cisco-h225.h b/channels/h323/cisco-h225.h
index db4e0af0b..7595b4b65 100644
--- a/channels/h323/cisco-h225.h
+++ b/channels/h323/cisco-h225.h
@@ -262,8 +262,8 @@ class CISCO_H225_H323_UU_NonStdInfo : public PASN_Sequence
e_version,
e_protoParam,
e_commonParam,
- e_progIndParam,
e_dummy1,
+ e_progIndParam,
e_callMgrParam,
e_callSignallingParam,
e_dummy2,
@@ -273,8 +273,8 @@ class CISCO_H225_H323_UU_NonStdInfo : public PASN_Sequence
PASN_Integer m_version;
CISCO_H225_ProtoParam m_protoParam;
CISCO_H225_CommonParam m_commonParam;
- CISCO_H225_ProgIndParam m_progIndParam;
PASN_OctetString m_dummy1;
+ CISCO_H225_ProgIndParam m_progIndParam;
CISCO_H225_CallMgrParam m_callMgrParam;
CISCO_H225_CallSignallingParam m_callSignallingParam;
PASN_OctetString m_dummy2;
diff --git a/main/file.c b/main/file.c
index 766c38ab0..f8ca9afeb 100644
--- a/main/file.c
+++ b/main/file.c
@@ -1056,11 +1056,14 @@ static int waitstream_core(struct ast_channel *c, const char *breakon,
case AST_CONTROL_RINGING:
case AST_CONTROL_ANSWER:
case AST_CONTROL_VIDUPDATE:
+ case AST_CONTROL_HOLD:
+ case AST_CONTROL_UNHOLD:
/* Unimportant */
break;
default:
ast_log(LOG_WARNING, "Unexpected control subclass '%d'\n", fr->subclass);
}
+ break;
case AST_FRAME_VOICE:
/* Write audio if appropriate */
if (audiofd > -1)