]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Allow H.323 Plus library to be used in addition to the OpenH323 library
authorJeff Peeler <jpeeler@digium.com>
Wed, 18 Mar 2009 19:57:05 +0000 (19:57 +0000)
committerJeff Peeler <jpeeler@digium.com>
Wed, 18 Mar 2009 19:57:05 +0000 (19:57 +0000)
Chan_h323 can now be compiled against both the previously supported versions of
OpenH323 as well as the current H.323 Plus (version 1.20.2). The configure
script has been modified to look in the default install location of h323 to
hopefully help avoid using the environment variables OPENH323DIR and PWLIBDIR.
Also, the CLI command "h323 show version" has been added which indicates which
version of h323 is in use.

(closes issue 0011261)
Reported by: vhatz
Patches:
      asterisk-1.6.0.6-h323plus.patch uploaded by jthurman (license 614)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@182963 65c4cc65-6c06-0410-ace0-fbb531ad65f3

autoconf/ast_check_openh323.m4
channels/chan_h323.c
channels/h323/ast_h323.cxx
channels/h323/ast_h323.h
channels/h323/chan_h323.h
channels/h323/compat_h323.cxx
channels/h323/compat_h323.h
configure

index f77fc68ffe8c7f5ec408ce1cd4d693f579874f25..9b786b32053342362396fe4fc13d482d19ec8950 100644 (file)
@@ -16,19 +16,19 @@ if test "${HAS_OPENH323:-unset}" = "unset" ; then
   else
     saved_cppflags="${CPPFLAGS}"
     CPPFLAGS="${CPPFLAGS} -I${HOME}/openh323/include -I${PWLIB_INCDIR}"
