From bc4114c24cd7ebd8d68915d7708d6bc2383cc89f Mon Sep 17 00:00:00 2001 From: Oleksandr Gershkul Date: Sat, 2 Mar 2024 16:21:38 +0200 Subject: [PATCH] Move "Late Offer Answer Mode" parameter setting from configuration file to the application command --- pjsip-apps/src/pjsua/pjsua_app_config.c | 13 +------------ pjsip-apps/src/pjsua/pjsua_app_legacy.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/pjsip-apps/src/pjsua/pjsua_app_config.c b/pjsip-apps/src/pjsua/pjsua_app_config.c index 07dae8d22..76825a1bf 100644 --- a/pjsip-apps/src/pjsua/pjsua_app_config.c +++ b/pjsip-apps/src/pjsua/pjsua_app_config.c @@ -95,7 +95,6 @@ static void usage(void) #endif puts (" --set-qos Enable QoS tagging for SIP and media."); puts (" --no-mci Disable message composition indication (RFC 3994)"); - puts (" --set-loam Enable Late offer answer model"); puts (" --local-port=port Set TCP/UDP port. This implicitly enables both "); puts (" TCP and UDP transports on the specified port, unless"); puts (" if TCP or UDP is disabled."); @@ -394,8 +393,7 @@ static pj_status_t parse_args(int argc, char *argv[], OPT_TLS_NEG_TIMEOUT, OPT_TLS_CIPHER, OPT_CAPTURE_DEV, OPT_PLAYBACK_DEV, OPT_CAPTURE_LAT, OPT_PLAYBACK_LAT, OPT_NO_TONES, OPT_JB_MAX_SIZE, - OPT_STDOUT_REFRESH, OPT_STDOUT_REFRESH_TEXT, OPT_IPV6, OPT_QOS, - OPT_MCI, OPT_LOAM, + OPT_STDOUT_REFRESH, OPT_STDOUT_REFRESH_TEXT, OPT_IPV6, OPT_QOS, OPT_MCI, #ifdef _IONBF OPT_STDOUT_NO_BUF, #endif @@ -537,7 +535,6 @@ static pj_status_t parse_args(int argc, char *argv[], #endif { "set-qos", 0, 0, OPT_QOS}, { "no-mci", 0, 0, OPT_MCI}, - { "set-loam", 0, 0, OPT_LOAM}, { "use-timer", 1, 0, OPT_TIMER}, { "timer-se", 1, 0, OPT_TIMER_SE}, { "timer-min-se", 1, 0, OPT_TIMER_MIN_SE}, @@ -1474,9 +1471,6 @@ static pj_status_t parse_args(int argc, char *argv[], case OPT_MCI: cfg->no_mci = PJ_TRUE; break; - case OPT_LOAM: - cfg->enable_loam = PJ_TRUE; - break; case OPT_VIDEO: cfg->vid.vid_cnt = 1; cfg->vid.in_auto_show = PJ_TRUE; @@ -1995,11 +1989,6 @@ int write_settings(pjsua_app_config *config, char *buf, pj_size_t max) pj_strcat2(&cfg, "--no-mci\n"); } - /* Late Offer Answer Model */ - if (config->enable_loam) { - pj_strcat2(&cfg, "--set-loam\n"); - } - /* UDP Transport. */ pj_ansi_snprintf(line, sizeof(line), "--local-port %d\n", config->udp_cfg.port); diff --git a/pjsip-apps/src/pjsua/pjsua_app_legacy.c b/pjsip-apps/src/pjsua/pjsua_app_legacy.c index 079aadedb..946e40d61 100644 --- a/pjsip-apps/src/pjsua/pjsua_app_legacy.c +++ b/pjsip-apps/src/pjsua/pjsua_app_legacy.c @@ -248,6 +248,8 @@ static void keystroke_help() puts("| dq Dump curr. call quality | cd Disconnect port | dc Dump config |"); puts("| | V Adjust audio Volume | f Save config |"); puts("| S Send arbitrary REQUEST | Cp Codec priorities | |"); + puts("| +l Set Late Offer Answer Mode | | |"); + puts("| -l Unset Late Offer Answer Mode | | |"); puts("+-----------------------------------------------------------------------------+"); #if PJSUA_HAS_VIDEO puts("| Video: \"vid help\" for more info |"); @@ -1088,6 +1090,11 @@ static void ui_delete_account() } } +static void ui_unset_loam_mode() +{ + app_config.enable_loam = PJ_FALSE; +} + static void ui_call_hold() { if (current_call != -1) { @@ -1453,6 +1460,11 @@ static void ui_send_arbitrary_request() } } +static void ui_set_loam_mode() +{ + app_config.enable_loam = PJ_TRUE; +} + static void ui_echo(char menuin[]) { if (pj_ansi_strnicmp(menuin, "echo", 4)==0) { @@ -1930,6 +1942,8 @@ void legacy_main(void) ui_add_buddy(); } else if (menuin[1] == 'a') { ui_add_account(&app_config.rtp_cfg); + } else if (menuin[1] == 'l') { + ui_set_loam_mode(); } else { printf("Invalid input %s\n", menuin); } @@ -1940,6 +1954,8 @@ void legacy_main(void) ui_delete_buddy(); } else if (menuin[1] == 'a') { ui_delete_account(); + } else if (menuin[1] == 'l') { + ui_unset_loam_mode(); } else { printf("Invalid input %s\n", menuin); }