diff options
-rw-r--r-- | Makefile.rules | 10 | ||||
-rw-r--r-- | build_tools/cflags.xml | 5 | ||||
-rwxr-xr-x | configure | 81 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | include/asterisk/autoconfig.h.in | 3 | ||||
-rw-r--r-- | menuselect/menuselect.c | 12 | ||||
-rw-r--r-- | menuselect/menuselect.h | 2 | ||||
-rw-r--r-- | menuselect/menuselect_curses.c | 73 | ||||
-rw-r--r-- | res/res_pjsip/config_transport.c | 2 | ||||
-rw-r--r-- | res/res_pjsip_refer.c | 21 | ||||
-rw-r--r-- | third-party/pjproject/configure.m4 | 1 |
11 files changed, 182 insertions, 37 deletions
diff --git a/Makefile.rules b/Makefile.rules index 1031f2def..a22f19c16 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -103,13 +103,15 @@ CC_LIBS=$(PTHREAD_LIBS) $(LIBS) CXX_LIBS=$(PTHREAD_LIBS) $(LIBS) # determine whether to double-compile so that the optimizer can report code path problems -# this is only done when developer mode and DONT_OPTIMIZE are both enabled -# in that case, we run the preprocessor to produce a .i or .ii file from the source +# In this case, we run the preprocessor to produce a .i or .ii file from the source # code, then compile once with optimizer enabled (and the output to /dev/null), # and if that doesn't fail then compile again with optimizer disabled -ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_DEVMODE),DONT_OPTIMIZEyes) + +ifeq ($(findstring COMPILE_DOUBLE,$(MENUSELECT_CFLAGS)),COMPILE_DOUBLE) COMPILE_DOUBLE=yes -else +endif + +ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_DEVMODE),) _ASTCFLAGS+=$(AST_FORTIFY_SOURCE) endif diff --git a/build_tools/cflags.xml b/build_tools/cflags.xml index ea741531a..d3c3ebe0a 100644 --- a/build_tools/cflags.xml +++ b/build_tools/cflags.xml @@ -1,5 +1,10 @@ <category name="MENUSELECT_CFLAGS" displayname="Compiler Flags" positive_output="yes" remove_on_change=".lastclean"> <member name="DONT_OPTIMIZE" displayname="Disable Optimizations by the Compiler"> + <use autoselect="yes">COMPILE_DOUBLE</use> + <support_level>core</support_level> + </member> + <member name="COMPILE_DOUBLE" displayname="Pre-compile with optimizations to detect errors, then discard and recompile with DONT_OPTIMIZE. Creates intermediate .i files"> + <depend>DONT_OPTIMIZE</depend> <support_level>core</support_level> </member> <member name="DEBUG_THREADS" displayname="Enable Thread Debugging"> @@ -911,6 +911,10 @@ PBX_POPT POPT_DIR POPT_INCLUDE POPT_LIB +PBX_PJSIP_TLS_TRANSPORT_PROTO +PJSIP_TLS_TRANSPORT_PROTO_DIR +PJSIP_TLS_TRANSPORT_PROTO_INCLUDE +PJSIP_TLS_TRANSPORT_PROTO_LIB PBX_PJSIP_EXTERNAL_RESOLVER PJSIP_EXTERNAL_RESOLVER_DIR PJSIP_EXTERNAL_RESOLVER_INCLUDE @@ -10537,6 +10541,18 @@ PBX_PJSIP_EXTERNAL_RESOLVER=0 +PJSIP_TLS_TRANSPORT_PROTO_DESCRIP="PJSIP TLS Transport proto field support" +PJSIP_TLS_TRANSPORT_PROTO_OPTION=pjsip +PJSIP_TLS_TRANSPORT_PROTO_DIR=${PJPROJECT_DIR} + +PBX_PJSIP_TLS_TRANSPORT_PROTO=0 + + + + + + + POPT_DESCRIP="popt" POPT_OPTION="popt" @@ -13586,7 +13602,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -13632,7 +13648,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -13656,7 +13672,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -13701,7 +13717,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -13725,7 +13741,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -24435,6 +24451,9 @@ rm -f conftest* PJSIP_EXTERNAL_RESOLVER_INCLUDE="$PJPROJECT_INCLUDE" +$as_echo "#define HAVE_PJSIP_TLS_TRANSPORT_PROTO 1" >>confdefs.h + + else if test "x${PBX_PJPROJECT}" != "x1" -a "${USE_PJPROJECT}" != "no"; then @@ -25098,6 +25117,58 @@ _ACEOF fi + + saved_cppflags="${CPPFLAGS}" + saved_libs="${LIBS}" + CPPFLAGS="${CPPFLAGS} ${PJPROJECT_CFLAGS}" + LIBS="${LIBS} ${PJPROJECT_LIB}" + + if test "x${PBX_PJSIP_TLS_TRANSPORT_PROTO}" != "x1" -a "${USE_PJSIP_TLS_TRANSPORT_PROTO}" != "no"; then + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for " >&5 +$as_echo_n "checking for ... " >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if \"struct pjsip_tls_setting setting; int proto; proto = setting.proto;\" compiles using pjsip.h" >&5 +$as_echo_n "checking if \"struct pjsip_tls_setting setting; int proto; proto = setting.proto;\" compiles using pjsip.h... " >&6; } + fi + saved_cppflags="${CPPFLAGS}" + if test "x${PJSIP_TLS_TRANSPORT_PROTO_DIR}" != "x"; then + PJSIP_TLS_TRANSPORT_PROTO_INCLUDE="-I${PJSIP_TLS_TRANSPORT_PROTO_DIR}/include" + fi + CPPFLAGS="${CPPFLAGS} ${PJSIP_TLS_TRANSPORT_PROTO_INCLUDE}" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #include <pjsip.h> +int +main () +{ + struct pjsip_tls_setting setting; int proto; proto = setting.proto;; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + PBX_PJSIP_TLS_TRANSPORT_PROTO=1 + +$as_echo "#define HAVE_PJSIP_TLS_TRANSPORT_PROTO 1" >>confdefs.h + + + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="${saved_cppflags}" + fi + + LIBS="${saved_libs}" + CPPFLAGS="${saved_cppflags}" fi fi diff --git a/configure.ac b/configure.ac index 7ea531a51..d0a1dec7e 100644 --- a/configure.ac +++ b/configure.ac @@ -486,6 +486,7 @@ AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_REPLACE_MEDIA_STREAM], [PJSIP Media Stream Rep AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_GET_DEST_INFO], [pjsip_get_dest_info support], [PJPROJECT], [pjsip]) AST_EXT_LIB_SETUP_OPTIONAL([PJ_SSL_CERT_LOAD_FROM_FILES2], [pj_ssl_cert_load_from_files2 support], [PJPROJECT], [pjsip]) AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_EXTERNAL_RESOLVER], [PJSIP External Resolver Support], [PJPROJECT], [pjsip]) +AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_TLS_TRANSPORT_PROTO], [PJSIP TLS Transport proto field support], [PJPROJECT], [pjsip]) AST_EXT_LIB_SETUP([POPT], [popt], [popt]) AST_EXT_LIB_SETUP([PORTAUDIO], [PortAudio], [portaudio]) @@ -2186,6 +2187,14 @@ if test "$USE_PJPROJECT" != "no" ; then AST_EXT_LIB_CHECK([PJSIP_GET_DEST_INFO], [pjsip], [pjsip_get_dest_info], [pjsip.h], [$PJPROJECT_LIB], [$PJPROJECT_CFLAGS]) AST_EXT_LIB_CHECK([PJ_SSL_CERT_LOAD_FROM_FILES2], [pj], [pjsip/include/pjsip/sip_util.h], [pjlib.h], [$PJPROJECT_LIB], [$PJPROJECT_CFLAGS]) AST_EXT_LIB_CHECK([PJSIP_EXTERNAL_RESOLVER], [pjsip], [pjsip_endpt_set_ext_resolver], [pjsip.h], [$PJPROJECT_LIBS], [$PJPROJECT_CFLAGS]) + + saved_cppflags="${CPPFLAGS}" + saved_libs="${LIBS}" + CPPFLAGS="${CPPFLAGS} ${PJPROJECT_CFLAGS}" + LIBS="${LIBS} ${PJPROJECT_LIB}" + AST_C_COMPILE_CHECK([PJSIP_TLS_TRANSPORT_PROTO], [struct pjsip_tls_setting setting; int proto; proto = setting.proto;], [pjsip.h]) + LIBS="${saved_libs}" + CPPFLAGS="${saved_cppflags}" fi fi diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index cb983425a..80780986a 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -596,6 +596,9 @@ /* Define if your system has the PJSIP_REPLACE_MEDIA_STREAM headers. */ #undef HAVE_PJSIP_REPLACE_MEDIA_STREAM +/* Define if your system has the PJSIP_TLS_TRANSPORT_PROTO headers. */ +#undef HAVE_PJSIP_TLS_TRANSPORT_PROTO + /* Define if your system has pj_ssl_cert_load_from_files2 declared. */ #undef HAVE_PJ_SSL_CERT_LOAD_FROM_FILES2 diff --git a/menuselect/menuselect.c b/menuselect/menuselect.c index f4a826b84..6136135aa 100644 --- a/menuselect/menuselect.c +++ b/menuselect/menuselect.c @@ -357,6 +357,10 @@ static int process_xml_ref_node(xmlNode *node, struct member *mem, struct refere } } + if ((tmp = (const char *) xmlGetProp(node, BAD_CAST "autoselect"))) { + ref->autoselect = !strcasecmp(tmp, "yes"); + } + tmp = (const char *) xmlNodeGetContent(node); if (tmp && !strlen_zero(tmp)) { @@ -1154,8 +1158,16 @@ unsigned int enable_member(struct member *mem) } if ((mem->enabled = can_enable)) { + struct reference *use; + print_debug("Just set %s enabled to %d\n", mem->name, mem->enabled); while (calc_dep_failures(1, 0) || calc_conflict_failures(1, 0)); + + AST_LIST_TRAVERSE(&mem->uses, use, list) { + if (use->member && use->autoselect && !use->member->enabled) { + enable_member(use->member); + } + } } return can_enable; diff --git a/menuselect/menuselect.h b/menuselect/menuselect.h index b1d22dd75..112f1c88c 100644 --- a/menuselect/menuselect.h +++ b/menuselect/menuselect.h @@ -43,6 +43,8 @@ struct reference { struct member *member; /*! if this package was found */ unsigned char met:1; + /*! if this package should be autoselected */ + unsigned char autoselect:1; /*! for linking */ AST_LIST_ENTRY(reference) list; }; diff --git a/menuselect/menuselect_curses.c b/menuselect/menuselect_curses.c index 5afa99661..00645927a 100644 --- a/menuselect/menuselect_curses.c +++ b/menuselect/menuselect_curses.c @@ -158,6 +158,12 @@ static int really_quit(WINDOW *win) return c; } +#define MENU_HELP_LEFT_ADJ 16 +#define MAIN_MENU_LEFT_ADJ 20 +#define CAT_MENU_LEFT_ADJ 20 +#define SCROLL_DOWN_LEFT_ADJ 15 +#define MEMBER_INFO_LEFT_ADJ 25 + static void draw_main_menu(WINDOW *menu, int curopt) { struct category *cat; @@ -167,42 +173,67 @@ static void draw_main_menu(WINDOW *menu, int curopt) wclear(menu); AST_LIST_TRAVERSE(&categories, cat, list) { - wmove(menu, i++, max_x / 2 - 10); - snprintf(buf, sizeof(buf), " %s", strlen_zero(cat->displayname) ? cat->name : cat->displayname); + wmove(menu, i++, max_x / 2 - MAIN_MENU_LEFT_ADJ); + snprintf(buf, sizeof(buf), "%s", strlen_zero(cat->displayname) ? cat->name : cat->displayname); waddstr(menu, buf); } - wmove(menu, curopt, (max_x / 2) - 15); + wmove(menu, curopt, (max_x / 2) - MAIN_MENU_LEFT_ADJ - 5); waddstr(menu, "--->"); - wmove(menu, 0, 0); + wmove(menu, curopt, (max_x / 2) - MAIN_MENU_LEFT_ADJ); wrefresh(menu); } -static void display_mem_info(WINDOW *menu, struct member *mem, int start, int end) +static void display_mem_info(WINDOW *menu, struct member *mem, int start_y, int end) { char buf[64]; struct reference *dep; struct reference *con; struct reference *use; + int start_x = (max_x / 2 - MEMBER_INFO_LEFT_ADJ); + int maxlen = (max_x - start_x); - wmove(menu, end - start + 2, max_x / 2 - 16); + wmove(menu, end - start_y + 1, start_x); + wclrtoeol(menu); + wmove(menu, end - start_y + 2, start_x); wclrtoeol(menu); - wmove(menu, end - start + 3, max_x / 2 - 16); + wmove(menu, end - start_y + 3, start_x); wclrtoeol(menu); - wmove(menu, end - start + 4, max_x / 2 - 16); + wmove(menu, end - start_y + 4, start_x); wclrtoeol(menu); - wmove(menu, end - start + 5, max_x / 2 - 16); + wmove(menu, end - start_y + 5, start_x); wclrtoeol(menu); - wmove(menu, end - start + 6, max_x / 2 - 16); + wmove(menu, end - start_y + 6, start_x); wclrtoeol(menu); if (mem->displayname) { - wmove(menu, end - start + 2, max_x / 2 - 16); - waddstr(menu, (char *) mem->displayname); + int name_len = strlen(mem->displayname); + + wmove(menu, end - start_y + 1, start_x); + if (name_len > maxlen) { + char *last_space; + char *line_1 = strdup(mem->displayname); + + if (line_1) { + line_1[maxlen] = '\0'; + last_space = strrchr(line_1, ' '); + if (last_space) { + *last_space = '\0'; + } + waddstr(menu, line_1); + wmove(menu, end - start_y + 2, start_x); + waddstr(menu, &mem->displayname[last_space - line_1]); + free(line_1); + } else { + waddstr(menu, (char *) mem->displayname); + } + } else { + waddstr(menu, (char *) mem->displayname); + } } if (!AST_LIST_EMPTY(&mem->deps)) { - wmove(menu, end - start + 3, max_x / 2 - 16); + wmove(menu, end - start_y + 3, start_x); strcpy(buf, "Depends on: "); AST_LIST_TRAVERSE(&mem->deps, dep, list) { strncat(buf, dep->displayname, sizeof(buf) - strlen(buf) - 1); @@ -213,7 +244,7 @@ static void display_mem_info(WINDOW *menu, struct member *mem, int start, int en waddstr(menu, buf); } if (!AST_LIST_EMPTY(&mem->uses)) { - wmove(menu, end - start + 4, max_x / 2 - 16); + wmove(menu, end - start_y + 4, start_x); strcpy(buf, "Can use: "); AST_LIST_TRAVERSE(&mem->uses, use, list) { strncat(buf, use->displayname, sizeof(buf) - strlen(buf) - 1); @@ -224,7 +255,7 @@ static void display_mem_info(WINDOW *menu, struct member *mem, int start, int en waddstr(menu, buf); } if (!AST_LIST_EMPTY(&mem->conflicts)) { - wmove(menu, end - start + 5, max_x / 2 - 16); + wmove(menu, end - start_y + 5, start_x); strcpy(buf, "Conflicts with: "); AST_LIST_TRAVERSE(&mem->conflicts, con, list) { strncat(buf, con->displayname, sizeof(buf) - strlen(buf) - 1); @@ -237,7 +268,7 @@ static void display_mem_info(WINDOW *menu, struct member *mem, int start, int en if (!mem->is_separator) { /* Separators lack support levels */ { /* support level */ - wmove(menu, end - start + 6, max_x / 2 - 16); + wmove(menu, end - start_y + 6, start_x); snprintf(buf, sizeof(buf), "Support Level: %s", mem->support_level); if (mem->replacement && *mem->replacement) { char buf2[64]; @@ -266,7 +297,7 @@ static void draw_category_menu(WINDOW *menu, struct category *cat, int start, in break; } } - wmove(menu, curopt - start, max_x / 2 - 9); + wmove(menu, curopt - start, (max_x / 2) - (CAT_MENU_LEFT_ADJ - 1)); wrefresh(menu); return; } @@ -279,7 +310,7 @@ static void draw_category_menu(WINDOW *menu, struct category *cat, int start, in i++; continue; } - wmove(menu, j++, max_x / 2 - 10); + wmove(menu, j++, max_x / 2 - CAT_MENU_LEFT_ADJ); i++; if ((mem->depsfailed == HARD_FAILURE) || (mem->conflictsfailed == HARD_FAILURE)) { snprintf(buf, sizeof(buf), "XXX %s", mem->name); @@ -302,11 +333,11 @@ static void draw_category_menu(WINDOW *menu, struct category *cat, int start, in } if (flags & SCROLL_DOWN) { - wmove(menu, j, max_x / 2 - sizeof(SCROLL_DOWN_INDICATOR) / 2); + wmove(menu, j, max_x / 2 - SCROLL_DOWN_LEFT_ADJ); waddstr(menu, SCROLL_DOWN_INDICATOR); } - wmove(menu, curopt - start, max_x / 2 - 9); + wmove(menu, curopt - start, (max_x / 2) - (CAT_MENU_LEFT_ADJ - 1)); wrefresh(menu); } @@ -465,7 +496,7 @@ static void draw_title_window(WINDOW *title) waddstr(title, (char *) menu_name); wmove(title, 3, (max_x / 2) - (strlen(titlebar) / 2)); waddstr(title, titlebar); - wmove(title, 5, (max_x / 2) - (strlen(MENU_HELP) / 2)); + wmove(title, 5, (max_x / 2) - MENU_HELP_LEFT_ADJ); waddstr(title, MENU_HELP); wrefresh(title); } diff --git a/res/res_pjsip/config_transport.c b/res/res_pjsip/config_transport.c index db579bf2f..d2c087487 100644 --- a/res/res_pjsip/config_transport.c +++ b/res/res_pjsip/config_transport.c @@ -422,7 +422,9 @@ static int has_state_changed(struct ast_sip_transport_state *a, struct ast_sip_t if (a->tls.method != b->tls.method || a->tls.ciphers_num != b->tls.ciphers_num +#ifdef HAVE_PJSIP_TLS_TRANSPORT_PROTO || a->tls.proto != b->tls.proto +#endif || a->tls.verify_client != b->tls.verify_client || a->tls.verify_server != b->tls.verify_server || a->tls.require_client_cert != b->tls.require_client_cert) { diff --git a/res/res_pjsip_refer.c b/res/res_pjsip_refer.c index c23097e60..3766f9bb4 100644 --- a/res/res_pjsip_refer.c +++ b/res/res_pjsip_refer.c @@ -59,6 +59,8 @@ struct refer_progress { struct transfer_channel_data *transfer_data; /*! \brief Uniqueid of transferee channel */ char *transferee; + /*! \brief Non-zero if the 100 notify has been sent */ + int sent_100; }; /*! \brief REFER Progress notification structure */ @@ -133,6 +135,18 @@ static int refer_progress_notify(void *data) notification->progress->sub = NULL; } + /* Send a deferred initial 100 Trying SIP frag NOTIFY if we haven't already. */ + if (!notification->progress->sent_100) { + notification->progress->sent_100 = 1; + if (notification->response != 100) { + ast_debug(3, "Sending initial 100 Trying NOTIFY for progress monitor '%p'\n", + notification->progress); + if (pjsip_xfer_notify(sub, PJSIP_EVSUB_STATE_ACTIVE, 100, NULL, &tdata) == PJ_SUCCESS) { + pjsip_xfer_send_request(sub, tdata); + } + } + } + ast_debug(3, "Sending NOTIFY with response '%d' and state '%u' on subscription '%p' and progress monitor '%p'\n", notification->response, notification->state, sub, notification->progress); @@ -340,7 +354,6 @@ static int refer_progress_alloc(struct ast_sip_session *session, pjsip_rx_data * const pj_str_t str_refer_sub = { "Refer-Sub", 9 }; pjsip_generic_string_hdr *refer_sub = NULL; const pj_str_t str_true = { "true", 4 }; - pjsip_tx_data *tdata; pjsip_hdr hdr_list; char tps_name[AST_TASKPROCESSOR_MAX_NAME + 1]; @@ -392,12 +405,6 @@ static int refer_progress_alloc(struct ast_sip_session *session, pjsip_rx_data * ast_debug(3, "Accepting REFER request for progress monitor '%p'\n", *progress); pjsip_xfer_accept((*progress)->sub, rdata, 202, &hdr_list); - /* Send initial NOTIFY Request */ - ast_debug(3, "Sending initial 100 Trying NOTIFY for progress monitor '%p'\n", *progress); - if (pjsip_xfer_notify((*progress)->sub, PJSIP_EVSUB_STATE_ACTIVE, 100, NULL, &tdata) == PJ_SUCCESS) { - pjsip_xfer_send_request((*progress)->sub, tdata); - } - return 0; error: diff --git a/third-party/pjproject/configure.m4 b/third-party/pjproject/configure.m4 index 3351527eb..743222774 100644 --- a/third-party/pjproject/configure.m4 +++ b/third-party/pjproject/configure.m4 @@ -43,4 +43,5 @@ AC_DEFUN([PJPROJECT_CONFIGURE], PJPROJECT_SYMBOL_CHECK([PJSIP_GET_DEST_INFO], [pjsip_get_dest_info], [pjsip.h]) PJPROJECT_SYMBOL_CHECK([PJ_SSL_CERT_LOAD_FROM_FILES2], [pj_ssl_cert_load_from_files2], [pjlib.h]) PJPROJECT_SYMBOL_CHECK([PJSIP_EXTERNAL_RESOLVER], [pjsip_endpt_set_ext_resolver], [pjsip.h]) + AC_DEFINE([HAVE_PJSIP_TLS_TRANSPORT_PROTO], 1, [Define if your system has PJSIP_TLS_TRANSPORT_PROTO]) ]) |