-    AC_CHECK_HEADER(${HOME}/openh323/include/h323.h, HAS_OPENH323=1, )
+    AC_CHECK_HEADER(${HOME}/openh323/include/h323.h, HAS_OPENH323=1, , [#include <ptlib.h>])
     CPPFLAGS="${saved_cppflags}"
     if test "${HAS_OPENH323:-unset}" != "unset" ; then
       OPENH323DIR="${HOME}/openh323"
     else
       saved_cppflags="${CPPFLAGS}"
       CPPFLAGS="${CPPFLAGS} -I/usr/local/include/openh323 -I${PWLIB_INCDIR}"
-      AC_CHECK_HEADER(/usr/local/include/openh323/h323.h, HAS_OPENH323=1, )
+      AC_CHECK_HEADER(/usr/local/include/openh323/h323.h, HAS_OPENH323=1, , [#include <ptlib.h>])
       CPPFLAGS="${saved_cppflags}"
       if test "${HAS_OPENH323:-unset}" != "unset" ; then
         OPENH323DIR="/usr/local/share/openh323"
         OPENH323_INCDIR="/usr/local/include/openh323"
-        if test "x$LIB64" != "x"; then
+        if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then
           OPENH323_LIBDIR="/usr/local/lib64"
         else
           OPENH323_LIBDIR="/usr/local/lib"
@@ -41,7 +41,7 @@ if test "${HAS_OPENH323:-unset}" = "unset" ; then
         if test "${HAS_OPENH323:-unset}" != "unset" ; then
           OPENH323DIR="/usr/share/openh323"
           OPENH323_INCDIR="/usr/include/openh323"
-          if test "x$LIB64" != "x"; then
+          if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then
             OPENH323_LIBDIR="/usr/lib64"
           else
             OPENH323_LIBDIR="/usr/lib"
@@ -77,6 +77,10 @@ AC_DEFUN([AST_CHECK_OPENH323_BUILD], [
                prefixes="h323_${PWLIB_PLATFORM}_ h323_ openh323"
                for pfx in $prefixes; do
                        files=`ls -l ${OPENH323_LIBDIR}/lib${pfx}*.so* 2>/dev/null`
+                       if test -z "$files"; then
+                               # check the default location
+                               #files=`ls -l /usr/local/lib/lib${pfx}*.so* 2>/dev/null`
+                       fi      
                        libfile=
                        if test -n "$files"; then
                                for f in $files; do
index 1199ddda9e4df010ea87bfc18b593ca796762409..695e3b406c6b82e9f71ea79e2e0a8029453d9673 100644 (file)
@@ -2618,6 +2618,15 @@ static int h323_tokens_show(int fd, int argc, char *argv[])
        return RESULT_SUCCESS;
 }
 
+static int h323_version_show(int fd, int argc, char *argv[])
+{
+       if (argc != 3) {
+               return RESULT_SHOWUSAGE;
+       }
+       h323_show_version();
+       return RESULT_SUCCESS;
+}
+
 static char trace_usage[] =
 "Usage: h.323 trace <level num>\n"
 "       Enables H.323 stack tracing for debugging purposes\n";
@@ -2646,6 +2655,10 @@ static char show_tokens_usage[] =
 "Usage: h.323 show tokens\n"
 "       Print out all active call tokens\n";
 
+static char show_version_usage[] =
+"Usage: h.323 show version\n"
+"              Print the version of the H.323 library in use\n";
+
 static char h323_reload_usage[] =
 "Usage: h323 reload\n"
 "       Reloads H.323 configuration from h323.conf\n";
@@ -2703,6 +2716,10 @@ static struct ast_cli_entry cli_h323[] = {
        { { "h323", "show", "tokens", NULL },
        h323_tokens_show, "Show all active call tokens",
        show_tokens_usage },
+
+       { { "h323", "show", "version", NULL },
+       h323_version_show, "Show the version of the H.323 library in use",
+       show_version_usage },
 };
 
 static void delete_users(void)
index 1547bedcdfa0372ae75c6e6bc8d833e79d5dec81..7309f1549b9502f05a0f7f6b03bb7e4d12983969 100644 (file)
@@ -1,6 +1,3 @@
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
 /*
  * ast_h323.cpp
  *
@@ -29,6 +26,8 @@
  * Version Info: $Id$
  */
 #include "asterisk.h"
+#define VERSION(a,b,c) ((a)*10000+(b)*100+(c))
+
 
 #include <arpa/inet.h>
 
 #include <h323pdu.h>
 #include <h323neg.h>
 #include <mediafmt.h>
+
+
+/* H323 Plus */
+#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4)
+
+#ifdef H323_H450
+#include "h450/h4501.h"
+#include "h450/h4504.h"
+#include "h450/h45011.h"
+#include "h450/h450pdu.h"
+#endif
+
+#ifdef H323_H460
+#include <h460/h4601.h>
+#endif
+
+#else /* !H323 Plus */
+
 #include <lid.h>
 #ifdef H323_H450
 #include "h4501.h"
 #include "h450pdu.h"
 #endif
 
+#endif /* H323 Plus */
+
+#include "compat_h323.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -64,15 +85,23 @@ extern "C" {
 #include "cisco-h225.h"
 #include "caps_h323.h"
 
-#if PWLIB_MAJOR * 10000 + PWLIB_MINOR * 100 + PWLIB_BUILD >= 1 * 10000 + 12 * 100 + 0
+/* PWLIB_MAJOR renamed to PTLIB_MAJOR in 2.x.x */
+#if (defined(PTLIB_MAJOR) || VERSION(PWLIB_MAJOR, PWLIB_MINOR, PWLIB_BUILD) >= VERSION(1,12,0))
 #define SKIP_PWLIB_PIPE_BUG_WORKAROUND 1
 #endif
 
 /* PWlib Required Components  */
+#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4)
+#define MAJOR_VERSION 1
+#define MINOR_VERSION 19
+#define BUILD_TYPE    ReleaseCode
+#define BUILD_NUMBER  6
+#else
 #define MAJOR_VERSION 1
 #define MINOR_VERSION 0
 #define BUILD_TYPE    ReleaseCode
 #define BUILD_NUMBER  0
+#endif
 
 /** Counter for the number of connections */
 static int channelsOpen;
@@ -1979,7 +2008,7 @@ PBoolean MyH323Connection::StartControlChannel(const H225_TransportAddress & h24
                        cout << "Using " << addr << " for outbound H.245 transport" << endl;
                controlChannel = new MyH323TransportTCP(endpoint, addr);
        } else
-               controlChannel = new H323TransportTCP(endpoint);
+               controlChannel = new MyH323TransportTCP(endpoint);
        if (!controlChannel->SetRemoteAddress(h245Address)) {
                PTRACE(1, "H225\tCould not extract H245 address");
                delete controlChannel;
@@ -2207,6 +2236,35 @@ int h323_start_listener(int listenPort, struct sockaddr_in bindaddr)
        return 0;
 };
 
+/* Addition of functions just to make the channel driver compile with H323Plus */
+#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4)
+/* Alternate RTP port information for Same NAT */
+BOOL MyH323_ExternalRTPChannel::OnReceivedAltPDU(const H245_ArrayOf_GenericInformation & alternate )
+{
+       return TRUE;
+}
+
+/* Alternate RTP port information for Same NAT */
+BOOL MyH323_ExternalRTPChannel::OnSendingAltPDU(H245_ArrayOf_GenericInformation & alternate) const
+{
+       return TRUE;
+}
+
+/* Alternate RTP port information for Same NAT */
+void MyH323_ExternalRTPChannel::OnSendOpenAckAlt(H245_ArrayOf_GenericInformation & alternate) const
+{
+}
+
+/* Alternate RTP port information for Same NAT */
+BOOL MyH323_ExternalRTPChannel::OnReceivedAckAltPDU(const H245_ArrayOf_GenericInformation & alternate)
+{
+       return TRUE;
+}
+#endif
+
+
+
+
 int h323_set_alias(struct oh323_alias *alias)
 {
        char *p;
@@ -2257,6 +2315,11 @@ void h323_show_tokens(void)
        cout << "Current call tokens: " << setprecision(2) << endPoint->GetAllConnections() << endl;
 }
 
+void h323_show_version(void)
+{
+    cout << "H.323 version: " << OPENH323_MAJOR << "." << OPENH323_MINOR << "." << OPENH323_BUILD << endl;
+}
+
 /** Establish Gatekeeper communiations, if so configured,
   *    register aliases for the H.323 endpoint to respond to.
   */
index 6934d491f266516ccd845a47586c18e4c77a7b21..1262fa477bb70406447c0769f9b774538b6283a9 100644 (file)
@@ -145,6 +145,13 @@ protected:
 
        PIPSocket::Address localIpAddr;
        PIPSocket::Address remoteIpAddr;
+       /* Additional functions in order to have chan_h323 compile with H323Plus */
+#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4)
+       BOOL OnReceivedAltPDU(const H245_ArrayOf_GenericInformation & alternate );
+       BOOL OnSendingAltPDU(H245_ArrayOf_GenericInformation & alternate) const;
+       void OnSendOpenAckAlt(H245_ArrayOf_GenericInformation & alternate) const;
+       BOOL OnReceivedAckAltPDU(const H245_ArrayOf_GenericInformation & alternate);
+#endif
        WORD localPort;
        WORD remotePort;
 };
index 2dad33103a6a6db993c250334e862d66d7c1a096..f22e48b43482c5247d4c269030b4542589b901c6 100644 (file)
@@ -228,6 +228,7 @@ extern "C" {
        int h323_set_gk(int, char *, char *);
        void h323_set_id(char *);
        void h323_show_tokens(void);
+       void h323_show_version(void);
 
        /* H323 listener related funcions */
        int h323_start_listener(int, struct sockaddr_in);
index 8eb73a98ee9725baee63dc49cd07768f01b80076..609d18e8a587e28dea0ab39ee3f758e5f1042fc9 100644 (file)
@@ -33,6 +33,7 @@
 #include <transports.h>
 
 #include "ast_h323.h"
+#include "compat_h323.h"
 
 #if VERSION(OPENH323_MAJOR,OPENH323_MINOR,OPENH323_BUILD) < VERSION(1,17,3)
 MyH323TransportTCP::MyH323TransportTCP(
index f617b3f73ad7776047d2c9adcf09109c43b6b22f..3315489a5b10d14561cc481b936a65b621591751 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef COMPAT_H323_H
 #define COMPAT_H323_H
 
+#include "ast_ptlib.h"
+
 #if VERSION(OPENH323_MAJOR,OPENH323_MINOR,OPENH323_BUILD) < VERSION(1,17,3)
 /**
  *  Workaround for broken (less than 1.17.3) OpenH323 stack to be able to
index c6db56a66b92625741cd98af06fc2343023a2996..1259996865566b797001de640e4ab0eb3df13adc 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac Revision: 182213 .
+# From configure.ac Revision: 182810 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for asterisk 1.4.
 #
     saved_cppflags="${CPPFLAGS}"
     CPPFLAGS="${CPPFLAGS} -I${HOME}/openh323/include -I${PWLIB_INCDIR}"
     as_ac_Header=`echo "ac_cv_header_${HOME}/openh323/include/h323.h" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for ${HOME}/openh323/include/h323.h" >&5
+{ echo "$as_me:$LINENO: checking for ${HOME}/openh323/include/h323.h" >&5
 echo $ECHO_N "checking for ${HOME}/openh323/include/h323.h... $ECHO_C" >&6; }
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
 else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking ${HOME}/openh323/include/h323.h usability" >&5
-echo $ECHO_N "checking ${HOME}/openh323/include/h323.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
+#include <ptlib.h>
+
 #include <${HOME}/openh323/include/h323.h>
 _ACEOF
 rm -f conftest.$ac_objext
@@ -26166,99 +26159,19 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+  eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_header_compiler=no
+       eval "$as_ac_Header=no"
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking ${HOME}/openh323/include/h323.h presence" >&5
-echo $ECHO_N "checking ${HOME}/openh323/include/h323.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <${HOME}/openh323/include/h323.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to www.asterisk.org ##
-## ------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for ${HOME}/openh323/include/h323.h" >&5
-echo $ECHO_N "checking for ${HOME}/openh323/include/h323.h... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
 fi
 ac_res=`eval echo '${'$as_ac_Header'}'`
               { echo "$as_me:$LINENO: result: $ac_res" >&5
 echo "${ECHO_T}$ac_res" >&6; }
-
-fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   HAS_OPENH323=1
 fi
     else
       saved_cppflags="${CPPFLAGS}"
       CPPFLAGS="${CPPFLAGS} -I/usr/local/include/openh323 -I${PWLIB_INCDIR}"
-      if test "${ac_cv_header__usr_local_include_openh323_h323_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for /usr/local/include/openh323/h323.h" >&5
+      { echo "$as_me:$LINENO: checking for /usr/local/include/openh323/h323.h" >&5
 echo $ECHO_N "checking for /usr/local/include/openh323/h323.h... $ECHO_C" >&6; }
 if test "${ac_cv_header__usr_local_include_openh323_h323_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header__usr_local_include_openh323_h323_h" >&5
-echo "${ECHO_T}$ac_cv_header__usr_local_include_openh323_h323_h" >&6; }
 else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking /usr/local/include/openh323/h323.h usability" >&5
-echo $ECHO_N "checking /usr/local/include/openh323/h323.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
+#include <ptlib.h>
+
 #include </usr/local/include/openh323/h323.h>
 _ACEOF
 rm -f conftest.$ac_objext
@@ -26308,98 +26215,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+  ac_cv_header__usr_local_include_openh323_h323_h=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_header_compiler=no
+       ac_cv_header__usr_local_include_openh323_h323_h=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking /usr/local/include/openh323/h323.h presence" >&5
-echo $ECHO_N "checking /usr/local/include/openh323/h323.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include </usr/local/include/openh323/h323.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to www.asterisk.org ##
-## ------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for /usr/local/include/openh323/h323.h" >&5
-echo $ECHO_N "checking for /usr/local/include/openh323/h323.h... $ECHO_C" >&6; }
-if test "${ac_cv_header__usr_local_include_openh323_h323_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_header__usr_local_include_openh323_h323_h=$ac_header_preproc
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_header__usr_local_include_openh323_h323_h" >&5
 echo "${ECHO_T}$ac_cv_header__usr_local_include_openh323_h323_h" >&6; }
-
-fi
 if test $ac_cv_header__usr_local_include_openh323_h323_h = yes; then
   HAS_OPENH323=1
 fi
@@ -26409,7 +26236,7 @@ fi
       if test "${HAS_OPENH323:-unset}" != "unset" ; then
         OPENH323DIR="/usr/local/share/openh323"
         OPENH323_INCDIR="/usr/local/include/openh323"
-        if test "x$LIB64" != "x"; then
+        if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then
           OPENH323_LIBDIR="/usr/local/lib64"
         else
           OPENH323_LIBDIR="/usr/local/lib"
@@ -26470,7 +26297,7 @@ fi
         if test "${HAS_OPENH323:-unset}" != "unset" ; then
           OPENH323DIR="/usr/share/openh323"
           OPENH323_INCDIR="/usr/include/openh323"
-          if test "x$LIB64" != "x"; then
+          if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then
             OPENH323_LIBDIR="/usr/lib64"
           else
             OPENH323_LIBDIR="/usr/lib"
@@ -26539,6 +26366,10 @@ echo $ECHO_N "checking OpenH323 build option... $ECHO_C" >&6; }
                prefixes="h323_${PWLIB_PLATFORM}_ h323_ openh323"
                for pfx in $prefixes; do
                        files=`ls -l ${OPENH323_LIBDIR}/lib${pfx}*.so* 2>/dev/null`
+                       if test -z "$files"; then
+                               # check the default location
+                               #files=`ls -l /usr/local/lib/lib${pfx}*.so* 2>/dev/null`
+                       fi
                        libfile=
                        if test -n "$files"; then
                                for f in $files; do