From: <abe...@us...> - 2016-09-03 01:08:10
|
Revision: 7816 http://sourceforge.net/p/astlinux/code/7816 Author: abelbeck Date: 2016-09-03 01:08:07 +0000 (Sat, 03 Sep 2016) Log Message: ----------- asterisk, version bump to 13.11.0 with pjsip version bump to 2.5.5 Modified Paths: -------------- branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch branches/1.0/package/asterisk/asterisk.mk branches/1.0/package/pjsip/asterisk-config_site.h branches/1.0/package/pjsip/pjsip.mk Added Paths: ----------- branches/1.0/package/pjsip/pjsip-0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch Removed Paths: ------------- branches/1.0/package/asterisk/asterisk-13-SILK-CODEC-support.patch branches/1.0/package/pjsip/pjsip-0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch branches/1.0/package/pjsip/pjsip-0002-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch Deleted: branches/1.0/package/asterisk/asterisk-13-SILK-CODEC-support.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-13-SILK-CODEC-support.patch 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/asterisk/asterisk-13-SILK-CODEC-support.patch 2016-09-03 01:08:07 UTC (rev 7816) @@ -1,346 +0,0 @@ -From 28501051b47e6bb8968bb016abf0b3493c05fa21 Mon Sep 17 00:00:00 2001 -From: Mark Michelson <mmi...@di...> -Date: Thu, 30 Jun 2016 15:58:53 -0500 -Subject: [PATCH] Update support for SILK format. - -This commit adds scaffolding in order to support the SILK audio format -on calls. Roughly, this is what is added: - -* Cached silk formats. One for each possible sample rate. -* ast_codec structures for each possible sample rate. -* RTP payload mappings for "SILK". - -In addition, this change overhauls the res_format_attr_silk file in the -following ways: - -* The "samplerate" attribute is scrapped. That's native to the format. -* There are far more checks to ensure that attributes have been - allocated before attempting to reference them. -* We do not SDP fmtp lines for attributes set to 0. - -These changes make way to be able to install a codec_silk module and -have it actually work. It also should allow for passthrough silk calls -in Asterisk. - -Change-Id: Ieeb39c95a9fecc9246bcfd3c45a6c9b51c59380e ---- - include/asterisk/format_cache.h | 8 +++++ - main/codec_builtin.c | 63 ++++++++++++++++++++++++++++++++++++++ - main/format_cache.c | 20 ++++++++++++ - main/rtp_engine.c | 10 ++++++ - res/res_format_attr_silk.c | 64 ++++++++++++++++++++------------------- - 5 files changed, 134 insertions(+), 31 deletions(-) - -diff --git a/include/asterisk/format_cache.h b/include/asterisk/format_cache.h -index 9f4e06a..ff03bb4 100644 ---- a/include/asterisk/format_cache.h -+++ b/include/asterisk/format_cache.h -@@ -224,6 +224,14 @@ extern struct ast_format *ast_format_t140_red; - extern struct ast_format *ast_format_none; - - /*! -+ * \brief Built-in SILK format. -+ */ -+extern struct ast_format *ast_format_silk8; -+extern struct ast_format *ast_format_silk12; -+extern struct ast_format *ast_format_silk16; -+extern struct ast_format *ast_format_silk24; -+ -+/*! - * \brief Initialize format cache support within the core. - * - * \retval 0 success -diff --git a/main/codec_builtin.c b/main/codec_builtin.c -index d3f6517..1d329bc 100644 ---- a/main/codec_builtin.c -+++ b/main/codec_builtin.c -@@ -772,6 +772,65 @@ static struct ast_codec t140 = { - .type = AST_MEDIA_TYPE_TEXT, - }; - -+static int silk_samples(struct ast_frame *frame) -+{ -+ /* XXX This is likely not at all what's intended from this callback. However, -+ * since SILK is variable bit rate, I have no idea how to take a frame of data -+ * and determine the number of samples present. Instead, we base this on the -+ * sample rate of the codec and the expected number of samples to receive in 20ms. -+ * In testing, this has worked just fine. -+ */ -+ return ast_format_get_sample_rate(frame->subclass.format) / 50; -+} -+ -+static struct ast_codec silk8 = { -+ .name = "silk", -+ .description = "SILK Codec (8 KHz)", -+ .type = AST_MEDIA_TYPE_AUDIO, -+ .sample_rate = 8000, -+ .minimum_ms = 20, -+ .maximum_ms = 100, -+ .default_ms = 20, -+ .minimum_bytes = 160, -+ .samples_count = silk_samples -+}; -+ -+static struct ast_codec silk12 = { -+ .name = "silk", -+ .description = "SILK Codec (12 KHz)", -+ .type = AST_MEDIA_TYPE_AUDIO, -+ .sample_rate = 12000, -+ .minimum_ms = 20, -+ .maximum_ms = 100, -+ .default_ms = 20, -+ .minimum_bytes = 240, -+ .samples_count = silk_samples -+}; -+ -+static struct ast_codec silk16 = { -+ .name = "silk", -+ .description = "SILK Codec (16 KHz)", -+ .type = AST_MEDIA_TYPE_AUDIO, -+ .sample_rate = 16000, -+ .minimum_ms = 20, -+ .maximum_ms = 100, -+ .default_ms = 20, -+ .minimum_bytes = 320, -+ .samples_count = silk_samples -+}; -+ -+static struct ast_codec silk24 = { -+ .name = "silk", -+ .description = "SILK Codec (24 KHz)", -+ .type = AST_MEDIA_TYPE_AUDIO, -+ .sample_rate = 24000, -+ .minimum_ms = 20, -+ .maximum_ms = 100, -+ .default_ms = 20, -+ .minimum_bytes = 480, -+ .samples_count = silk_samples -+}; -+ - #define CODEC_REGISTER_AND_CACHE(codec) \ - ({ \ - int __res_ ## __LINE__ = 0; \ -@@ -843,6 +902,10 @@ int ast_codec_builtin_init(void) - res |= CODEC_REGISTER_AND_CACHE(t140red); - res |= CODEC_REGISTER_AND_CACHE(t140); - res |= CODEC_REGISTER_AND_CACHE(none); -+ res |= CODEC_REGISTER_AND_CACHE_NAMED("silk8", silk8); -+ res |= CODEC_REGISTER_AND_CACHE_NAMED("silk12", silk12); -+ res |= CODEC_REGISTER_AND_CACHE_NAMED("silk16", silk16); -+ res |= CODEC_REGISTER_AND_CACHE_NAMED("silk24", silk24); - - return res; - } -diff --git a/main/format_cache.c b/main/format_cache.c -index 6638a78..74ebfe8 100644 ---- a/main/format_cache.c -+++ b/main/format_cache.c -@@ -232,6 +232,14 @@ struct ast_format *ast_format_t140_red; - */ - struct ast_format *ast_format_none; - -+/*! -+ * \brief Built-in "silk" format -+ */ -+struct ast_format *ast_format_silk8; -+struct ast_format *ast_format_silk12; -+struct ast_format *ast_format_silk16; -+struct ast_format *ast_format_silk24; -+ - /*! \brief Number of buckets to use for the media format cache (should be prime for performance reasons) */ - #define CACHE_BUCKETS 53 - -@@ -331,6 +339,10 @@ static void format_cache_shutdown(void) - ao2_replace(ast_format_t140_red, NULL); - ao2_replace(ast_format_t140, NULL); - ao2_replace(ast_format_none, NULL); -+ ao2_replace(ast_format_silk8, NULL); -+ ao2_replace(ast_format_silk12, NULL); -+ ao2_replace(ast_format_silk16, NULL); -+ ao2_replace(ast_format_silk24, NULL); - } - - int ast_format_cache_init(void) -@@ -426,6 +438,14 @@ static void set_cached_format(const char *name, struct ast_format *format) - ao2_replace(ast_format_t140, format); - } else if (!strcmp(name, "none")) { - ao2_replace(ast_format_none, format); -+ } else if (!strcmp(name, "silk8")) { -+ ao2_replace(ast_format_silk8, format); -+ } else if (!strcmp(name, "silk12")) { -+ ao2_replace(ast_format_silk12, format); -+ } else if (!strcmp(name, "silk16")) { -+ ao2_replace(ast_format_silk16, format); -+ } else if (!strcmp(name, "silk24")) { -+ ao2_replace(ast_format_silk24, format); - } - } - -diff --git a/main/rtp_engine.c b/main/rtp_engine.c -index 462d4c5..8d46bfd 100644 ---- a/main/rtp_engine.c -+++ b/main/rtp_engine.c -@@ -2198,6 +2198,11 @@ int ast_rtp_engine_init(void) - /* Opus and VP8 */ - set_next_mime_type(ast_format_opus, 0, "audio", "opus", 48000); - set_next_mime_type(ast_format_vp8, 0, "video", "VP8", 90000); -+ /* DA SILK */ -+ set_next_mime_type(ast_format_silk8, 0, "audio", "silk", 8000); -+ set_next_mime_type(ast_format_silk12, 0, "audio", "silk", 12000); -+ set_next_mime_type(ast_format_silk16, 0, "audio", "silk", 16000); -+ set_next_mime_type(ast_format_silk24, 0, "audio", "silk", 24000); - - /* Define the static rtp payload mappings */ - add_static_payload(0, ast_format_ulaw, 0); -@@ -2243,6 +2248,11 @@ int ast_rtp_engine_init(void) - add_static_payload(100, ast_format_vp8, 0); - add_static_payload(107, ast_format_opus, 0); - -+ add_static_payload(108, ast_format_silk8, 0); -+ add_static_payload(109, ast_format_silk12, 0); -+ add_static_payload(113, ast_format_silk16, 0); -+ add_static_payload(114, ast_format_silk24, 0); -+ - return 0; - } - -diff --git a/res/res_format_attr_silk.c b/res/res_format_attr_silk.c -index dcbbe4c..d52ec74 100644 ---- a/res/res_format_attr_silk.c -+++ b/res/res_format_attr_silk.c -@@ -40,7 +40,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") - * \note The only attribute that affects compatibility here is the sample rate. - */ - struct silk_attr { -- unsigned int samplerate; - unsigned int maxbitrate; - unsigned int dtx; - unsigned int fec; -@@ -54,10 +53,15 @@ static void silk_destroy(struct ast_format *format) - ast_free(attr); - } - -+static void attr_init(struct silk_attr *attr) -+{ -+ memset(attr, 0, sizeof(*attr)); -+} -+ - static int silk_clone(const struct ast_format *src, struct ast_format *dst) - { - struct silk_attr *original = ast_format_get_attribute_data(src); -- struct silk_attr *attr = ast_calloc(1, sizeof(*attr)); -+ struct silk_attr *attr = ast_malloc(sizeof(*attr)); - - if (!attr) { - return -1; -@@ -65,6 +69,8 @@ static int silk_clone(const struct ast_format *src, struct ast_format *dst) - - if (original) { - *attr = *original; -+ } else { -+ attr_init(attr); - } - - ast_format_set_attribute_data(dst, attr); -@@ -109,17 +115,17 @@ static void silk_generate_sdp_fmtp(const struct ast_format *format, unsigned int - ast_str_append(str, 0, "a=fmtp:%u maxaveragebitrate=%u\r\n", payload, attr->maxbitrate); - } - -- ast_str_append(str, 0, "a=fmtp:%u usedtx=%u\r\n", payload, attr->dtx); -- ast_str_append(str, 0, "a=fmtp:%u useinbandfec=%u\r\n", payload, attr->fec); -+ if (attr->dtx) { -+ ast_str_append(str, 0, "a=fmtp:%u usedtx=%u\r\n", payload, attr->dtx); -+ } -+ if (attr->fec) { -+ ast_str_append(str, 0, "a=fmtp:%u useinbandfec=%u\r\n", payload, attr->fec); -+ } - } - - static enum ast_format_cmp_res silk_cmp(const struct ast_format *format1, const struct ast_format *format2) - { -- struct silk_attr *attr1 = ast_format_get_attribute_data(format1); -- struct silk_attr *attr2 = ast_format_get_attribute_data(format2); -- -- if (((!attr1 || !attr1->samplerate) && (!attr2 || !attr2->samplerate)) || -- (attr1->samplerate == attr2->samplerate)) { -+ if (ast_format_get_sample_rate(format1) == ast_format_get_sample_rate(format2)) { - return AST_FORMAT_CMP_EQUAL; - } - -@@ -130,13 +136,10 @@ static struct ast_format *silk_getjoint(const struct ast_format *format1, const - { - struct silk_attr *attr1 = ast_format_get_attribute_data(format1); - struct silk_attr *attr2 = ast_format_get_attribute_data(format2); -- unsigned int samplerate; - struct ast_format *jointformat; - struct silk_attr *attr_res; - -- samplerate = attr1->samplerate & attr2->samplerate; -- /* sample rate is the only attribute that has any bearing on if joint capabilities exist or not */ -- if (samplerate) { -+ if (ast_format_get_sample_rate(format1) != ast_format_get_sample_rate(format2)) { - return NULL; - } - -@@ -145,22 +148,25 @@ static struct ast_format *silk_getjoint(const struct ast_format *format1, const - return NULL; - } - attr_res = ast_format_get_attribute_data(jointformat); -- attr_res->samplerate = samplerate; - -- /* Take the lowest max bitrate */ -- attr_res->maxbitrate = MIN(attr1->maxbitrate, attr2->maxbitrate); -+ if (!attr1 || !attr2) { -+ attr_init(attr_res); -+ } else { -+ /* Take the lowest max bitrate */ -+ attr_res->maxbitrate = MIN(attr1->maxbitrate, attr2->maxbitrate); - -- /* Only do dtx if both sides want it. DTX is a trade off between -- * computational complexity and bandwidth. */ -- attr_res->dtx = attr1->dtx && attr2->dtx ? 1 : 0; -+ /* Only do dtx if both sides want it. DTX is a trade off between -+ * computational complexity and bandwidth. */ -+ attr_res->dtx = attr1->dtx && attr2->dtx ? 1 : 0; - -- /* Only do FEC if both sides want it. If a peer specifically requests not -- * to receive with FEC, it may be a waste of bandwidth. */ -- attr_res->fec = attr1->fec && attr2->fec ? 1 : 0; -+ /* Only do FEC if both sides want it. If a peer specifically requests not -+ * to receive with FEC, it may be a waste of bandwidth. */ -+ attr_res->fec = attr1->fec && attr2->fec ? 1 : 0; - -- /* Use the maximum packetloss percentage between the two attributes. This affects how -- * much redundancy is used in the FEC. */ -- attr_res->packetloss_percentage = MAX(attr1->packetloss_percentage, attr2->packetloss_percentage); -+ /* Use the maximum packetloss percentage between the two attributes. This affects how -+ * much redundancy is used in the FEC. */ -+ attr_res->packetloss_percentage = MAX(attr1->packetloss_percentage, attr2->packetloss_percentage); -+ } - - return jointformat; - } -@@ -183,9 +189,7 @@ static struct ast_format *silk_set(const struct ast_format *format, const char * - } - attr = ast_format_get_attribute_data(cloned); - -- if (!strcasecmp(name, "sample_rate")) { -- attr->samplerate = val; -- } else if (!strcasecmp(name, "max_bitrate")) { -+ if (!strcasecmp(name, "max_bitrate")) { - attr->maxbitrate = val; - } else if (!strcasecmp(name, "dtx")) { - attr->dtx = val; -@@ -205,9 +209,7 @@ static const void *silk_get(const struct ast_format *format, const char *name) - struct silk_attr *attr = ast_format_get_attribute_data(format); - unsigned int *val; - -- if (!strcasecmp(name, "sample_rate")) { -- val = &attr->samplerate; -- } else if (!strcasecmp(name, "max_bitrate")) { -+ if (!strcasecmp(name, "max_bitrate")) { - val = &attr->maxbitrate; - } else if (!strcasecmp(name, "dtx")) { - val = &attr->dtx; --- -1.7.9.5 Modified: branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch 2016-09-03 01:08:07 UTC (rev 7816) @@ -1,6 +1,6 @@ --- asterisk-13.1.0/configure.ac.orig 2014-01-24 16:52:23.000000000 -0600 +++ asterisk-13.1.0/configure.ac 2014-01-24 16:55:14.000000000 -0600 -@@ -2636,11 +2636,13 @@ +@@ -2625,11 +2625,13 @@ AC_OUTPUT ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2 Modified: branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch 2016-09-03 01:08:07 UTC (rev 7816) @@ -1,6 +1,6 @@ --- asterisk-11.17.1/channels/chan_sip.c.orig 2015-04-23 10:22:04.000000000 -0500 +++ asterisk-11.17.1/channels/chan_sip.c 2015-04-23 10:22:40.000000000 -0500 -@@ -17351,7 +17351,7 @@ +@@ -17319,7 +17319,7 @@ } if (!force) { Modified: branches/1.0/package/asterisk/asterisk.mk =================================================================== --- branches/1.0/package/asterisk/asterisk.mk 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/asterisk/asterisk.mk 2016-09-03 01:08:07 UTC (rev 7816) @@ -9,7 +9,7 @@ ifeq ($(BR2_PACKAGE_ASTERISK_v11),y) ASTERISK_VERSION := 11.23.0 else -ASTERISK_VERSION := 13.10.0 +ASTERISK_VERSION := 13.11.0 endif endif ASTERISK_SOURCE := asterisk-$(ASTERISK_VERSION).tar.gz @@ -271,6 +271,7 @@ (cd $(ASTERISK_DIR); \ menuselect/menuselect --enable res_pktccops menuselect.makeopts; \ menuselect/menuselect --disable CORE-SOUNDS-EN-GSM --disable MOH-OPSOUND-WAV menuselect.makeopts; \ + menuselect/menuselect --disable BUILD_NATIVE menuselect.makeopts; \ ) endif touch $@ Modified: branches/1.0/package/pjsip/asterisk-config_site.h =================================================================== --- branches/1.0/package/pjsip/asterisk-config_site.h 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/pjsip/asterisk-config_site.h 2016-09-03 01:08:07 UTC (rev 7816) @@ -19,7 +19,7 @@ #define PJ_SCANNER_USE_BITWISE 0 #define PJ_OS_HAS_CHECK_STACK 0 #define PJ_LOG_MAX_LEVEL 3 -#define PJ_ENABLE_EXTRA_CHECK 0 +#define PJ_ENABLE_EXTRA_CHECK 1 #define PJSIP_MAX_TSX_COUNT ((64*1024)-1) #define PJSIP_MAX_DIALOG_COUNT ((64*1024)-1) #define PJSIP_UDP_SO_SNDBUF_SIZE (512*1024) @@ -37,3 +37,7 @@ #undef PJ_TODO #define PJ_TODO(x) + +/* Defaults too low for WebRTC */ +#define PJ_ICE_MAX_CAND 32 +#define PJ_ICE_MAX_CHECKS (PJ_ICE_MAX_CAND * 2) Deleted: branches/1.0/package/pjsip/pjsip-0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch =================================================================== --- branches/1.0/package/pjsip/pjsip-0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/pjsip/pjsip-0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch 2016-09-03 01:08:07 UTC (rev 7816) @@ -1,72 +0,0 @@ -From a5030c9b33b2c936879fbacb1d2ea5edc2979181 Mon Sep 17 00:00:00 2001 -From: George Joseph <gj...@di...> -Date: Sat, 18 Jun 2016 10:14:34 -0600 -Subject: [PATCH] evsub: Add APIs to add/decrement an event subscription's - group lock - -These APIs can be used to ensure that the evsub isn't destroyed before -an application is finished using it. ---- - pjsip/include/pjsip-simple/evsub.h | 20 ++++++++++++++++++++ - pjsip/src/pjsip-simple/evsub.c | 14 ++++++++++++++ - 2 files changed, 34 insertions(+) - -diff --git a/pjsip/include/pjsip-simple/evsub.h b/pjsip/include/pjsip-simple/evsub.h -index 2dc4d69..31f85f8 100644 ---- a/pjsip/include/pjsip-simple/evsub.h -+++ b/pjsip/include/pjsip-simple/evsub.h -@@ -490,6 +490,26 @@ PJ_DECL(void) pjsip_evsub_set_mod_data( pjsip_evsub *sub, unsigned mod_id, - PJ_DECL(void*) pjsip_evsub_get_mod_data( pjsip_evsub *sub, unsigned mod_id ); - - -+/** -+ * Increment the event subscription's group lock. -+ * -+ * @param sub The server subscription instance. -+ * -+ * @return PJ_SUCCESS on success. -+ */ -+PJ_DEF(pj_status_t) pjsip_evsub_add_ref(pjsip_evsub *sub); -+ -+ -+/** -+ * Decrement the event subscription's group lock. -+ * -+ * @param sub The server subscription instance. -+ * -+ * @return PJ_SUCCESS on success. -+ */ -+PJ_DEF(pj_status_t) pjsip_evsub_dec_ref(pjsip_evsub *sub); -+ -+ - - PJ_END_DECL - -diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c -index 7cd8859..68a9564 100644 ---- a/pjsip/src/pjsip-simple/evsub.c -+++ b/pjsip/src/pjsip-simple/evsub.c -@@ -831,7 +831,21 @@ static pj_status_t evsub_create( pjsip_dialog *dlg, - return PJ_SUCCESS; - } - -+/* -+ * Increment the event subscription's group lock. -+ */ -+PJ_DEF(pj_status_t) pjsip_evsub_add_ref(pjsip_evsub *sub) -+{ -+ return pj_grp_lock_add_ref(sub->grp_lock); -+} - -+/* -+ * Decrement the event subscription's group lock. -+ */ -+PJ_DEF(pj_status_t) pjsip_evsub_dec_ref(pjsip_evsub *sub) -+{ -+ return pj_grp_lock_dec_ref(sub->grp_lock); -+} - - /* - * Create client subscription session. --- -2.5.5 Added: branches/1.0/package/pjsip/pjsip-0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch =================================================================== --- branches/1.0/package/pjsip/pjsip-0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch (rev 0) +++ branches/1.0/package/pjsip/pjsip-0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch 2016-09-03 01:08:07 UTC (rev 7816) @@ -0,0 +1,55 @@ +From 33fd755e819dc85a96718abc0ae26a9b46f14800 Mon Sep 17 00:00:00 2001 +From: nanang <nanang@localhost> +Date: Thu, 28 Jul 2016 08:21:45 +0000 +Subject: [PATCH 2/3] Fix #1946: Avoid deinitialization of uninitialized client + auth session. + +--- + pjsip/src/pjsip/sip_dialog.c | 18 ++++++------------ + 1 file changed, 6 insertions(+), 12 deletions(-) + +diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c +index f03885d..421ddc4 100644 +--- a/pjsip/src/pjsip/sip_dialog.c ++++ b/pjsip/src/pjsip/sip_dialog.c +@@ -92,6 +92,12 @@ static pj_status_t create_dialog( pjsip_user_agent *ua, + pj_list_init(&dlg->inv_hdr); + pj_list_init(&dlg->rem_cap_hdr); + ++ /* Init client authentication session. */ ++ status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, ++ dlg->pool, 0); ++ if (status != PJ_SUCCESS) ++ goto on_error; ++ + status = pj_mutex_create_recursive(pool, dlg->obj_name, &dlg->mutex_); + if (status != PJ_SUCCESS) + goto on_error; +@@ -283,12 +289,6 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, + /* Initial route set is empty. */ + pj_list_init(&dlg->route_set); + +- /* Init client authentication session. */ +- status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, +- dlg->pool, 0); +- if (status != PJ_SUCCESS) +- goto on_error; +- + /* Register this dialog to user agent. */ + status = pjsip_ua_register_dlg( ua, dlg ); + if (status != PJ_SUCCESS) +@@ -506,12 +506,6 @@ pj_status_t create_uas_dialog( pjsip_user_agent *ua, + } + dlg->route_set_frozen = PJ_TRUE; + +- /* Init client authentication session. */ +- status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, +- dlg->pool, 0); +- if (status != PJ_SUCCESS) +- goto on_error; +- + /* Increment the dialog's lock since tsx may cause the dialog to be + * destroyed prematurely (such as in case of transport error). + */ +-- +2.7.4 Deleted: branches/1.0/package/pjsip/pjsip-0002-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch =================================================================== --- branches/1.0/package/pjsip/pjsip-0002-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/pjsip/pjsip-0002-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch 2016-09-03 01:08:07 UTC (rev 7816) @@ -1,47 +0,0 @@ -From b7cb93b0e1729589a71e8b30d9a9893f0918e2a2 Mon Sep 17 00:00:00 2001 -From: George Joseph <geo...@fa...> -Date: Mon, 30 May 2016 11:58:22 -0600 -Subject: [PATCH] sip_transport_tcp/tls: Set factory on transports created - from accept - -The ability to re-use tcp and tls transports when a factory is -specified now depends on transport->factory being set which is a new field -in 2.5. This was being set only on new outgoing sockets not on -incoming sockets. The result was that a client REGISTER created a new -socket but without the factory set, the next outgoing request to the -client, OPTIONS, INVITE, etc, would attempt to create another socket -which the client would refuse. - -This patch sets the factory on transports created as a result of an -accept. ---- - pjsip/src/pjsip/sip_transport_tcp.c | 1 + - pjsip/src/pjsip/sip_transport_tls.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/pjsip/src/pjsip/sip_transport_tcp.c b/pjsip/src/pjsip/sip_transport_tcp.c -index 1bbb324..00eb8fc 100644 ---- a/pjsip/src/pjsip/sip_transport_tcp.c -+++ b/pjsip/src/pjsip/sip_transport_tcp.c -@@ -713,6 +713,7 @@ static pj_status_t tcp_create( struct tcp_listener *listener, - tcp->base.send_msg = &tcp_send_msg; - tcp->base.do_shutdown = &tcp_shutdown; - tcp->base.destroy = &tcp_destroy_transport; -+ tcp->base.factory = &listener->factory; - - /* Create group lock */ - status = pj_grp_lock_create(pool, NULL, &tcp->grp_lock); -diff --git a/pjsip/src/pjsip/sip_transport_tls.c b/pjsip/src/pjsip/sip_transport_tls.c -index a83ac32..36ee70d 100644 ---- a/pjsip/src/pjsip/sip_transport_tls.c -+++ b/pjsip/src/pjsip/sip_transport_tls.c -@@ -742,6 +742,7 @@ static pj_status_t tls_create( struct tls_listener *listener, - tls->base.send_msg = &tls_send_msg; - tls->base.do_shutdown = &tls_shutdown; - tls->base.destroy = &tls_destroy_transport; -+ tls->base.factory = &listener->factory; - - tls->ssock = ssock; - --- -2.5.5 Modified: branches/1.0/package/pjsip/pjsip.mk =================================================================== --- branches/1.0/package/pjsip/pjsip.mk 2016-09-02 16:50:57 UTC (rev 7815) +++ branches/1.0/package/pjsip/pjsip.mk 2016-09-03 01:08:07 UTC (rev 7816) @@ -4,7 +4,7 @@ # ################################################################################ -PJSIP_VERSION = 2.5 +PJSIP_VERSION = 2.5.5 PJSIP_SOURCE = pjproject-$(PJSIP_VERSION).tar.bz2 PJSIP_SITE = http://www.pjsip.org/release/$(PJSIP_VERSION) PJSIP_INSTALL_STAGING = YES @@ -17,23 +17,36 @@ PJSIP_POST_PATCH_HOOKS += PJSIP_CUSTOM_CONFIG PJSIP_CONF_ENV = \ - CFLAGS="$(TARGET_CFLAGS) -O2" \ + CFLAGS="$(TARGET_CFLAGS) -O2 -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unused-label -Wno-unused-function -Wno-strict-aliasing" \ LDFLAGS="-L$(STAGING_DIR)/usr/lib" \ LD="$(TARGET_CC)" PJSIP_CONF_OPT = \ - --with-external-srtp \ --disable-speex-codec \ --disable-speex-aec \ --disable-gsm-codec \ + --disable-ilbc-codec \ + --disable-l16-codec \ + --disable-g711-codec \ + --disable-g722-codec \ + --disable-g7221-codec \ + --disable-opencore-amr \ + --disable-webrtc \ + --disable-silk \ + --disable-opus \ --disable-video \ --disable-v4l2 \ --disable-sound \ - --disable-opencore-amr \ - --disable-ilbc-codec \ - --disable-g7221-codec \ + --disable-ext-sound \ + --disable-oss \ + --disable-sdl \ + --disable-libyuv \ --disable-resample \ - --without-libyuv + --disable-ffmpeg \ + --disable-openh264 \ + --disable-ipp \ + --without-external-pa \ + --with-external-srtp ifeq ($(BR2_PACKAGE_OPENSSL),y) PJSIP_CONF_OPT += --with-ssl=$(STAGING_DIR)/usr This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |