diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index 01ceffce9a4b1342a2c92d0aeaa3420485b92d23..dce5fe0361481c248d93e664b967e63506287b25 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -2019,10 +2019,10 @@ static void *pri_ss_thread(void *data)
 		/* Start the real PBX */
 		ast_channel_exten_set(chan, exten);
 		sig_pri_dsp_reset_and_flush_digits(p);
-#if defined(ISSUE_16789)
+#if defined(JIRA_ASTERISK_15594)
 		/*
-		 * Conditionaled out this code to effectively revert the Mantis
-		 * issue 16789 change.  It breaks overlap dialing through
+		 * Conditionaled out this code to effectively revert the JIRA
+		 * ASTERISK-15594 change.  It breaks overlap dialing through
 		 * Asterisk.  There is not enough information available at this
 		 * point to know if dialing is complete.  The
 		 * ast_exists_extension(), ast_matchmore_extension(), and
@@ -2045,7 +2045,7 @@ static void *pri_ss_thread(void *data)
 			}
 			sig_pri_unlock_private(p);
 		}
-#endif	/* defined(ISSUE_16789) */
+#endif	/* defined(JIRA_ASTERISK_15594) */
 
 		sig_pri_set_echocanceller(p, 1);
 		ast_setstate(chan, AST_STATE_RING);
