[sr-dev] git:master:4c481dc9: dispatcher: new rpc command dispatcher.oclist

2024-08-06 Thread Daniel-Constantin Mierla via sr-dev
Module: kamailio
Branch: master
Commit: 4c481dc95338d9bb814730d3d4f84ce9670a0ed0
URL: 
https://github.com/kamailio/kamailio/commit/4c481dc95338d9bb814730d3d4f84ce9670a0ed0

Author: Daniel-Constantin Mierla 
Committer: Daniel-Constantin Mierla 
Date: 2024-08-06T10:16:04+02:00

dispatcher: new rpc command dispatcher.oclist

- list overload control attributes for a specific dispatcher group

---

Modified: src/modules/dispatcher/dispatcher.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/4c481dc95338d9bb814730d3d4f84ce9670a0ed0.diff
Patch: 
https://github.com/kamailio/kamailio/commit/4c481dc95338d9bb814730d3d4f84ce9670a0ed0.patch

---

diff --git a/src/modules/dispatcher/dispatcher.c 
b/src/modules/dispatcher/dispatcher.c
index 831bfef7e1a..4eefbff1ce3 100644
--- a/src/modules/dispatcher/dispatcher.c
+++ b/src/modules/dispatcher/dispatcher.c
@@ -2253,6 +2253,53 @@ static void dispatcher_rpc_hash(rpc_t *rpc, void *ctx)
return;
 }
 
+static const char *dispatcher_rpc_oclist_doc[2] = {
+   "List overload control details for a group", 0};
+
+/*
+ * RPC command to set the state of a destination address
+ */
+static void dispatcher_rpc_oclist(rpc_t *rpc, void *ctx)
+{
+   int group = 0;
+   int i = 0;
+   ds_set_t *node = NULL;
+   void *th = NULL;
+
+   if(rpc->scan(ctx, "d", &group) != 1) {
+   rpc->fault(ctx, 500, "Invalid Parameters");
+   return;
+   }
+
+   /* get the index of the set */
+   node = ds_list_lookup(group);
+   if(node == NULL) {
+   LM_ERR("destination set [%d] not found\n", group);
+   rpc->fault(ctx, 404, "Destination Group Not Found");
+   return;
+   }
+
+   for(i = 0; i < node->nr; i++) {
+   /* add entry node */
+   if(rpc->add(ctx, "{", &th) < 0) {
+   rpc->fault(ctx, 500, "Internal error root reply");
+   return;
+   }
+   if(rpc->struct_add(th, "dSduuujjuu", "group", group, "uri",
+  &node->dlist[i].uri, "flags", 
node->dlist[i].flags, "ocrate",
+  node->dlist[i].attrs.ocrate, "ocidx", 
node->dlist[i].ocidx,
+  "ocseq", node->dlist[i].ocseq, "octime_sec",
+  (unsigned long)node->dlist[i].octime.tv_sec, 
"octime_usec",
+  (unsigned 
long)node->dlist[i].octime.tv_usec, "ocmin",
+  node->dlist[i].attrs.ocmin, "ocmax",
+  node->dlist[i].attrs.ocmax)
+   < 0) {
+   rpc->fault(ctx, 500, "Internal error main structure");
+   return;
+   }
+   }
+}
+
 /* clang-format off */
 rpc_export_t dispatcher_rpc_cmds[] = {
{"dispatcher.reload", dispatcher_rpc_reload,
@@ -2271,6 +2318,8 @@ rpc_export_t dispatcher_rpc_cmds[] = {
dispatcher_rpc_remove_doc, 0},
{"dispatcher.hash",   dispatcher_rpc_hash,
dispatcher_rpc_hash_doc, 0},
+   {"dispatcher.oclist", dispatcher_rpc_oclist,
+   dispatcher_rpc_oclist_doc, RPC_RET_ARRAY},
{0, 0, 0, 0}
 };
 /* clang-format on */

___
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org


[sr-dev] git:master:583ab9f2: dispatcher: variables declared at beginning of block

2024-08-06 Thread Daniel-Constantin Mierla via sr-dev
Module: kamailio
Branch: master
Commit: 583ab9f29cd7d5c472de2e12087a4c619bc1897f
URL: 
https://github.com/kamailio/kamailio/commit/583ab9f29cd7d5c472de2e12087a4c619bc1897f

Author: Daniel-Constantin Mierla 
Committer: Daniel-Constantin Mierla 
Date: 2024-08-06T10:23:27+02:00

dispatcher: variables declared at beginning of block

---

Modified: src/modules/dispatcher/dispatcher.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/583ab9f29cd7d5c472de2e12087a4c619bc1897f.diff
Patch: 
https://github.com/kamailio/kamailio/commit/583ab9f29cd7d5c472de2e12087a4c619bc1897f.patch

---

diff --git a/src/modules/dispatcher/dispatcher.c 
b/src/modules/dispatcher/dispatcher.c
index 4eefbff1ce3..42fb1e45d68 100644
--- a/src/modules/dispatcher/dispatcher.c
+++ b/src/modules/dispatcher/dispatcher.c
@@ -1962,6 +1962,8 @@ static void dispatcher_rpc_list(rpc_t *rpc, void *ctx)
int n;
str smode;
int vmode = DS_RPC_PRINT_NORMAL;
+   ds_set_t *dslist = NULL;
+   int dslistnr = 0;
 
n = rpc->scan(ctx, "*S", &smode);
if(n == 1) {
@@ -1972,8 +1974,8 @@ static void dispatcher_rpc_list(rpc_t *rpc, void *ctx)
}
}
 
