From 6446ba738b2017299a062aa0daac4143534bcca3 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Thu, 5 May 2011 22:53:45 +0000 Subject: [PATCH] Fix some consistency issues with jitterbuffer config. Store the defaults noted in the sample config files in the jitterbuffer config data structure. This makes the CLI commands that output these settings show the right thing. Also only show the settings that are relevant in the settings CLI commands, based on which jitterbuffer is selected and whether it's enabled. (closes issue #19083) Reported by: rgagnon Patches: issue-19083-trunk-r313139.diff uploaded by rgagnon (license 1202) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317478 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_alsa.c | 11 ++++++----- channels/chan_console.c | 9 +++++---- channels/chan_dahdi.c | 11 ++++++----- channels/chan_h323.c | 11 ++++++----- channels/chan_mgcp.c | 11 ++++++----- channels/chan_oss.c | 11 ++++++----- channels/chan_sip.c | 26 ++++++++++++++++---------- channels/chan_skinny.c | 37 +++++++++++++++++-------------------- channels/chan_unistim.c | 11 ++++++----- channels/chan_usbradio.c | 11 ++++++----- channels/misdn_config.c | 11 ++++++----- 11 files changed, 86 insertions(+), 74 deletions(-) diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c index 120987ae4e..a8b2dbf5a3 100644 --- a/channels/chan_alsa.c +++ b/channels/chan_alsa.c @@ -57,13 +57,14 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/musiconhold.h" #include "asterisk/poll-compat.h" -/*! Global jitterbuffer configuration - by default, jb is disabled */ +/*! Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in alsa.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/chan_console.c b/channels/chan_console.c index f1e6d198de..4e220b1017 100644 --- a/channels/chan_console.c +++ b/channels/chan_console.c @@ -172,13 +172,14 @@ AST_RWLOCK_DEFINE_STATIC(active_lock); * \brief Global jitterbuffer configuration * * \note Disabled by default. + * \note Values shown here match the defaults shown in console.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index e901c982ff..16563f452b 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -267,14 +267,15 @@ static const char * const lbostr[] = { "-22.5db (CSU)" }; -/*! Global jitterbuffer configuration - by default, jb is disabled */ +/*! Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in chan_dahdi.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/chan_h323.c b/channels/chan_h323.c index 89b452dbcf..c630767678 100644 --- a/channels/chan_h323.c +++ b/channels/chan_h323.c @@ -112,14 +112,15 @@ onhold_cb on_hold; int h323debug; /*!< global debug flag */ -/*! \brief Global jitterbuffer configuration - by default, jb is disabled */ +/*! \brief Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in h323.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index ba159c2376..88eb0c3cb5 100644 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -93,14 +93,15 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #define INADDR_NONE (in_addr_t)(-1) #endif -/*! Global jitterbuffer configuration - by default, jb is disabled */ +/*! Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in mgcp.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/chan_oss.c b/channels/chan_oss.c index 9a60fa8ce9..51828595d4 100644 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -65,14 +65,15 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "console_video.h" -/*! Global jitterbuffer configuration - by default, jb is disabled */ +/*! Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in oss.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/chan_sip.c b/channels/chan_sip.c index a36063aff2..05705cba62 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -563,14 +563,15 @@ static int unauth_sessions = 0; static int authlimit = DEFAULT_AUTHLIMIT; static int authtimeout = DEFAULT_AUTHTIMEOUT; -/*! \brief Global jitterbuffer configuration - by default, jb is disabled */ +/*! \brief Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in sip.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; /*!< Global jitterbuffer configuration */ @@ -17286,11 +17287,16 @@ static char *sip_show_settings(struct ast_cli_entry *e, int cmd, struct ast_cli_ ast_cli(a->fd, " 802.1p CoS RTP video: %d\n", global_cos_video); ast_cli(a->fd, " 802.1p CoS RTP text: %d\n", global_cos_text); ast_cli(a->fd, " Jitterbuffer enabled: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_ENABLED))); - ast_cli(a->fd, " Jitterbuffer forced: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_FORCED))); - ast_cli(a->fd, " Jitterbuffer max size: %ld\n", global_jbconf.max_size); - ast_cli(a->fd, " Jitterbuffer resync: %ld\n", global_jbconf.resync_threshold); - ast_cli(a->fd, " Jitterbuffer impl: %s\n", global_jbconf.impl); - ast_cli(a->fd, " Jitterbuffer log: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_LOG))); + if (ast_test_flag(&global_jbconf, AST_JB_ENABLED)) { + ast_cli(a->fd, " Jitterbuffer forced: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_FORCED))); + ast_cli(a->fd, " Jitterbuffer max size: %ld\n", global_jbconf.max_size); + ast_cli(a->fd, " Jitterbuffer resync: %ld\n", global_jbconf.resync_threshold); + ast_cli(a->fd, " Jitterbuffer impl: %s\n", global_jbconf.impl); + if (!strcasecmp(global_jbconf.impl, "adaptive")) { + ast_cli(a->fd, " Jitterbuffer tgt extra: %ld\n", global_jbconf.target_extra); + } + ast_cli(a->fd, " Jitterbuffer log: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_LOG))); + } ast_cli(a->fd, "\nNetwork Settings:\n"); ast_cli(a->fd, "---------------------------\n"); diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index d8e399741b..bde057fb88 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -219,14 +219,15 @@ static char version_id[16] = "P002F202"; #endif #endif -/*! Global jitterbuffer configuration - by default, jb is disabled */ +/*! Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in skinny.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; @@ -1357,15 +1358,6 @@ static struct skinny_device_options *default_device = &default_device_struct; static AST_LIST_HEAD_STATIC(devices, skinny_device); -/*static struct ast_jb_conf default_jbconf = -{ - .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "" -}; -static struct ast_jb_conf global_jbconf;*/ - struct skinnysession { pthread_t t; ast_mutex_t lock; @@ -3699,12 +3691,17 @@ static char *handle_skinny_show_settings(struct ast_cli_entry *e, int cmd, struc ast_cli(a->fd, " Date Format: %s\n", date_format); ast_cli(a->fd, " Voice Mail Extension: %s\n", S_OR(global_vmexten, "(not set)")); ast_cli(a->fd, " Reg. context: %s\n", S_OR(regcontext, "(not set)")); - ast_cli(a->fd, " Jitterbuffer enabled: %s\n", (ast_test_flag(&global_jbconf, AST_JB_ENABLED) ? "Yes" : "No")); - ast_cli(a->fd, " Jitterbuffer forced: %s\n", (ast_test_flag(&global_jbconf, AST_JB_FORCED) ? "Yes" : "No")); - ast_cli(a->fd, " Jitterbuffer max size: %ld\n", global_jbconf.max_size); - ast_cli(a->fd, " Jitterbuffer resync: %ld\n", global_jbconf.resync_threshold); - ast_cli(a->fd, " Jitterbuffer impl: %s\n", global_jbconf.impl); - ast_cli(a->fd, " Jitterbuffer log: %s\n", (ast_test_flag(&global_jbconf, AST_JB_LOG) ? "Yes" : "No")); + ast_cli(a->fd, " Jitterbuffer enabled: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_ENABLED))); + if (ast_test_flag(&global_jbconf, AST_JB_ENABLED)) { + ast_cli(a->fd, " Jitterbuffer forced: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_FORCED))); + ast_cli(a->fd, " Jitterbuffer max size: %ld\n", global_jbconf.max_size); + ast_cli(a->fd, " Jitterbuffer resync: %ld\n", global_jbconf.resync_threshold); + ast_cli(a->fd, " Jitterbuffer impl: %s\n", global_jbconf.impl); + if (!strcasecmp(global_jbconf.impl, "adaptive")) { + ast_cli(a->fd, " Jitterbuffer tgt extra: %ld\n", global_jbconf.target_extra); + } + ast_cli(a->fd, " Jitterbuffer log: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_LOG))); + } return CLI_SUCCESS; } diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 509d1de823..a4e6bbb58d 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -186,14 +186,15 @@ static void dummy(char *unused, ...) return; } -/*! \brief Global jitterbuffer configuration - by default, jb is disabled */ +/*! \brief Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in unistim.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/chan_usbradio.c b/channels/chan_usbradio.c index eca7760ab1..8874bf5baa 100644 --- a/channels/chan_usbradio.c +++ b/channels/chan_usbradio.c @@ -187,14 +187,15 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #define EEPROM_TXCTCSSADJ 15 #define EEPROM_RXSQUELCHADJ 16 -/*! Global jitterbuffer configuration - by default, jb is disabled */ +/*! Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in usbradio.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; diff --git a/channels/misdn_config.c b/channels/misdn_config.c index e14f2adee4..23c2c6d80e 100644 --- a/channels/misdn_config.c +++ b/channels/misdn_config.c @@ -47,14 +47,15 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #define NUM_GEN_ELEMENTS (sizeof(gen_spec) / sizeof(struct misdn_cfg_spec)) #define NUM_PORT_ELEMENTS (sizeof(port_spec) / sizeof(struct misdn_cfg_spec)) -/*! Global jitterbuffer configuration - by default, jb is disabled */ +/*! Global jitterbuffer configuration - by default, jb is disabled + * \note Values shown here match the defaults shown in misdn.conf.sample */ static struct ast_jb_conf default_jbconf = { .flags = 0, - .max_size = -1, - .resync_threshold = -1, - .impl = "", - .target_extra = -1, + .max_size = 200, + .resync_threshold = 1000, + .impl = "fixed", + .target_extra = 40, }; static struct ast_jb_conf global_jbconf; -- 2.47.2