@@ -6318,6 +6318,9 @@ static void *pri_dchannel(void *vpri)
 				/* Make sure extension exists (or in overlap dial mode, can exist) */
 				if (((pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING) && ast_canmatch_extension(NULL, pri->pvts[chanpos]->context, pri->pvts[chanpos]->exten, 1, pri->pvts[chanpos]->cid_num)) ||
 					ast_exists_extension(NULL, pri->pvts[chanpos]->context, pri->pvts[chanpos]->exten, 1, pri->pvts[chanpos]->cid_num)) {
+					int could_match_more;
+					int need_dialtone;
+
 					/* Select audio companding mode. */
 					switch (e->ring.layer1) {
 					case PRI_LAYER_1_ALAW:
@@ -6332,6 +6335,23 @@ static void *pri_dchannel(void *vpri)
 						break;
 					}
 
+					could_match_more = !e->ring.complete
+						&& (pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING)
+						&& ast_matchmore_extension(NULL, pri->pvts[chanpos]->context,
+							pri->pvts[chanpos]->exten, 1, pri->pvts[chanpos]->cid_num);
+
+					need_dialtone = could_match_more
+						/*
+						 * Must explicitly check the digital capability this
+						 * way instead of checking the pvt->digital flag
+						 * because the flag hasn't been set yet.
+						 */
+						&& !(e->ring.ctype & AST_TRANS_CAP_DIGITAL)
+						&& !pri->pvts[chanpos]->no_b_channel
+						&& (!strlen(pri->pvts[chanpos]->exten)
+							|| ast_ignore_pattern(pri->pvts[chanpos]->context,
+								pri->pvts[chanpos]->exten));
+
 					if (e->ring.complete || !(pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING)) {
 						/* Just announce proceeding */
 						pri->pvts[chanpos]->call_level = SIG_PRI_CALL_LEVEL_PROCEEDING;
@@ -6341,13 +6361,17 @@ static void *pri_dchannel(void *vpri)
 						pri_answer(pri->pri, e->ring.call, PVT_TO_CHANNEL(pri->pvts[chanpos]), 1);
 					} else {
 						pri->pvts[chanpos]->call_level = SIG_PRI_CALL_LEVEL_OVERLAP;
-						pri_need_more_info(pri->pri, e->ring.call, PVT_TO_CHANNEL(pri->pvts[chanpos]), 1);
+#if defined(HAVE_PRI_SETUP_ACK_INBAND)
+						pri_setup_ack(pri->pri, e->ring.call,
+							PVT_TO_CHANNEL(pri->pvts[chanpos]), 1, need_dialtone);
+#else	/* !defined(HAVE_PRI_SETUP_ACK_INBAND) */
+						pri_need_more_info(pri->pri, e->ring.call,
+							PVT_TO_CHANNEL(pri->pvts[chanpos]), 1);
+#endif	/* !defined(HAVE_PRI_SETUP_ACK_INBAND) */
 					}
 
 					/* Start PBX */
-					if (!e->ring.complete
-						&& (pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING)
-						&& ast_matchmore_extension(NULL, pri->pvts[chanpos]->context, pri->pvts[chanpos]->exten, 1, pri->pvts[chanpos]->cid_num)) {
+					if (could_match_more) {
 						/*
 						 * Release the PRI lock while we create the channel so other
 						 * threads can send D channel messages.  We must also release
@@ -6431,12 +6455,9 @@ static void *pri_dchannel(void *vpri)
 							sig_pri_handle_subcmds(pri, chanpos, e->e, e->ring.subcmds,
 								e->ring.call);
 
-							if (!pri->pvts[chanpos]->digital
-								&& !pri->pvts[chanpos]->no_b_channel) {
-								/*
-								 * Call has a channel.
-								 * Indicate that we are providing dialtone.
-								 */
+#if !defined(HAVE_PRI_SETUP_ACK_INBAND)
+							if (need_dialtone) {
+								/* Indicate that we are providing dialtone. */
 								pri->pvts[chanpos]->progress = 1;/* No need to send plain PROGRESS again. */
 #ifdef HAVE_PRI_PROG_W_CAUSE
 								pri_progress_with_cause(pri->pri, e->ring.call,
@@ -6446,6 +6467,7 @@ static void *pri_dchannel(void *vpri)
 									PVT_TO_CHANNEL(pri->pvts[chanpos]), 1);
 #endif
 							}
+#endif	/* !defined(HAVE_PRI_SETUP_ACK_INBAND) */
 						}
 						if (c && !ast_pthread_create_detached(&threadid, NULL, pri_ss_thread, pri->pvts[chanpos])) {
 							ast_verb(3, "Accepting overlap call from '%s' to '%s' on channel %d/%d, span %d\n",
@@ -6744,8 +6766,15 @@ static void *pri_dchannel(void *vpri)
 				if (!pri->pvts[chanpos]->progress
 					&& !pri->pvts[chanpos]->no_b_channel
 #ifdef PRI_PROGRESS_MASK
-					&& (e->proceeding.progressmask
-						& (PRI_PROG_CALL_NOT_E2E_ISDN | PRI_PROG_INBAND_AVAILABLE))
+					/*
+					 * We only care about PRI_PROG_INBAND_AVAILABLE to open the
+					 * voice path.
+					 *
+					 * We explicitly DO NOT want to check PRI_PROG_CALL_NOT_E2E_ISDN
+					 * because it will mess up ISDN to SIP interoperability for
+					 * the ALERTING message.
+					 */
+					&& (e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE)
 #else
 					&& e->proceeding.progress == 8
 #endif
@@ -6756,6 +6785,12 @@ static void *pri_dchannel(void *vpri)
 					sig_pri_set_dialing(pri->pvts[chanpos], 0);
 					sig_pri_open_media(pri->pvts[chanpos]);
 				} else if (pri->inband_on_proceeding) {
+					/*
+					 * XXX This is to accomodate a broken switch that sends a
+					 * PROCEEDING without any progress indication ie for
+					 * inband audio.  This should be part of the conditional
+					 * test above to bring the voice path up.
+					 */
 					sig_pri_set_dialing(pri->pvts[chanpos], 0);
 				}
 				sig_pri_unlock_private(pri->pvts[chanpos]);
@@ -7374,7 +7409,19 @@ static void *pri_dchannel(void *vpri)
 				if (!pri->pvts[chanpos]->progress
 					&& (pri->overlapdial & DAHDI_OVERLAPDIAL_OUTGOING)
 					&& !pri->pvts[chanpos]->digital
-					&& !pri->pvts[chanpos]->no_b_channel) {
+					&& !pri->pvts[chanpos]->no_b_channel
+#if defined(HAVE_PRI_SETUP_ACK_INBAND)
+					/*
+					 * We only care about PRI_PROG_INBAND_AVAILABLE to open the
+					 * voice path.
+					 *
+					 * We explicitly DO NOT want to check PRI_PROG_CALL_NOT_E2E_ISDN
+					 * because it will mess up ISDN to SIP interoperability for
+					 * the ALERTING message.
+					 */
+					&& (e->setup_ack.progressmask & PRI_PROG_INBAND_AVAILABLE)
+#endif	/* defined(HAVE_PRI_SETUP_ACK_INBAND) */
+					) {
 					/*
 					 * Call has a channel.
 					 * Indicate for overlap dialing that dialtone may be present.
@@ -8235,11 +8282,7 @@ int sig_pri_indicate(struct sig_pri_chan *p, struct ast_channel *chan, int condi
 			p->call_level = SIG_PRI_CALL_LEVEL_PROCEEDING;
 			if (p->pri && p->pri->pri) {
 				pri_grab(p, p->pri);
-				pri_proceeding(p->pri->pri,p->call, PVT_TO_CHANNEL(p),
-					p->no_b_channel || p->digital ? 0 : 1);
-				if (!p->no_b_channel && !p->digital) {
-					sig_pri_set_dialing(p, 0);
-				}
+				pri_proceeding(p->pri->pri,p->call, PVT_TO_CHANNEL(p), 0);
 				pri_rel(p->pri);
 			}
 		}
diff --git a/configure b/configure
index ef6194208917a1dc2cf80ae1d6d8871632f72ab5..27739a68a6ddddcfcb4b8c994bece011a9de3219 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac Revision: 388769 .
+# From configure.ac Revision: 402382 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.68 for asterisk trunk.
 #
@@ -871,6 +871,10 @@ PBX_PRI_L2_PERSISTENCE
 PRI_L2_PERSISTENCE_DIR
 PRI_L2_PERSISTENCE_INCLUDE
 PRI_L2_PERSISTENCE_LIB
+PBX_PRI_SETUP_ACK_INBAND
+PRI_SETUP_ACK_INBAND_DIR
+PRI_SETUP_ACK_INBAND_INCLUDE
+PRI_SETUP_ACK_INBAND_LIB
 PBX_PRI
 PRI_DIR
 PRI_INCLUDE
@@ -9941,6 +9945,18 @@ fi
 
 
 
+PRI_SETUP_ACK_INBAND_DESCRIP="ISDN PRI progress inband ie in SETUP ACK"
+PRI_SETUP_ACK_INBAND_OPTION=pri
+PRI_SETUP_ACK_INBAND_DIR=${PRI_DIR}
+
+PBX_PRI_SETUP_ACK_INBAND=0
+
+
+
+
+
+
+
 PRI_L2_PERSISTENCE_DESCRIP="ISDN Layer 2 persistence option"
 PRI_L2_PERSISTENCE_OPTION=pri
 PRI_L2_PERSISTENCE_DIR=${PRI_DIR}
@@ -17057,6 +17073,7 @@ LIBS=${old_LIBS}
 
 
 
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
 	if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -18263,6 +18280,7 @@ if test -n "$ILBC_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ILBC_CFLAGS=`$PKG_CONFIG --cflags "libilbc" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -18279,6 +18297,7 @@ if test -n "$ILBC_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ILBC_LIBS=`$PKG_CONFIG --libs "libilbc" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -18298,9 +18317,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        ILBC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libilbc" 2>&1`
+	        ILBC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libilbc" 2>&1`
         else
-	        ILBC_PKG_ERRORS=`$PKG_CONFIG --print-errors "libilbc" 2>&1`
+	        ILBC_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libilbc" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$ILBC_PKG_ERRORS" >&5
@@ -18368,6 +18387,7 @@ if test -n "$LIBEDIT_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_LIBEDIT_CFLAGS=`$PKG_CONFIG --cflags "libedit" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -18384,6 +18404,7 @@ if test -n "$LIBEDIT_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_LIBEDIT_LIBS=`$PKG_CONFIG --libs "libedit" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -18403,9 +18424,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libedit" 2>&1`
+	        LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libedit" 2>&1`
         else
-	        LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --print-errors "libedit" 2>&1`
+	        LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libedit" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$LIBEDIT_PKG_ERRORS" >&5
@@ -22975,6 +22996,110 @@ fi
 
 
 
+if test "x${PBX_PRI_SETUP_ACK_INBAND}" != "x1" -a "${USE_PRI_SETUP_ACK_INBAND}" != "no"; then
+   pbxlibdir=""
+   # if --with-PRI_SETUP_ACK_INBAND=DIR has been specified, use it.
+   if test "x${PRI_SETUP_ACK_INBAND_DIR}" != "x"; then
+      if test -d ${PRI_SETUP_ACK_INBAND_DIR}/lib; then
+         pbxlibdir="-L${PRI_SETUP_ACK_INBAND_DIR}/lib"
+      else
+         pbxlibdir="-L${PRI_SETUP_ACK_INBAND_DIR}"
+      fi
+   fi
+   pbxfuncname="pri_setup_ack"
+   if test "x${pbxfuncname}" = "x" ; then   # empty lib, assume only headers
+      AST_PRI_SETUP_ACK_INBAND_FOUND=yes
+   else
+      ast_ext_lib_check_save_CFLAGS="${CFLAGS}"
+      CFLAGS="${CFLAGS} "
+      as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5
+$as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpri ${pbxlibdir}  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ${pbxfuncname} ();
+int
+main ()
+{
+return ${pbxfuncname} ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  AST_PRI_SETUP_ACK_INBAND_FOUND=yes
+else
+  AST_PRI_SETUP_ACK_INBAND_FOUND=no
+fi
+
+      CFLAGS="${ast_ext_lib_check_save_CFLAGS}"
+   fi
+
+   # now check for the header.
+   if test "${AST_PRI_SETUP_ACK_INBAND_FOUND}" = "yes"; then
+      PRI_SETUP_ACK_INBAND_LIB="${pbxlibdir} -lpri "
+      # if --with-PRI_SETUP_ACK_INBAND=DIR has been specified, use it.
+      if test "x${PRI_SETUP_ACK_INBAND_DIR}" != "x"; then
+         PRI_SETUP_ACK_INBAND_INCLUDE="-I${PRI_SETUP_ACK_INBAND_DIR}/include"
+      fi
+      PRI_SETUP_ACK_INBAND_INCLUDE="${PRI_SETUP_ACK_INBAND_INCLUDE} "
+      if test "xlibpri.h" = "x" ; then	# no header, assume found
+         PRI_SETUP_ACK_INBAND_HEADER_FOUND="1"
+      else				# check for the header
+         ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}"
+         CPPFLAGS="${CPPFLAGS} ${PRI_SETUP_ACK_INBAND_INCLUDE}"
+         ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default"
+if test "x$ac_cv_header_libpri_h" = xyes; then :
+  PRI_SETUP_ACK_INBAND_HEADER_FOUND=1
+else
+  PRI_SETUP_ACK_INBAND_HEADER_FOUND=0
+fi
+
+
+         CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}"
+      fi
+      if test "x${PRI_SETUP_ACK_INBAND_HEADER_FOUND}" = "x0" ; then
+         PRI_SETUP_ACK_INBAND_LIB=""
+         PRI_SETUP_ACK_INBAND_INCLUDE=""
+      else
+         if test "x${pbxfuncname}" = "x" ; then		# only checking headers -> no library
+            PRI_SETUP_ACK_INBAND_LIB=""
+         fi
+         PBX_PRI_SETUP_ACK_INBAND=1
+         cat >>confdefs.h <<_ACEOF
+#define HAVE_PRI_SETUP_ACK_INBAND 1
+_ACEOF
+
+      fi
+   fi
+fi
+
+
+
 if test "x${PBX_PRI_L2_PERSISTENCE}" != "x1" -a "${USE_PRI_L2_PERSISTENCE}" != "no"; then
    pbxlibdir=""
    # if --with-PRI_L2_PERSISTENCE=DIR has been specified, use it.
@@ -28101,6 +28226,7 @@ if test -n "$GMIME_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GMIME_CFLAGS=`$PKG_CONFIG --cflags "gmime-$ver" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -28117,6 +28243,7 @@ if test -n "$GMIME_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GMIME_LIBS=`$PKG_CONFIG --libs "gmime-$ver" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -28136,9 +28263,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gmime-$ver" 2>&1`
+	        GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmime-$ver" 2>&1`
         else
-	        GMIME_PKG_ERRORS=`$PKG_CONFIG --print-errors "gmime-$ver" 2>&1`
+	        GMIME_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmime-$ver" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GMIME_PKG_ERRORS" >&5
@@ -29873,6 +30000,7 @@ if test -n "$GTK2_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29889,6 +30017,7 @@ if test -n "$GTK2_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29908,9 +30037,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0" 2>&1`
+	        GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-2.0" 2>&1`
         else
-	        GTK2_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0" 2>&1`
+	        GTK2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-2.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GTK2_PKG_ERRORS" >&5
diff --git a/configure.ac b/configure.ac
index 33d5bbf917832d8a7984f13ae69acddef9304816..f466c0d239d99bf571c12c171a55c4fe22268433 100644
--- a/configure.ac
+++ b/configure.ac
@@ -428,6 +428,7 @@ AST_EXT_LIB_SETUP([PGSQL], [PostgreSQL], [postgres])
 AST_EXT_LIB_SETUP([POPT], [popt], [popt])
 AST_EXT_LIB_SETUP([PORTAUDIO], [PortAudio], [portaudio])
 AST_EXT_LIB_SETUP([PRI], [ISDN PRI], [pri])
+AST_EXT_LIB_SETUP_OPTIONAL([PRI_SETUP_ACK_INBAND], [ISDN PRI progress inband ie in SETUP ACK], [PRI], [pri])
 AST_EXT_LIB_SETUP_OPTIONAL([PRI_L2_PERSISTENCE], [ISDN Layer 2 persistence option], [PRI], [pri])
 AST_EXT_LIB_SETUP_OPTIONAL([PRI_DATETIME_SEND], [ISDN PRI Date/time ie send policy], [PRI], [pri])
 AST_EXT_LIB_SETUP_OPTIONAL([PRI_MWI_V2], [ISDN PRI Message Waiting Indication (Fixed)], [PRI], [pri])
@@ -2006,6 +2007,7 @@ AST_EXT_LIB_CHECK([POPT], [popt], [poptStrerror], [popt.h])
 AST_EXT_LIB_CHECK([PORTAUDIO], [portaudio], [Pa_GetDeviceCount], [portaudio.h])
 
 AST_EXT_LIB_CHECK([PRI], [pri], [pri_connected_line_update], [libpri.h])
+AST_EXT_LIB_CHECK([PRI_SETUP_ACK_INBAND], [pri], [pri_setup_ack], [libpri.h])
 AST_EXT_LIB_CHECK([PRI_L2_PERSISTENCE], [pri], [pri_persistent_layer2_option], [libpri.h])
 AST_EXT_LIB_CHECK([PRI_DATETIME_SEND], [pri], [pri_date_time_send_option], [libpri.h])
 AST_EXT_LIB_CHECK([PRI_MWI_V2], [pri], [pri_mwi_indicate_v2], [libpri.h])
diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in
index b817c88410a5e07e13c95ca0a3eb74ea0b519bfb..838ac1b67f066f7730ac7009bda73bb3cf48efe9 100644
--- a/include/asterisk/autoconfig.h.in
+++ b/include/asterisk/autoconfig.h.in
@@ -626,6 +626,10 @@
 /* Define to 1 if PRI has the ISDN service messages feature. */
 #undef HAVE_PRI_SERVICE_MESSAGES
 
+/* Define to 1 if PRI has the ISDN PRI progress inband ie in SETUP ACK
+   feature. */
+#undef HAVE_PRI_SETUP_ACK_INBAND
+
 /* Define to 1 if PRI has the ISDN PRI keypad facility in SETUP feature. */
 #undef HAVE_PRI_SETUP_KEYPAD
 
@@ -1232,11 +1236,6 @@
 /* Define to 1 if running on Darwin. */
 #undef _DARWIN_UNLIMITED_SELECT
 
-/* Enable large inode numbers on Mac OS X 10.5.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS