diff options
Diffstat (limited to 'modules/menu/menu.c')
-rw-r--r-- | modules/menu/menu.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/modules/menu/menu.c b/modules/menu/menu.c index c7f1646..aab9661 100644 --- a/modules/menu/menu.c +++ b/modules/menu/menu.c @@ -774,6 +774,27 @@ static int set_current_call(struct re_printf *pf, void *arg) } +static int set_audio_bitrate(struct re_printf *pf, void *arg) +{ + struct cmd_arg *carg = arg; + struct call *call; + uint32_t bitrate = atoi(carg->prm); + int err; + + call = ua_call(uag_cur()); + if (call) { + err = re_hprintf(pf, "setting audio bitrate: %u bps\n", + bitrate); + audio_set_bitrate(call_audio(call), bitrate); + } + else { + err = re_hprintf(pf, "call not found\n"); + } + + return err; +} + + static const struct cmd callcmdv[] = { {"reinvite", 'I', 0, "Send re-INVITE", call_reinvite }, {"resume", 'X', 0, "Call resume", cmd_call_resume }, @@ -784,6 +805,7 @@ static const struct cmd callcmdv[] = { {"hold", 'x', 0, "Call hold", cmd_call_hold }, {"", 'H', 0, "Hold previous call", hold_prev_call }, {"", 'L', 0, "Resume previous call",hold_prev_call }, +{"aubitrate", 0, CMD_PRM, "Set audio bitrate", set_audio_bitrate }, #ifdef USE_VIDEO {"video_cycle", 'E', 0, "Cycle video encoder", call_videoenc_cycle }, @@ -1108,7 +1130,13 @@ static int module_init(void) start_ticks = tmr_jiffies(); tmr_init(&tmr_alert); - statmode = STATMODE_CALL; + if (0 == conf_get(conf_cur(), "statmode_default", &val) && + 0 == pl_strcasecmp(&val, "off")) { + statmode = STATMODE_OFF; + } + else { + statmode = STATMODE_CALL; + } err = cmd_register(baresip_commands(), cmdv, ARRAY_SIZE(cmdv)); err |= cmd_register(baresip_commands(), dialcmdv, |