summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Cadach <paul@odt.east.telecom.kz>2006-09-28 11:12:58 +0000
committerPaul Cadach <paul@odt.east.telecom.kz>2006-09-28 11:12:58 +0000
commit47a0e0807c48ddd553c9e5d160f424fefcbe784d (patch)
tree38b7f6cea9e73b4f59b365fe39b310007b8078ca
parent9cf1f14ed59be92cf9bb12003441306345885600 (diff)
Merged revisions 43635,43843-43844,43846 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r43635 | pcadach | 2006-09-26 03:26:12 +0600 (Втр, 26 Сен 2006) | 1 line Fix ASN1 description of non-standard Cisco extensions ........ r43843 | pcadach | 2006-09-28 12:01:37 +0600 (Чтв, 28 Сен 2006) | 1 line Don't treat unknown control frames as voice ........ r43844 | pcadach | 2006-09-28 12:02:45 +0600 (Чтв, 28 Сен 2006) | 1 line Don't warn on HOLD/UNHOLD control frames ........ r43846 | pcadach | 2006-09-28 16:51:21 +0600 (Чтв, 28 Сен 2006) | 1 line Do not open transmit channel until TCS is received ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-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)