[sr-dev] git:master:4c481dc9: dispatcher: new rpc command dispatcher.oclist
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
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
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]
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