diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-12-29 23:06:22 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-12-30 17:11:46 +0100 |
commit | d2a28026c152985e571ee157ac8f3dafd18649f4 (patch) | |
tree | 11fc4e3c2195a0389c046084863a9b99b92434ad /openbsc/src/vty_interface_layer3.c | |
parent | 2c1a26adb55d6c0f7e2203b186873ba73fb03425 (diff) |
smscb: Prepare to fill in the info for CBCH in SI4laforge/27c3
Pass the number of bytes the rest octet for si4 should
fill. We will need to include info for CBCH in our SI4.
WIP: SMSCB... this should reuse the lchan2desc if it works...
smscb: Add vty command for experimentation...
Diffstat (limited to 'openbsc/src/vty_interface_layer3.c')
-rw-r--r-- | openbsc/src/vty_interface_layer3.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c index 218e3ce58..b6382ded8 100644 --- a/openbsc/src/vty_interface_layer3.c +++ b/openbsc/src/vty_interface_layer3.c @@ -798,7 +798,34 @@ DEFUN(ussd_dump, return CMD_SUCCESS; } +DEFUN(smscb, + smscb_cmd, + "smscb-command <0-255> <0-255> HEX", + "Send SMSCB\n" "BTS Nr\n" "CB Cmd Type\n" "Message\n") +{ + uint8_t hex[86]; + struct gsm_network *network; + struct gsm_bts *bts; + int rc; + + network = gsmnet_from_vty(vty); + bts = gsm_bts_num(network, atoi(argv[0])); + if (!bts) { + vty_out(vty, "BTS %d was not found.%s", atoi(argv[0]), VTY_NEWLINE); + return CMD_WARNING; + } + + rc = hexparse(argv[2], hex, sizeof(hex)); + if (rc < 0) { + vty_out(vty, "Parsing the message failed.\n"); + return CMD_WARNING; + } + /* check channel config */ + rsl_sms_cb_command(bts, RSL_CHAN_SDCCH4_ACCH, atoi(argv[1]), + hex, rc); + return CMD_SUCCESS; +} int bsc_vty_init_extra(void) { @@ -834,6 +861,7 @@ int bsc_vty_init_extra(void) install_element(ENABLE_NODE, &ussd_add_cmd); install_element(ENABLE_NODE, &ussd_clear_cmd); install_element(ENABLE_NODE, &ussd_dump_cmd); + install_element(ENABLE_NODE, &smscb_cmd); return 0; } |