[asterisk-commits] pcadach: trunk r43863 - in /trunk: ./ channels/h323/ include/asterisk/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Sep 28 06:02:31 MST 2006


Author: pcadach
Date: Thu Sep 28 08:02:30 2006
New Revision: 43863

URL: http://svn.digium.com/view/asterisk?rev=43863&view=rev
Log:
Merged revisions 43861-43862 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43861 | pcadach | 2006-09-28 18:47:23 +0600 (Чтв, 28 Сен 2006) | 1 line

Put attribute tag at correct place
........
r43862 | pcadach | 2006-09-28 18:58:22 +0600 (Чтв, 28 Сен 2006) | 1 line

Force remote side to start media on outgoing PROGRESS message
........

Modified:
    trunk/   (props changed)
    trunk/channels/h323/ast_h323.cxx
    trunk/channels/h323/ast_h323.h
    trunk/include/asterisk/compiler.h

Propchange: trunk/
------------------------------------------------------------------------------
--- branch-1.4-merged (original)
+++ branch-1.4-merged Thu Sep 28 08:02:30 2006
@@ -1,1 +1,1 @@
-/branches/1.4:1-43376,43383,43386,43388,43392,43396,43405,43410,43422,43441,43445,43450,43454,43456,43464,43466,43469,43477,43482,43486,43489,43492,43518,43524,43553,43564,43616,43635-43702,43704-43755,43757-43800,43802-43846,43852
+/branches/1.4:1-43376,43383,43386,43388,43392,43396,43405,43410,43422,43441,43445,43450,43454,43456,43464,43466,43469,43477,43482,43486,43489,43492,43518,43524,43553,43564,43616,43635-43702,43704-43755,43757-43800,43802-43846,43852,43861-43862

Modified: trunk/channels/h323/ast_h323.cxx
URL: http://svn.digium.com/view/asterisk/trunk/channels/h323/ast_h323.cxx?rev=43863&r1=43862&r2=43863&view=diff
==============================================================================
--- trunk/channels/h323/ast_h323.cxx (original)
+++ trunk/channels/h323/ast_h323.cxx Thu Sep 28 08:02:30 2006
@@ -594,6 +594,41 @@
 	on_progress(GetCallReference(), (const char *)GetCallToken(), isInband);
 
 	return connectionState != ShuttingDownConnection;
+}
+
+BOOL MyH323Connection::MySendProgress()
+{
+	/* The code taken from H323Connection::AnsweringCall() but ALWAYS send
+	   PROGRESS message, including slow start operations */
+	H323SignalPDU progressPDU;
+	H225_Progress_UUIE &prog = progressPDU.BuildProgress(*this);
+
+	if (!mediaWaitForConnect) {
+		if (SendFastStartAcknowledge(prog.m_fastStart))
+			prog.IncludeOptionalField(H225_Progress_UUIE::e_fastStart);
+		else {
+			if (connectionState == ShuttingDownConnection)
+				return FALSE;
+
+			/* Do early H.245 start */
+			earlyStart = TRUE;
+			if (!h245Tunneling) {
+				if (!H323Connection::StartControlChannel())
+					return FALSE;
+				prog.IncludeOptionalField(H225_Progress_UUIE::e_h245Address);
+				controlChannel->SetUpTransportPDU(prog.m_h245Address, TRUE);
+			}
+		}
+	}
+	progressPDU.GetQ931().SetProgressIndicator(Q931::ProgressInbandInformationAvailable);
+
+#ifdef TUNNELLING
+	EmbedTunneledInfo(progressPDU);
+#endif
+	HandleTunnelPDU(&progressPDU);
+	WriteSignalPDU(progressPDU);
+
+	return TRUE;
 }
 
 H323Connection::AnswerCallResponse MyH323Connection::OnAnswerCall(const PString & caller,
@@ -2124,7 +2159,11 @@
 		cout << "No connection found for " << token << endl;
 		return -1;
 	}
+#if 1
+	((MyH323Connection *)connection)->MySendProgress();
+#else
 	connection->AnsweringCall(H323Connection::AnswerCallDeferredWithMedia);
+#endif
 	connection->Unlock();
 	return 0;
 }

Modified: trunk/channels/h323/ast_h323.h
URL: http://svn.digium.com/view/asterisk/trunk/channels/h323/ast_h323.h?rev=43863&r1=43862&r2=43863&view=diff
==============================================================================
--- trunk/channels/h323/ast_h323.h (original)
+++ trunk/channels/h323/ast_h323.h Thu Sep 28 08:02:30 2006
@@ -80,6 +80,7 @@
 	virtual void OnUserInputTone(char, unsigned, unsigned, unsigned);
 	virtual void OnUserInputString(const PString &value);
 	BOOL OnReceivedProgress(const H323SignalPDU &);
+	BOOL MySendProgress();
 	void OnSendCapabilitySet(H245_TerminalCapabilitySet &);
 	void OnSetLocalCapabilities();
 	void SetCapabilities(int, int, void *, int);

Modified: trunk/include/asterisk/compiler.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/compiler.h?rev=43863&r1=43862&r2=43863&view=diff
==============================================================================
--- trunk/include/asterisk/compiler.h (original)
+++ trunk/include/asterisk/compiler.h Thu Sep 28 08:02:30 2006
@@ -24,7 +24,7 @@
 #define _ASTERISK_COMPILER_H
 
 #if HAVE_ATTRIBUTE_always_inline
-#define force_inline inline __attribute__((always_inline))
+#define force_inline __attribute__((always_inline)) inline
 #else
 #define force_inline inline
 #endif



More information about the asterisk-commits mailing list