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
This commit is contained in:
Paul Cadach
2006-09-28 11:12:58 +00:00
parent 9cf1f14ed5
commit 47a0e0807c
5 changed files with 15 additions and 8 deletions

View File

@@ -1432,6 +1432,10 @@ H323Channel * MyH323Connection::CreateRealTimeLogicalChannel(const H323Capabilit
const H245_H2250LogicalChannelParameters * /*param*/, const H245_H2250LogicalChannelParameters * /*param*/,
RTP_QOS * /*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); return new MyH323_ExternalRTPChannel(*this, capability, dir, sessionID);
} }

View File

@@ -7,8 +7,8 @@ H323_UU_NonStdInfo ::= SEQUENCE
protoParam ProtoParam OPTIONAL, protoParam ProtoParam OPTIONAL,
commonParam CommonParam OPTIONAL, commonParam CommonParam OPTIONAL,
..., ...,
progIndParam ProgIndParam OPTIONAL,
dummy1 OCTET STRING OPTIONAL, dummy1 OCTET STRING OPTIONAL,
progIndParam ProgIndParam OPTIONAL,
callMgrParam CallMgrParam OPTIONAL, callMgrParam CallMgrParam OPTIONAL,
callSignallingParam CallSignallingParam OPTIONAL, callSignallingParam CallSignallingParam OPTIONAL,
dummy2 OCTET STRING OPTIONAL, dummy2 OCTET STRING OPTIONAL,

View File

@@ -739,10 +739,10 @@ void CISCO_H225_H323_UU_NonStdInfo::PrintOn(ostream & strm) const
strm << setw(indent+13) << "protoParam = " << setprecision(indent) << m_protoParam << '\n'; strm << setw(indent+13) << "protoParam = " << setprecision(indent) << m_protoParam << '\n';
if (HasOptionalField(e_commonParam)) if (HasOptionalField(e_commonParam))
strm << setw(indent+14) << "commonParam = " << setprecision(indent) << m_commonParam << '\n'; 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)) if (HasOptionalField(e_dummy1))
strm << setw(indent+9) << "dummy1 = " << setprecision(indent) << m_dummy1 << '\n'; 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)) if (HasOptionalField(e_callMgrParam))
strm << setw(indent+15) << "callMgrParam = " << setprecision(indent) << m_callMgrParam << '\n'; strm << setw(indent+15) << "callMgrParam = " << setprecision(indent) << m_callMgrParam << '\n';
if (HasOptionalField(e_callSignallingParam)) if (HasOptionalField(e_callSignallingParam))
@@ -800,10 +800,10 @@ BOOL CISCO_H225_H323_UU_NonStdInfo::Decode(PASN_Stream & strm)
return FALSE; return FALSE;
if (HasOptionalField(e_commonParam) && !m_commonParam.Decode(strm)) if (HasOptionalField(e_commonParam) && !m_commonParam.Decode(strm))
return FALSE; return FALSE;
if (!KnownExtensionDecode(strm, e_progIndParam, m_progIndParam))
return FALSE;
if (!KnownExtensionDecode(strm, e_dummy1, m_dummy1)) if (!KnownExtensionDecode(strm, e_dummy1, m_dummy1))
return FALSE; return FALSE;
if (!KnownExtensionDecode(strm, e_progIndParam, m_progIndParam))
return FALSE;
if (!KnownExtensionDecode(strm, e_callMgrParam, m_callMgrParam)) if (!KnownExtensionDecode(strm, e_callMgrParam, m_callMgrParam))
return FALSE; return FALSE;
if (!KnownExtensionDecode(strm, e_callSignallingParam, m_callSignallingParam)) 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); m_protoParam.Encode(strm);
if (HasOptionalField(e_commonParam)) if (HasOptionalField(e_commonParam))
m_commonParam.Encode(strm); m_commonParam.Encode(strm);
KnownExtensionEncode(strm, e_progIndParam, m_progIndParam);
KnownExtensionEncode(strm, e_dummy1, m_dummy1); KnownExtensionEncode(strm, e_dummy1, m_dummy1);
KnownExtensionEncode(strm, e_progIndParam, m_progIndParam);
KnownExtensionEncode(strm, e_callMgrParam, m_callMgrParam); KnownExtensionEncode(strm, e_callMgrParam, m_callMgrParam);
KnownExtensionEncode(strm, e_callSignallingParam, m_callSignallingParam); KnownExtensionEncode(strm, e_callSignallingParam, m_callSignallingParam);
KnownExtensionEncode(strm, e_dummy2, m_dummy2); KnownExtensionEncode(strm, e_dummy2, m_dummy2);

View File

@@ -262,8 +262,8 @@ class CISCO_H225_H323_UU_NonStdInfo : public PASN_Sequence
e_version, e_version,
e_protoParam, e_protoParam,
e_commonParam, e_commonParam,
e_progIndParam,
e_dummy1, e_dummy1,
e_progIndParam,
e_callMgrParam, e_callMgrParam,
e_callSignallingParam, e_callSignallingParam,
e_dummy2, e_dummy2,
@@ -273,8 +273,8 @@ class CISCO_H225_H323_UU_NonStdInfo : public PASN_Sequence
PASN_Integer m_version; PASN_Integer m_version;
CISCO_H225_ProtoParam m_protoParam; CISCO_H225_ProtoParam m_protoParam;
CISCO_H225_CommonParam m_commonParam; CISCO_H225_CommonParam m_commonParam;
CISCO_H225_ProgIndParam m_progIndParam;
PASN_OctetString m_dummy1; PASN_OctetString m_dummy1;
CISCO_H225_ProgIndParam m_progIndParam;
CISCO_H225_CallMgrParam m_callMgrParam; CISCO_H225_CallMgrParam m_callMgrParam;
CISCO_H225_CallSignallingParam m_callSignallingParam; CISCO_H225_CallSignallingParam m_callSignallingParam;
PASN_OctetString m_dummy2; PASN_OctetString m_dummy2;

View File

@@ -1056,11 +1056,14 @@ static int waitstream_core(struct ast_channel *c, const char *breakon,
case AST_CONTROL_RINGING: case AST_CONTROL_RINGING:
case AST_CONTROL_ANSWER: case AST_CONTROL_ANSWER:
case AST_CONTROL_VIDUPDATE: case AST_CONTROL_VIDUPDATE:
case AST_CONTROL_HOLD:
case AST_CONTROL_UNHOLD:
/* Unimportant */ /* Unimportant */
break; break;
default: default:
ast_log(LOG_WARNING, "Unexpected control subclass '%d'\n", fr->subclass); ast_log(LOG_WARNING, "Unexpected control subclass '%d'\n", fr->subclass);
} }
break;
case AST_FRAME_VOICE: case AST_FRAME_VOICE:
/* Write audio if appropriate */ /* Write audio if appropriate */
if (audiofd > -1) if (audiofd > -1)