Przeglądaj źródła

kamctl: add 2 new options to dispatcher management (#3512)

*kamctl: add support for deleting a gateway or full setid in dispatcher.

* kamctl: small style fix to help screen after previous change

---------

Co-authored-by: Nir Simionovich <[email protected]>
Nir Simionovich 2 lat temu
rodzic
commit
f68a1e9c9f
2 zmienionych plików z 36 dodań i 0 usunięć
  1. 34 0
      utils/kamctl/kamctl
  2. 2 0
      utils/kamctl/kamctl.base

+ 34 - 0
utils/kamctl/kamctl

@@ -1756,6 +1756,40 @@ dispatcher() {
 			fi
 
 			;;
+	  rmip)
+			require_dbengine
+			shift
+			if [ $# -ne 2 ] ; then
+				merr "missing gateway ip address and/or setid to be removed"
+				exit 1
+			fi
+
+			QUERY="delete from $DISPATCHER_TABLE where $DISPATCHER_SETID_COLUMN='$2' and $DISPATCHER_DESTINATION_COLUMN like 'sip:$1:%';"
+			$DBCMD "$QUERY"
+
+			if [ $? -ne 0 ] ; then
+				merr "dispatcher - SQL Error"
+				exit 1
+			fi
+
+	    ;;
+	  rmset)
+			require_dbengine
+			shift
+			if [ $# -ne 2 ] ; then
+				merr "missing gateway setid to be removed"
+				exit 1
+			fi
+
+			QUERY="delete from $DISPATCHER_TABLE where $DISPATCHER_SETID_COLUMN='$1'' and $DISPATCHER_DESTINATION_COLUMN like 'sip:$1:%'';"
+			$DBCMD "$QUERY"
+
+			if [ $? -ne 0 ] ; then
+				merr "dispatcher - SQL Error"
+				exit 1
+			fi
+
+	    ;;
 		reload)
 			require_ctlengine
 			ctl_cmd_run dispatcher.reload

+ 2 - 0
utils/kamctl/kamctl.base

@@ -512,6 +512,8 @@ cat <<EOF
  dispatcher add <setid> <destination> [flags] [priority] [attrs] [description]
             .......................... add gateway
  dispatcher rm <id> .................. delete gateway
+ dispatcher rmip <ip> <setid>......... delete gateway <ip> in <setid>
+ dispatcher rmset <setid> ............. delete all gateways in <setid>
 EOF
 }
 USAGE_FUNCTIONS="$USAGE_FUNCTIONS usage_dispatcher"