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]

Reply via email to