Hello community, here is the log from the commit of package opal for openSUSE:Factory checked in at 2013-03-26 19:48:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/opal (Old) and /work/SRC/openSUSE:Factory/.opal.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opal", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/opal/opal.changes 2012-12-19 11:15:40.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.opal.new/opal.changes 2013-03-26 19:48:23.000000000 +0100 @@ -1,0 +2,10 @@ +Tue Feb 26 10:22:43 UTC 2013 - [email protected] + +- Update to version 3.10.10: + + Several fixes for H.323. + + Fix subscribing/unsubscribing when enabling and disabling SIP + accounts. + + Bug fixes. +- Drop opal-server-flood.patch: fixed upstream. + +------------------------------------------------------------------- Old: ---- opal-3.10.9.tar.xz opal-server-flood.patch New: ---- opal-3.10.10.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ opal.spec ++++++ --- /var/tmp/diff_new_pack.IEIqgS/_old 2013-03-26 19:48:25.000000000 +0100 +++ /var/tmp/diff_new_pack.IEIqgS/_new 2013-03-26 19:48:25.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package opal # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -47,10 +47,10 @@ License: MPL-1.0 Group: System/Libraries Url: http://www.opalvoip.org/ -Version: 3.10.9 +Version: 3.10.10 Release: 0 # FIXME: we should probably list all plugins in %%files to make sure we don't lose some when updating the package. -%define _version 3_10_9 +%define _version 3_10_10 Source0: http://download.gnome.org/sources/opal/3.10/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM opal-system-libgsm.patch [email protected] -- Fix detection of system libgsm Patch1: opal-system-libgsm.patch @@ -58,8 +58,6 @@ Patch2: opal-fix-ambiguous.patch # PATCH-FIX-UPSTREAM opal-use-pkgconfig-for-PTLib.patch [email protected] -- Use pkgconfig for PTLib, taken from upstream svn, fixes build. Patch4: opal-use-pkgconfig-for-PTLib.patch -# PATCH-FIX-UPSTREAM opal-server-flood.patch [email protected] -- Fix server flood, upstream r28644 and r28650, bgo#690144 -Patch5: opal-server-flood.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -101,7 +99,6 @@ %patch1 -p1 %patch2 -p1 %patch4 -p1 -%patch5 -p1 # this subdir contains GPL - to avoid license issues delete it before build rm -rf plugins/LID/VPB @@ -132,7 +129,7 @@ %files -n lib%{name}%{_version} %defattr(-,root,root) -%doc mpl-1.0.htm Change* +%doc mpl-1.0.htm %dir %{_libdir}/%{name}-%{version}/ %dir %{_libdir}/%{name}-%{version}/codecs %dir %{_libdir}/%{name}-%{version}/codecs/audio ++++++ opal-3.10.9.tar.xz -> opal-3.10.10.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/ChangeLog-opal-v3_10_9.txt new/opal-3.10.10/ChangeLog-opal-v3_10_9.txt --- old/opal-3.10.9/ChangeLog-opal-v3_10_9.txt 2012-11-26 11:49:30.000000000 +0100 +++ new/opal-3.10.10/ChangeLog-opal-v3_10_9.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,60 +0,0 @@ -2012-10-05 06:20 rjongbloed - - * [r28477] version.h: - Update version number for beta v3.10.9 - -2012-11-20 23:44 rjongbloed - - * [r28560] samples/codectest/main.cxx: - Changed order of video grabber initialisation, some combinations - or format/size do not work, thanks Marco Costantini - -2012-11-22 00:10 rjongbloed - - * [r28567] samples/openphone/OpenPhone_2008.vcproj: - Better flexibility on location of wxrc.exe - -2012-11-25 23:50 rjongbloed - - * [r28574] revision.h.in: - Fixed comment - -2012-11-26 04:03 rjongbloed - - * [r28578] samples/openphone/OpenPhone_2010.vcxproj: - Better flexibility on location of wxrc.exe - -2012-11-26 05:46 rjongbloed - - * [r28579] include/h323/h323con.h, include/h323/h323ep.h, - samples/openphone/main.cxx, src/h323/h323.cxx, - src/h323/h323ep.cxx: - Fixed loss of media if do multiple hold/retrieve on H.323. Some - old OpenH323 hold handling for Music on Hold getting in the way. - - Added pause of transmit media (microphone/camera) when putting - remote on hold. The stack does not do this as this is where Music - on Hold goes, but OpenPhone does not (yet) support that so it - needs to shut down the media or the remote non-intuitively can - still hear the local user while on hold. - -2012-11-26 07:32 rjongbloed - - * [r28581] src/opal/pcss.cxx: - Fix for "pc:*" using default sound channel device names from - OpalPCSSEndPoint - -2012-11-26 07:33 rjongbloed - - * [r28582] samples/openphone/main.cxx: - Pausing media streams on hold causes problems, change to do an - "internal transfer" to new "Null Audio" device to prevent - microphone going out to held endpoint in OpenPhone. - -2012-11-26 10:14 rjongbloed - - * [r28587] src/win32/opal_2008.dtf, src/win32/opal_2010.dtf, - src/win32/opald_2008.dtf, src/win32/opald_2010.dtf, - src/win32/opaln_2008.dtf, src/win32/opaln_2010.dtf: - Update symbols - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/Makefile.in new/opal-3.10.10/Makefile.in --- old/opal-3.10.9/Makefile.in 2012-11-26 11:49:22.000000000 +0100 +++ new/opal-3.10.10/Makefile.in 2013-02-20 03:18:59.000000000 +0100 @@ -21,9 +21,9 @@ # # Contributor(s): ______________________________________. # -# $Revision: 27055 $ -# $Author: ededu $ -# $Date: 2012-02-25 05:58:48 -0600 (Sat, 25 Feb 2012) $ +# $Revision: 29051 $ +# $Author: rjongbloed $ +# $Date: 2013-01-29 22:22:11 -0600 (Tue, 29 Jan 2013) $ # include opal_defs.mak @@ -365,6 +365,8 @@ endif +ifneq (,$(SWIG)) + #################################################### # Java interface @@ -392,6 +394,8 @@ endif +endif # SWIG + ################## # T.38 Fax diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/configure new/opal-3.10.10/configure --- old/opal-3.10.9/configure 2012-11-26 11:49:22.000000000 +0100 +++ new/opal-3.10.10/configure 2013-02-20 03:18:59.000000000 +0100 @@ -5339,7 +5339,6 @@ EXPANDED_PLUGIN_DIR=`echo ${EXPANDED_PLUGIN_DIR} | sed s#\\${exec_prefix}#${exec_prefix}#` fi -echo $OSTYPE $target_os case "$OSTYPE" in cygwin | mingw ) EXPANDED_PLUGIN_DIR="plugins" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/configure.ac new/opal-3.10.10/configure.ac --- old/opal-3.10.9/configure.ac 2012-11-26 11:49:22.000000000 +0100 +++ new/opal-3.10.10/configure.ac 2013-02-20 03:18:59.000000000 +0100 @@ -164,7 +164,6 @@ EXPANDED_PLUGIN_DIR=`echo ${EXPANDED_PLUGIN_DIR} | sed s#\\${exec_prefix}#${exec_prefix}#` fi -echo $OSTYPE $target_os case "$OSTYPE" in cygwin | mingw ) EXPANDED_PLUGIN_DIR="plugins" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/include/opal/call.h new/opal-3.10.10/include/opal/call.h --- old/opal-3.10.9/include/opal/call.h 2012-11-26 11:48:39.000000000 +0100 +++ new/opal-3.10.10/include/opal/call.h 2013-02-20 03:18:20.000000000 +0100 @@ -24,9 +24,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 27984 $ + * $Revision: 28690 $ * $Author: rjongbloed $ - * $Date: 2012-07-10 03:24:24 -0500 (Tue, 10 Jul 2012) $ + * $Date: 2012-12-18 20:47:15 -0600 (Tue, 18 Dec 2012) $ */ #ifndef OPAL_OPAL_CALL_H @@ -602,6 +602,7 @@ PTime startTime; bool isEstablished; bool isClearing; + PAtomicBoolean m_isCleared; OpalConnection::CallEndReason callEndReason; std::list<PSyncPoint *> m_endCallSyncPoint; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/include/sip/sippdu.h new/opal-3.10.10/include/sip/sippdu.h --- old/opal-3.10.9/include/sip/sippdu.h 2012-11-26 11:48:40.000000000 +0100 +++ new/opal-3.10.10/include/sip/sippdu.h 2013-02-20 03:18:21.000000000 +0100 @@ -24,9 +24,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 27589 $ + * $Revision: 29080 $ * $Author: rjongbloed $ - * $Date: 2012-05-07 23:01:54 -0500 (Mon, 07 May 2012) $ + * $Date: 2013-02-12 18:52:05 -0600 (Tue, 12 Feb 2013) $ */ #ifndef OPAL_SIP_SIPPDU_H @@ -234,6 +234,7 @@ bool reversed = false ); PString ToString() const; + friend ostream & operator<<(ostream & strm, const SIPURLList & urls); }; @@ -646,8 +647,7 @@ PString CreateVia( SIPEndPoint & endpoint, - const OpalTransport & transport, - SIPConnection * connection = NULL + const OpalTransport & transport ); /**Read PDU from the specified transport. @@ -820,6 +820,7 @@ PCaselessString m_proxyAddress; PCaselessString m_addressOfRecord; PCaselessString m_contactAddress; + PCaselessString m_interface; SIPMIMEInfo m_mime; PString m_authID; PString m_password; @@ -936,8 +937,9 @@ }; -#define OPAL_PROXY_PARAM "OPAL-proxy" -#define OPAL_LOCAL_ID_PARAM "OPAL-local-id" +#define OPAL_PROXY_PARAM "OPAL-proxy" +#define OPAL_LOCAL_ID_PARAM "OPAL-local-id" +#define OPAL_INTERFACE_PARAM "OPAL-interface" ///////////////////////////////////////////////////////////////////////// diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/revision.h.in new/opal-3.10.10/revision.h.in --- old/opal-3.10.9/revision.h.in 2012-11-26 12:03:12.000000000 +0100 +++ new/opal-3.10.10/revision.h.in 2013-02-20 03:19:51.000000000 +0100 @@ -1,4 +1,4 @@ -/* +/* * revision.h * * SVN revision number header file for OPAL @@ -22,7 +22,7 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28574 $ + * $Revision: 29150 $ */ #ifndef _OPAL_REVISION_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/callgen/callgen_2010.vcxproj new/opal-3.10.10/samples/callgen/callgen_2010.vcxproj --- old/opal-3.10.9/samples/callgen/callgen_2010.vcxproj 2012-11-26 11:49:19.000000000 +0100 +++ new/opal-3.10.10/samples/callgen/callgen_2010.vcxproj 2013-02-20 03:18:57.000000000 +0100 @@ -74,6 +74,7 @@ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -113,6 +114,7 @@ <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/codectest/codectest_2010.vcxproj new/opal-3.10.10/samples/codectest/codectest_2010.vcxproj --- old/opal-3.10.9/samples/codectest/codectest_2010.vcxproj 2012-11-26 11:49:21.000000000 +0100 +++ new/opal-3.10.10/samples/codectest/codectest_2010.vcxproj 2013-02-20 03:18:58.000000000 +0100 @@ -81,6 +81,7 @@ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -120,6 +121,7 @@ <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/faxopal/FaxOPAL_2010.vcxproj new/opal-3.10.10/samples/faxopal/FaxOPAL_2010.vcxproj --- old/opal-3.10.9/samples/faxopal/FaxOPAL_2010.vcxproj 2012-11-26 11:49:14.000000000 +0100 +++ new/opal-3.10.10/samples/faxopal/FaxOPAL_2010.vcxproj 2013-02-20 03:18:52.000000000 +0100 @@ -74,6 +74,7 @@ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -112,6 +113,7 @@ <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/ivropal/IvrOPAL_2010.vcxproj new/opal-3.10.10/samples/ivropal/IvrOPAL_2010.vcxproj --- old/opal-3.10.9/samples/ivropal/IvrOPAL_2010.vcxproj 2012-11-26 11:49:21.000000000 +0100 +++ new/opal-3.10.10/samples/ivropal/IvrOPAL_2010.vcxproj 2013-02-20 03:18:58.000000000 +0100 @@ -73,6 +73,7 @@ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -111,6 +112,7 @@ <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/ivropal/test.vxml new/opal-3.10.10/samples/ivropal/test.vxml --- old/opal-3.10.9/samples/ivropal/test.vxml 2012-11-26 11:49:21.000000000 +0100 +++ new/opal-3.10.10/samples/ivropal/test.vxml 2013-02-20 03:18:58.000000000 +0100 @@ -2,14 +2,17 @@ <vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"> <log expr="'Started test VXML script'" /> - <!-- Main menu --> + <var name="TestGoto" expr="'MainMenu'"/> + <var name="TestWAV" expr="'../callgen/ogm.wav'"/> + + <!-- Main menu --> <menu id="MainMenu"> <!-- Set this property for the time to wait for input --> <property name="timeout" value="30s"/> <!-- A prompt outputs to the remote --> - <prompt> + <prompt bargein="false"> <!-- Audio plays the URI in src, or if absent uses speech synthesis of the body text --> <audio src="file:menu_prompt.wav"> Welcome to the OPAL I V R example. @@ -62,12 +65,12 @@ <form id="PlayFile"> <log expr="'Playing WAV file'"/> - <audio src="file:../callgen/ogm.wav"/> + <audio expr="application.TestWAV"/> <break time="5s"/> - <audio src="file:../callgen/ogm.wav"/> + <audio expr="application.TestWAV"/> <!-- No stack, have to go back to main menu explicitly --> - <goto nextitem="MainMenu"/> + <goto expritem="application.TestGoto"/> </form> <!-- This form demonstrates how to record a message --> @@ -112,7 +115,7 @@ </audio> <!-- No stack, have to go back to main menu explicitly --> - <goto next="#MainMenu"/> + <goto expr="'#'+application.TestGoto"/> </error> </transfer> </form> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/jester/jester_2010.vcxproj new/opal-3.10.10/samples/jester/jester_2010.vcxproj --- old/opal-3.10.9/samples/jester/jester_2010.vcxproj 2012-11-26 11:49:18.000000000 +0100 +++ new/opal-3.10.10/samples/jester/jester_2010.vcxproj 2013-02-20 03:18:55.000000000 +0100 @@ -123,7 +123,7 @@ <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> - <PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> @@ -161,7 +161,7 @@ <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> - <PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/opalecho/opalecho_2010.vcxproj new/opal-3.10.10/samples/opalecho/opalecho_2010.vcxproj --- old/opal-3.10.9/samples/opalecho/opalecho_2010.vcxproj 2012-11-26 11:49:15.000000000 +0100 +++ new/opal-3.10.10/samples/opalecho/opalecho_2010.vcxproj 2013-02-20 03:18:52.000000000 +0100 @@ -67,7 +67,7 @@ <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeaderFile>precompile.h</PrecompiledHeaderFile> - <PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> <ProgramDataBaseFileName>$(TargetDir)\$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> @@ -105,7 +105,7 @@ <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeaderFile>precompile.h</PrecompiledHeaderFile> - <PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> <ProgramDataBaseFileName>$(TargetDir)\$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/opalgw/opalgw_2010.vcxproj new/opal-3.10.10/samples/opalgw/opalgw_2010.vcxproj --- old/opal-3.10.9/samples/opalgw/opalgw_2010.vcxproj 2012-11-26 11:49:14.000000000 +0100 +++ new/opal-3.10.10/samples/opalgw/opalgw_2010.vcxproj 2013-02-20 03:18:51.000000000 +0100 @@ -68,7 +68,7 @@ <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeaderFile>precompile.h</PrecompiledHeaderFile> - <PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> <ProgramDataBaseFileName>$(TargetDir)\$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> @@ -106,7 +106,7 @@ <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeaderFile>precompile.h</PrecompiledHeaderFile> - <PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> <ProgramDataBaseFileName>$(TargetDir)\$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/opalmcu/OPAL_MCU_2010.vcxproj new/opal-3.10.10/samples/opalmcu/OPAL_MCU_2010.vcxproj --- old/opal-3.10.9/samples/opalmcu/OPAL_MCU_2010.vcxproj 2012-11-26 11:49:18.000000000 +0100 +++ new/opal-3.10.10/samples/opalmcu/OPAL_MCU_2010.vcxproj 2013-02-20 03:18:56.000000000 +0100 @@ -73,6 +73,7 @@ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -111,6 +112,7 @@ <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/openphone/OpenPhone.wxs new/opal-3.10.10/samples/openphone/OpenPhone.wxs --- old/opal-3.10.9/samples/openphone/OpenPhone.wxs 2012-11-26 11:49:18.000000000 +0100 +++ new/opal-3.10.10/samples/openphone/OpenPhone.wxs 2013-02-20 03:18:55.000000000 +0100 @@ -2,7 +2,7 @@ <?define LuaDir = "$(env.ProgramFiles)\lua\5.1" ?> <?define SaslDir = "C:\Tools" ?> <?define LDAPDir = "C:\Tools" ?> -<?define SSLDir = "$(env.windir)\SYSTEM32" ?> +<?define SSLDir = "C:\Tools" ?> <?define OPALDir = "..\.." ?> <?define PTLibDir = "..\..\..\ptlib" ?> <?define PluginDir = "C:\PTLib_Plugins" ?> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/openphone/OpenPhone_2008.vcproj new/opal-3.10.10/samples/openphone/OpenPhone_2008.vcproj --- old/opal-3.10.9/samples/openphone/OpenPhone_2008.vcproj 2012-11-26 11:49:18.000000000 +0100 +++ new/opal-3.10.10/samples/openphone/OpenPhone_2008.vcproj 2013-02-20 03:18:55.000000000 +0100 @@ -312,13 +312,13 @@ <ProjectReference ReferencedProjectIdentifier="{C7546C76-E010-4105-AEAE-48FCD6C09527}" UseDependenciesInBuild="false" - RelativePathToProject=".\src\win32\opal_dll_2008.vcproj" + RelativePathToProject="..\..\src\win32\opal_dll_2008.vcproj" /> <ProjectReference ReferencedProjectIdentifier="{85F4F26A-1A5D-4685-A48A-448102C5C5BC}" UseInBuild="false" UseDependenciesInBuild="false" - RelativePathToProject="..\ptlib\src\ptlib\msos\PTLib_2008.vcproj" + RelativePathToProject="..\..\..\ptlib\src\ptlib\msos\PTLib_2008.vcproj" /> </References> <Files> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/openphone/main.cxx new/opal-3.10.10/samples/openphone/main.cxx --- old/opal-3.10.9/samples/openphone/main.cxx 2012-11-26 11:49:18.000000000 +0100 +++ new/opal-3.10.10/samples/openphone/main.cxx 2013-02-20 03:18:55.000000000 +0100 @@ -24,9 +24,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28582 $ + * $Revision: 28777 $ * $Author: rjongbloed $ - * $Date: 2012-11-26 01:33:53 -0600 (Mon, 26 Nov 2012) $ + * $Date: 2013-01-06 22:04:40 -0600 (Sun, 06 Jan 2013) $ */ //#ifdef __GNUG__ @@ -1255,7 +1255,7 @@ int count = m_speedDials->GetItemCount(); for (int i = 0; i < count; i++) { SpeedDialInfo * info = (SpeedDialInfo *)m_speedDials->GetItemData(i); - if (info != NULL && MonitorPresence(info->m_Presentity, info->m_Address, true)) + if (info != NULL && MonitorPresence(info->m_Presentity, info->m_Address, true) && m_speedDialDetail) m_speedDials->SetItem(i, e_StatusColumn, IconStatusNames[Icon_Unknown]); } #endif // OPAL_SIP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/openphone/openphone.wxg new/opal-3.10.10/samples/openphone/openphone.wxg --- old/opal-3.10.9/samples/openphone/openphone.wxg 2012-11-26 11:49:18.000000000 +0100 +++ new/opal-3.10.10/samples/openphone/openphone.wxg 2013-02-20 03:18:55.000000000 +0100 @@ -5454,7 +5454,7 @@ </object> <object class="wxDialog" name="RegistrationDialog" base="EditDialog"> <style>wxDEFAULT_DIALOG_STYLE</style> - <title>Registration/Subscribtions Configuration</title> + <title>Registration/Subscriptions Configuration</title> <object class="wxBoxSizer" name="sizer_48" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> @@ -5967,7 +5967,7 @@ </object> </object> <object class="IMDialog" name="IMDialog" base="EditDialog"> - <style>wxDEFAULT_DIALOG_STYLE</style> + <style>wxCAPTION|wxCLOSE_BOX|wxRESIZE_BORDER|wxMAXIMIZE_BOX|wxMINIMIZE_BOX</style> <title>IMDialog</title> <size>350, 200d</size> <object class="wxBoxSizer" name="sizer_90" base="EditBoxSizer"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/openphone/openphone.xrc new/opal-3.10.10/samples/openphone/openphone.xrc --- old/opal-3.10.9/samples/openphone/openphone.xrc 2012-11-26 11:49:18.000000000 +0100 +++ new/opal-3.10.10/samples/openphone/openphone.xrc 2013-02-20 03:18:55.000000000 +0100 @@ -4,7 +4,7 @@ <resource version="2.3.0.1"> <object class="wxDialog" name="RegistrationDialog"> <style>wxDEFAULT_DIALOG_STYLE</style> - <title>Registration/Subscribtions Configuration</title> + <title>Registration/Subscriptions Configuration</title> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> @@ -406,7 +406,7 @@ </object> </object> <object class="wxDialog" name="IMDialog" subclass="IMDialog"> - <style>wxDEFAULT_DIALOG_STYLE</style> + <style>wxCAPTION|wxCLOSE_BOX|wxRESIZE_BORDER|wxMAXIMIZE_BOX|wxMINIMIZE_BOX</style> <size>350, 200d</size> <title>IMDialog</title> <object class="wxBoxSizer"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/playrtp/playrtp_2010.vcxproj new/opal-3.10.10/samples/playrtp/playrtp_2010.vcxproj --- old/opal-3.10.9/samples/playrtp/playrtp_2010.vcxproj 2012-11-26 11:49:15.000000000 +0100 +++ new/opal-3.10.10/samples/playrtp/playrtp_2010.vcxproj 2013-02-20 03:18:53.000000000 +0100 @@ -73,6 +73,7 @@ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -111,6 +112,7 @@ <WarningLevel>Level4</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;_AFXDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/simple/simpleDLL_2010.vcxproj new/opal-3.10.10/samples/simple/simpleDLL_2010.vcxproj --- old/opal-3.10.9/samples/simple/simpleDLL_2010.vcxproj 2012-11-26 11:49:13.000000000 +0100 +++ new/opal-3.10.10/samples/simple/simpleDLL_2010.vcxproj 2013-02-20 03:18:51.000000000 +0100 @@ -86,6 +86,7 @@ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PTRACING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <Link> <SubSystem>Console</SubSystem> @@ -102,6 +103,7 @@ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PTRACING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <Link> <SubSystem>Console</SubSystem> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/samples/simple/simple_2010.vcxproj new/opal-3.10.10/samples/simple/simple_2010.vcxproj --- old/opal-3.10.9/samples/simple/simple_2010.vcxproj 2012-11-26 11:49:13.000000000 +0100 +++ new/opal-3.10.10/samples/simple/simple_2010.vcxproj 2013-02-20 03:18:51.000000000 +0100 @@ -83,6 +83,7 @@ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PTRACING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <Link> <SubSystem>Console</SubSystem> @@ -99,6 +100,7 @@ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PTRACING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <Link> <SubSystem>Console</SubSystem> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/codec/opalpluginmgr.cxx new/opal-3.10.10/src/codec/opalpluginmgr.cxx --- old/opal-3.10.9/src/codec/opalpluginmgr.cxx 2012-11-26 11:49:07.000000000 +0100 +++ new/opal-3.10.10/src/codec/opalpluginmgr.cxx 2013-02-20 03:18:46.000000000 +0100 @@ -24,9 +24,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28134 $ + * $Revision: 29072 $ * $Author: rjongbloed $ - * $Date: 2012-08-01 19:48:35 -0500 (Wed, 01 Aug 2012) $ + * $Date: 2013-02-11 23:59:41 -0600 (Mon, 11 Feb 2013) $ */ #ifdef __GNUC__ @@ -1363,8 +1363,9 @@ if ((position = msg.Find('=', position)) != P_MAX_INDEX) { ++position; - statistics.m_fax.m_stationId = msg(position, msg.Find('\n', position)-1); - if ((position = msg.Find('=', position)) != P_MAX_INDEX) + PINDEX eol = msg.Find('\n', position); + statistics.m_fax.m_stationId = msg(position, eol-1); + if ((position = msg.Find('=', eol)) != P_MAX_INDEX) statistics.m_fax.m_phase = msg[++position]; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/opal/call.cxx new/opal-3.10.10/src/opal/call.cxx --- old/opal-3.10.9/src/opal/call.cxx 2012-11-26 11:48:52.000000000 +0100 +++ new/opal-3.10.10/src/opal/call.cxx 2013-02-20 03:18:31.000000000 +0100 @@ -24,9 +24,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 27987 $ + * $Revision: 28690 $ * $Author: rjongbloed $ - * $Date: 2012-07-10 06:06:01 -0500 (Tue, 10 Jul 2012) $ + * $Date: 2012-12-18 20:47:15 -0600 (Tue, 18 Dec 2012) $ */ #include <ptlib.h> @@ -156,24 +156,28 @@ void OpalCall::InternalOnClear() { - if (connectionsActive.IsEmpty() && manager.activeCalls.Contains(GetToken())) { - OnCleared(); + if (!connectionsActive.IsEmpty()) + return; + + if (m_isCleared.TestAndSet(true)) + return; + + OnCleared(); #if OPAL_HAS_MIXER - StopRecording(); + StopRecording(); #endif - if (LockReadWrite()) { - while (!m_endCallSyncPoint.empty()) { - PTRACE(5, "Call\tSignalling end call."); - m_endCallSyncPoint.front()->Signal(); - m_endCallSyncPoint.pop_front(); - } - UnlockReadWrite(); + if (LockReadWrite()) { + while (!m_endCallSyncPoint.empty()) { + PTRACE(5, "Call\tSignalling end call."); + m_endCallSyncPoint.front()->Signal(); + m_endCallSyncPoint.pop_front(); } - - manager.activeCalls.RemoveAt(GetToken()); + UnlockReadWrite(); } + + manager.activeCalls.RemoveAt(GetToken()); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/opal/transports.cxx new/opal-3.10.10/src/opal/transports.cxx --- old/opal-3.10.9/src/opal/transports.cxx 2012-11-26 11:48:52.000000000 +0100 +++ new/opal-3.10.10/src/opal/transports.cxx 2013-02-20 03:18:31.000000000 +0100 @@ -28,9 +28,9 @@ * US Joint Forces Command Joint Concept Development & Experimentation (J9) * http://www.jfcom.mil/about/abt_j9.htm * - * $Revision: 27884 $ + * $Revision: 28967 $ * $Author: rjongbloed $ - * $Date: 2012-06-24 19:43:04 -0500 (Sun, 24 Jun 2012) $ + * $Date: 2013-01-22 23:55:34 -0600 (Tue, 22 Jan 2013) $ */ #include <ptlib.h> @@ -1480,6 +1480,7 @@ } } + socket->SetInterface(PString::Empty()); return ok; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/rtp/pcapfile.cxx new/opal-3.10.10/src/rtp/pcapfile.cxx --- old/opal-3.10.9/src/rtp/pcapfile.cxx 2012-11-26 11:49:04.000000000 +0100 +++ new/opal-3.10.10/src/rtp/pcapfile.cxx 2013-02-20 03:18:43.000000000 +0100 @@ -25,9 +25,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 26261 $ + * $Revision: 28601 $ * $Author: rjongbloed $ - * $Date: 2011-08-01 23:31:23 -0500 (Mon, 01 Aug 2011) $ + * $Date: 2012-11-26 18:45:27 -0600 (Mon, 26 Nov 2012) $ */ #include <ptlib.h> @@ -200,8 +200,14 @@ if (GetDataLink(ip) != 0x800) // IPv4 return -1; + PINDEX totalLength = (ip[2]<<8)|ip[3]; // Total length of packet + if (totalLength > ip.GetSize()) { + PTRACE(2, "Truncated IP packet, expected " << totalLength << ", got " << ip.GetSize()); + return -1; + } + PINDEX headerLength = (ip[0]&0xf)*4; // low 4 bits in DWORDS, is this in bytes - payload.Attach(&ip[headerLength], ip.GetSize()-headerLength); + payload.Attach(&ip[headerLength], totalLength-headerLength); m_packetSrcIP = PIPSocket::Address(4, ip+12); if (!m_filterSrcIP.IsAny() && m_filterSrcIP != m_packetSrcIP) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/rtp/rtp.cxx new/opal-3.10.10/src/rtp/rtp.cxx --- old/opal-3.10.9/src/rtp/rtp.cxx 2012-11-26 11:49:04.000000000 +0100 +++ new/opal-3.10.10/src/rtp/rtp.cxx 2013-02-20 03:18:43.000000000 +0100 @@ -26,9 +26,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28374 $ + * $Revision: 29118 $ * $Author: rjongbloed $ - * $Date: 2012-09-18 05:42:39 -0500 (Tue, 18 Sep 2012) $ + * $Date: 2013-02-15 20:10:30 -0600 (Fri, 15 Feb 2013) $ */ #include <ptlib.h> @@ -1180,10 +1180,8 @@ // As per RFC3550 Appendix 8 diff *= GetJitterTimeUnits(); // Convert to timestamp units - long variance = diff - lastTransitTime; + long variance = diff > lastTransitTime ? (diff - lastTransitTime) : (lastTransitTime - diff); lastTransitTime = diff; - if (variance < 0) - variance = -variance; jitterLevel += variance - ((jitterLevel+(1<<(JitterRoundingGuardBits-1))) >> JitterRoundingGuardBits); if (jitterLevel > maximumJitterLevel) maximumJitterLevel = jitterLevel; @@ -2281,6 +2279,11 @@ // Shouldn't happen, but it does. return RTP_Session::e_IgnorePacket; + case 0 : + PTRACE(4, "RTP_UDP\tSession " << sessionID << ", " << channelName + << " received UDP packet with no payload."); + return e_IgnorePacket; + default: PTRACE(1, "RTP_UDP\tSession " << sessionID << ", " << channelName << " read error (" << socket.GetErrorNumber(PChannel::LastReadError) << "): " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/sip/handlers.cxx new/opal-3.10.10/src/sip/handlers.cxx --- old/opal-3.10.9/src/sip/handlers.cxx 2012-11-26 11:48:53.000000000 +0100 +++ new/opal-3.10.10/src/sip/handlers.cxx 2013-02-20 03:18:32.000000000 +0100 @@ -23,9 +23,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28428 $ + * $Revision: 29080 $ * $Author: rjongbloed $ - * $Date: 2012-10-01 03:38:50 -0500 (Mon, 01 Oct 2012) $ + * $Date: 2013-02-12 18:52:05 -0600 (Tue, 12 Feb 2013) $ * * This code implements all or part of the following RFCs * @@ -304,13 +304,12 @@ m_transport = NULL; } - if (m_proxy.IsEmpty()) { - // Look for a "proxy" parameter to override default proxy - const PStringToString & params = m_remoteAddress.GetParamVars(); - if (params.Contains(OPAL_PROXY_PARAM)) { - m_proxy.Parse(params(OPAL_PROXY_PARAM)); - m_remoteAddress.SetParamVar(OPAL_PROXY_PARAM, PString::Empty()); - } + const PStringToString & remoteParams = m_remoteAddress.GetParamVars(); + + // Look for a "proxy" parameter to override default proxy + if (m_proxy.IsEmpty() && remoteParams.Contains(OPAL_PROXY_PARAM)) { + m_proxy.Parse(remoteParams(OPAL_PROXY_PARAM)); + m_remoteAddress.SetParamVar(OPAL_PROXY_PARAM, PString::Empty()); } SIPURL url; @@ -321,8 +320,11 @@ url.AdjustToDNS(); } - // Must specify a network interface or get infinite recursion - m_transport = endpoint.CreateTransport(url, "*"); + PString localInterface = remoteParams(OPAL_INTERFACE_PARAM); + if (localInterface.IsEmpty()) + localInterface = "*"; // Must specify a network interface or get infinite recursion + + m_transport = endpoint.CreateTransport(url, localInterface); return m_transport; } @@ -408,15 +410,27 @@ m_transactions.Remove(&transaction); // Take this transaction out of list - // And kill all the rest - PSafePtr<SIPTransaction> transToGo; - while ((transToGo = m_transactions.GetAt(0)) != NULL) { - m_transactions.Remove(transToGo); - transToGo->Abort(); - } + switch (response.GetStatusCode()) { + default : + if (responseClass != 2) + break; - // Finally end connect mode on the transport - m_transport->SetInterface(transaction.GetInterface()); + case SIP_PDU::Failure_UnAuthorised : + case SIP_PDU::Failure_ProxyAuthenticationRequired : + case SIP_PDU::Failure_IntervalTooBrief : + case SIP_PDU::Failure_TemporarilyUnavailable: + // End connect mode on the transport + PString iface = transaction.GetInterface(); + PTRACE(4, "SIP\tFinalising handlers interface \"" << iface << '"'); + m_transport->SetInterface(iface); + + // And kill all the rest + PSafePtr<SIPTransaction> transToGo; + while ((transToGo = m_transactions.GetAt(0)) != NULL) { + m_transactions.Remove(transToGo); + transToGo->Abort(); + } + } switch (response.GetStatusCode()) { case SIP_PDU::Failure_UnAuthorised : @@ -716,6 +730,7 @@ for (SIPURLList::iterator reply = replyContacts.begin(); reply != replyContacts.end(); ) { if (reply->GetHostAddress() == externalAddress) { externalAddress.MakeEmpty(); // Clear this so no further action taken + m_externalAddress.MakeEmpty(); ++reply; } else if (std::find(requestedContacts.begin(), requestedContacts.end(), *reply) != requestedContacts.end()) @@ -749,27 +764,29 @@ return; } - // Remember (possibly new) NAT address - m_externalAddress == externalAddress; - if (GetExpire() == 0) { // If we had discovered we are behind NAT and had unregistered, re-REGISTER with new addresses - PTRACE(2, "SIP\tRe-registering with NAT address " << externalAddress); + PTRACE(2, "SIP\tRe-registering NAT address change (" << m_contactAddresses << ") to " << externalAddress); for (SIPURLList::iterator contact = m_contactAddresses.begin(); contact != m_contactAddresses.end(); ++contact) contact->SetHostAddress(externalAddress); + m_contactAddresses.unique(); SetExpire(m_originalExpireTime); } else { /* If we got here then we have done a successful register, but registrar indicated that we are behind firewall. Unregister what we just registered */ - PTRACE(2, "SIP\tRemote indicated change of REGISTER Contact header required due to NAT"); for (SIPURLList::iterator contact = replyContacts.begin(); contact != replyContacts.end(); ++contact) contact->GetFieldParameters().Remove("expires"); + PTRACE(2, "SIP\tRemote indicated change of REGISTER Contact address(s) (" << replyContacts + << ") required due to NAT address " << externalAddress << ", previous=" << m_externalAddress); m_contactAddresses = replyContacts; SetExpire(0); } - SendRequest(previousState); + // Remember (possibly new) NAT address + m_externalAddress == externalAddress; + + SendRequest(Refreshing); SendStatus(SIP_PDU::Information_Trying, previousState); } @@ -842,8 +859,11 @@ if (params.m_expire > 0) SetExpire(m_parameters.m_expire = params.m_expire); + m_parameters.m_compatibility = params.m_compatibility; m_parameters.m_contactAddress = params.m_contactAddress; m_contactAddresses.clear(); + + PTRACE(4, "SIP\tREGISTER parameters updated."); } @@ -1260,7 +1280,12 @@ PMIMEInfo info(request.GetEntityBody()); - PString account = info.Get("Message-Account", handler.GetAddressOfRecord().AsString()); + const SIPURL & aor = handler.GetAddressOfRecord(); + PString account = info.Get("Message-Account"); + SIPURL accountURI(account); + if (account.IsEmpty() || aor.GetUserName() == account || + (accountURI.GetUserName() == "asterisk" && accountURI.GetHostName() == aor.GetHostName())) + account = aor.AsString(); bool nothingSent = true; for (PINDEX z = 0 ; z < PARRAYSIZE(validMessageClasses); z++) { @@ -2086,15 +2111,16 @@ m_offlineExpireTime = 0; // No retries for offline, just give up + /* The "singleton" operation of the OPTION command is executed as though we + are unsubscribing from an existing subscription, so when completed the + handler is disposed of. So, we need to fake the subscribe state. */ SetState(Subscribed); + m_receivedResponse = true; } SIPTransaction * SIPOptionsHandler::CreateTransaction(OpalTransport & transport) { - if (GetState() == Unsubscribing) - return NULL; - return new SIPOptions(endpoint, transport, GetCallID(), m_parameters); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/sip/sipcon.cxx new/opal-3.10.10/src/sip/sipcon.cxx --- old/opal-3.10.9/src/sip/sipcon.cxx 2012-11-26 11:48:53.000000000 +0100 +++ new/opal-3.10.10/src/sip/sipcon.cxx 2013-02-20 03:18:32.000000000 +0100 @@ -23,9 +23,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28445 $ + * $Revision: 29086 $ * $Author: rjongbloed $ - * $Date: 2012-10-02 20:11:02 -0500 (Tue, 02 Oct 2012) $ + * $Date: 2013-02-13 14:48:06 -0600 (Wed, 13 Feb 2013) $ */ #include <ptlib.h> @@ -659,7 +659,7 @@ port is zero indicating the media is not to be used. So don't return these bogus media formats from SDP to the "remote media format list". */ m_remoteFormatList.Remove(PString('@')+mediaType); - return false; + return NULL; } OpalTransportAddress remoteMediaAddress = mediaDescription.GetTransportAddress(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/sip/sipep.cxx new/opal-3.10.10/src/sip/sipep.cxx --- old/opal-3.10.9/src/sip/sipep.cxx 2012-11-26 11:48:53.000000000 +0100 +++ new/opal-3.10.10/src/sip/sipep.cxx 2013-02-20 03:18:32.000000000 +0100 @@ -23,9 +23,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28428 $ + * $Revision: 29081 $ * $Author: rjongbloed $ - * $Date: 2012-10-01 03:38:50 -0500 (Mon, 01 Oct 2012) $ + * $Date: 2013-02-12 18:54:50 -0600 (Tue, 12 Feb 2013) $ */ #include <ptlib.h> @@ -223,12 +223,15 @@ GetManager().GetNatMethod(transport->GetRemoteAddress().GetHostName()) == NULL) continue; + PTRACE(4, "SIP\tNAT Binding refresh for " << handler->GetMethod() + << " to " << handler->GetAddressOfRecord() << ", id=" << handler->GetCallID()); switch (natMethod) { - case Options: { SIPOptions::Params params; + params.m_addressOfRecord = handler->GetAddressOfRecord(); params.m_remoteAddress = transport->GetRemoteAddress().GetHostName(); + params.m_interface = transport->GetInterface(); SendOPTIONS(params); } break; @@ -253,7 +256,7 @@ if (remoteAddress.IsEmpty()) { if (GetRegistrationsCount() == 0) { PTRACE(1, "SIP\tCannot use tel URI with phone-context or existing registration."); - return false; + return NULL; } remoteAddress = SIPURL(GetRegistrations()[0]).GetHostAddress(); } @@ -886,7 +889,7 @@ SIPConnection *connection = CreateConnection(*call, SIPURL::GenerateTag(), NULL, - SIPURL(), + mime.GetFrom(), newTransport, request); if (!AddConnection(connection)) { @@ -1506,7 +1509,7 @@ PSafePtr<SIPHandler> handler = new SIPOptionsHandler(*this, params); activeSIPHandlers.Append(handler); - return handler->ActivateState(SIPHandler::Subscribing); + return handler->ActivateState(SIPHandler::Unsubscribing); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/sip/sippdu.cxx new/opal-3.10.10/src/sip/sippdu.cxx --- old/opal-3.10.9/src/sip/sippdu.cxx 2012-11-26 11:48:53.000000000 +0100 +++ new/opal-3.10.10/src/sip/sippdu.cxx 2013-02-20 03:18:32.000000000 +0100 @@ -23,9 +23,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 28110 $ + * $Revision: 29080 $ * $Author: rjongbloed $ - * $Date: 2012-07-30 21:08:09 -0500 (Mon, 30 Jul 2012) $ + * $Date: 2013-02-12 18:52:05 -0600 (Tue, 12 Feb 2013) $ */ #include <ptlib.h> @@ -691,8 +691,15 @@ PString SIPURLList::ToString() const { PStringStream strm; + strm << *this; + return strm; +} + + +ostream & operator<<(ostream & strm, const SIPURLList & urls) +{ bool outputCommas = false; - for (const_iterator it = begin(); it != end(); ++it) { + for (SIPURLList::const_iterator it = urls.begin(); it != urls.end(); ++it) { if (it->IsEmpty()) continue; @@ -1797,36 +1804,38 @@ } -PString SIP_PDU::CreateVia(SIPEndPoint & endpoint, const OpalTransport & transport, SIPConnection * connection) +PString SIP_PDU::CreateVia(SIPEndPoint & endpoint, const OpalTransport & transport) { - PString localPartyName; - - if (connection != NULL) { - localPartyName = connection->GetLocalPartyName(); + // construct Via + OpalTransportAddress via; - PINDEX pos = localPartyName.Find('@'); - if (pos != P_MAX_INDEX) - localPartyName = localPartyName.Left(pos); - - pos = localPartyName.Find(' '); - if (pos != P_MAX_INDEX) - localPartyName.Replace(" ", "_", true); + if (transport.IsOpen()) + via = transport.GetLocalAddress(); + else { + PTRACE(3, "SIP\tCannot use transport for via, picking first compatible listener"); + const OpalListenerList & listeners = endpoint.GetListeners(); + for (OpalListenerList::const_iterator listener = listeners.begin(); listener != listeners.end(); ++listener) { + OpalTransportAddress binding = listener->GetLocalAddress(); + if (transport.IsCompatibleTransport(binding)) { + via = binding; + break; + } + } } - OpalTransportAddress via = endpoint.GetLocalURL(transport, localPartyName).GetHostAddress(); - - // construct Via: PINDEX dollar = via.Find('$'); PStringStream str; str << "SIP/" << m_versionMajor << '.' << m_versionMinor << '/' << via.Left(dollar).ToUpper() << ' '; + PIPSocket::Address ip; WORD port = 5060; if (via.GetIpAndPort(ip, port)) str << ip.AsString(true) << ':' << port; else str << via.Mid(dollar+1); + str << ";branch=z9hG4bK" << OpalGloballyUniqueID() << ";rport"; return str; } @@ -2744,8 +2753,10 @@ m_state = Trying; m_retry = 0; - if (m_localInterface.IsEmpty()) + if (m_localInterface.IsEmpty()) { m_localInterface = m_transport.GetInterface(); + PTRACE(4, "SIP\tTransaction remembering interface \"" << m_localInterface << '"'); + } /* Get the address to which the request PDU should be sent, according to the RFC, for a request in a dialog. @@ -3160,6 +3171,9 @@ aor.SetParamVar(OPAL_LOCAL_ID_PARAM, m_localAddress); } + if (!m_interface.IsEmpty()) + server.SetParamVar(OPAL_INTERFACE_PARAM, m_interface); + m_remoteAddress = server.AsString(); m_addressOfRecord = aor.AsString(); @@ -3769,7 +3783,7 @@ SIPURL remoteAddress = params.m_remoteAddress; SIPURL localAddress = params.m_localAddress; if (localAddress.IsEmpty()) - localAddress = ep.GetRegisteredPartyName(remoteAddress.GetHostAddress(), trans); + localAddress = ep.GetRegisteredPartyName(remoteAddress, trans); localAddress.SetTag(); InitialiseHeaders(remoteAddress, remoteAddress, localAddress, id, ep.GetNextCSeq(), CreateVia(ep, trans)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/src/win32/opal_lib_2010.vcxproj new/opal-3.10.10/src/win32/opal_lib_2010.vcxproj --- old/opal-3.10.9/src/win32/opal_lib_2010.vcxproj 2012-11-26 11:49:03.000000000 +0100 +++ new/opal-3.10.10/src/win32/opal_lib_2010.vcxproj 2013-02-20 03:18:42.000000000 +0100 @@ -80,6 +80,7 @@ <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> <BrowseInformation>true</BrowseInformation> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -97,6 +98,7 @@ <AdditionalIncludeDirectories>..\..\include;..\..\..\ptlib\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -116,6 +118,7 @@ <AdditionalIncludeDirectories>..\..\include;..\..\..\ptlib\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <RuntimeTypeInfo>true</RuntimeTypeInfo> <PrecompiledHeaderFile>ptlib.h</PrecompiledHeaderFile> + <PrecompiledHeaderOutputFile>$(VS_PCH_DIR)$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile> </ClCompile> <Link> <SubSystem>Windows</SubSystem> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opal-3.10.9/version.h new/opal-3.10.10/version.h --- old/opal-3.10.9/version.h 2012-11-26 11:49:59.000000000 +0100 +++ new/opal-3.10.10/version.h 2013-02-20 03:18:59.000000000 +0100 @@ -37,7 +37,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 10 #define BUILD_TYPE ReleaseCode -#define BUILD_NUMBER 9 +#define BUILD_NUMBER 10 #endif // _OPAL_VERSION_H -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