-   ds_set_t *dslist = ds_get_list();
-   int dslistnr = ds_get_list_nr();
+   dslist = ds_get_list();
+   dslistnr = ds_get_list_nr();
 
if(dslist == NULL || dslistnr <= 0) {
LM_DBG("no destination sets\n");

___
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org


[sr-dev] git:master:1a56ff54: dispatcher: docs for dispatcher.oclist rpc command

2024-08-06 Thread Daniel-Constantin Mierla via sr-dev
Module: kamailio
Branch: master
Commit: 1a56ff54ec1898b8bbc2aae4ab5f4b19eff6ecf5
URL: 
https://github.com/kamailio/kamailio/commit/1a56ff54ec1898b8bbc2aae4ab5f4b19eff6ecf5

Author: Daniel-Constantin Mierla 
Committer: Daniel-Constantin Mierla 
Date: 2024-08-06T11:03:41+02:00

dispatcher: docs for dispatcher.oclist rpc command

---

Modified: src/modules/dispatcher/doc/dispatcher_admin.xml

---

Diff:  
https://github.com/kamailio/kamailio/commit/1a56ff54ec1898b8bbc2aae4ab5f4b19eff6ecf5.diff
Patch: 
https://github.com/kamailio/kamailio/commit/1a56ff54ec1898b8bbc2aae4ab5f4b19eff6ecf5.patch

---

diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml 
b/src/modules/dispatcher/doc/dispatcher_admin.xml
index a17e87f68e7..81d5b19cd00 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -2334,6 +2334,30 @@ DEST: {
 kamctl rpc dispatcher.hash 0 alice server.com
 kamctl rpc dispatcher.hash 4 bob server.com
 ...
+
+
+   
+   
+   dispatcher.oclist
+   
+   
+   List the overload control attributes for the records in a 
specific group.
+   
+   
+   Name: dispatcher.oclist
+   
+   Parameters:
+   
+   _group_: destination group 
id
+   
+   
+   Example:
+   
+
+...
+# prototype: kamcli dispatcher.oclist _group_
+kamcli dispatcher.oclist 1
+...
 
 
 

___
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org


[sr-dev] git:master:398c40ab: modules: readme files regenerated - dispatcher ... [skip ci]

2024-08-06 Thread Kamailio Dev via sr-dev
Module: kamailio
Branch: master
Commit: 398c40ab7969e738ac92abc8b9c8c557b25ef533
URL: 
https://github.com/kamailio/kamailio/commit/398c40ab7969e738ac92abc8b9c8c557b25ef533

Author: Kamailio Dev 
Committer: Kamailio Dev 
Date: 2024-08-06T11:16:10+02:00

modules: readme files regenerated - dispatcher ... [skip ci]

---

Modified: src/modules/dispatcher/README

---

Diff:  
https://github.com/kamailio/kamailio/commit/398c40ab7969e738ac92abc8b9c8c557b25ef533.diff
Patch: 
https://github.com/kamailio/kamailio/commit/398c40ab7969e738ac92abc8b9c8c557b25ef533.patch

---

diff --git a/src/modules/dispatcher/README b/src/modules/dispatcher/README
index 16c10332df7..2a6148504db 100644
--- a/src/modules/dispatcher/README
+++ b/src/modules/dispatcher/README
@@ -134,6 +134,7 @@ Federico Cabiddu
   5.6. dispatcher.add
   5.7. dispatcher.remove
   5.8. dispatcher.hash
+  5.9. dispatcher.oclist
 
 6. Installation and Running
 
@@ -303,6 +304,7 @@ Chapter 1. Admin Guide
 5.6. dispatcher.add
 5.7. dispatcher.remove
 5.8. dispatcher.hash
+5.9. dispatcher.oclist
 
6. Installation and Running
 
@@ -1672,6 +1674,7 @@ onreply_route {
5.6. dispatcher.add
5.7. dispatcher.remove
5.8. dispatcher.hash
+   5.9. dispatcher.oclist
 
 5.1.  dispatcher.set_state
 
@@ -1852,6 +1855,22 @@ kamctl rpc dispatcher.hash 0 alice server.com
 kamctl rpc dispatcher.hash 4 bob server.com
 ...
 
+5.9.  dispatcher.oclist
+
+   List the overload control attributes for the records in a specific
+   group.
+
+   Name: dispatcher.oclist
+
+   Parameters:
+ * _group_: destination group id
+
+   Example:
+...
+# prototype: kamcli dispatcher.oclist _group_
+kamcli dispatcher.oclist 1
+...
+
 6. Installation and Running
 
6.1. Destination List File

___
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org