fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/osmocom-bb/+/34760?usp=email )

Change subject: mobile: separate 'call MS_NAME NUMBER' command
......................................................................

mobile: separate 'call MS_NAME NUMBER' command

This will allow us adding an optional switch for data calls.

Change-Id: I5d2332df09a81cb0747ecd9d95351ab59f99358e
Related: OS#4396
---
M src/host/layer23/src/mobile/vty_interface.c
1 file changed, 55 insertions(+), 17 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  Jenkins Builder: Verified
  jolly: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved




diff --git a/src/host/layer23/src/mobile/vty_interface.c 
b/src/host/layer23/src/mobile/vty_interface.c
index ea355b3..b8f2692 100644
--- a/src/host/layer23/src/mobile/vty_interface.c
+++ b/src/host/layer23/src/mobile/vty_interface.c
@@ -488,15 +488,51 @@
        return CMD_SUCCESS;
 }

-DEFUN(call, call_cmd, "call MS_NAME (NUMBER|emergency|answer|hangup|hold)",
-       "Make a call\nName of MS (see \"show ms\")\nPhone number to call "
-       "(Use digits '0123456789*#abc', and '+' to dial international)\n"
+DEFUN(call_num, call_num_cmd, "call MS_NAME NUMBER",
+       "Make a call\nName of MS (see \"show ms\")\n"
+       "Phone number to call "
+       "(Use digits '0123456789*#abc', and '+' to dial international)\n")
+{
+       struct osmocom_ms *ms;
+       struct gsm_settings *set;
+       struct gsm_settings_abbrev *abbrev;
+       const char *number;
+
+       ms = l23_vty_get_ms(argv[0], vty);
+       if (!ms)
+               return CMD_WARNING;
+       set = &ms->settings;
+
+       if (set->ch_cap == GSM_CAP_SDCCH) {
+               vty_out(vty, "Basic call is not supported for SDCCH only "
+                       "mobile%s", VTY_NEWLINE);
+               return CMD_WARNING;
+       }
+
+       number = argv[1];
+       llist_for_each_entry(abbrev, &set->abbrev, list) {
+               if (!strcmp(number, abbrev->abbrev)) {
+                       number = abbrev->number;
+                       vty_out(vty, "Dialing number '%s'%s", number,
+                               VTY_NEWLINE);
+                       break;
+               }
+       }
+
+       if (vty_check_number(vty, number))
+               return CMD_WARNING;
+       mncc_call(ms, number);
+
+       return CMD_SUCCESS;
+}
+
+DEFUN(call, call_cmd, "call MS_NAME (emergency|answer|hangup|hold)",
+       "Make a call\nName of MS (see \"show ms\")\n"
        "Make an emergency call\nAnswer an incoming call\nHangup a call\n"
        "Hold current active call\n")
 {
        struct osmocom_ms *ms;
        struct gsm_settings *set;
-       struct gsm_settings_abbrev *abbrev;
        const char *number;

        ms = l23_vty_get_ms(argv[0], vty);
@@ -519,19 +555,8 @@
                mncc_hangup(ms);
        else if (!strcmp(number, "hold"))
                mncc_hold(ms);
-       else {
-               llist_for_each_entry(abbrev, &set->abbrev, list) {
-                       if (!strcmp(number, abbrev->abbrev)) {
-                               number = abbrev->number;
-                               vty_out(vty, "Dialing number '%s'%s", number,
-                                       VTY_NEWLINE);
-                               break;
-                       }
-               }
-               if (vty_check_number(vty, number))
-                       return CMD_WARNING;
-               mncc_call(ms, number);
-       }
+       else /* shall not happen */
+               OSMO_ASSERT(0);

        return CMD_SUCCESS;
 }
@@ -2506,6 +2531,7 @@
        install_element(ENABLE_NODE, &network_search_cmd);
        install_element(ENABLE_NODE, &network_show_cmd);
        install_element(ENABLE_NODE, &network_select_cmd);
+       install_element(ENABLE_NODE, &call_num_cmd);
        install_element(ENABLE_NODE, &call_cmd);
        install_element(ENABLE_NODE, &call_retr_cmd);
        install_element(ENABLE_NODE, &call_dtmf_cmd);

--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34760?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I5d2332df09a81cb0747ecd9d95351ab59f99358e
Gerrit-Change-Number: 34760
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: jolly <andr...@eversberg.eu>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to