Commit Graph

505 Commits

Author SHA1 Message Date
ionutboangiu
02c8ed11c1 Implement support for RADIUS CoA 2024-02-07 18:28:17 +01:00
ionutboangiu
9991b29cae Implement DisconnectSession API for RADIUS Agent
Updated radigo library to latest version.

Updated RadiusAgent to satisfy the birpc client interface.

Added *radDAdiscMsg OrderedNavigableMap type field within AgentRequest.
This one is similar to *diamreq, as it is used for building RADIUS
server-initiated Disconnect Requests.

radReplyAppendAttributes: refactored to reflect that it can now be
used to also append attributes to request packets, not only reply.

Added bidirectional support for session related RadiusAgent methods.

For Dynamic Authorization to be possible, a new field was added within RadiusAgent
that holds dicts and secrets only for the clients that support it. They are used
to create the DA Client sending Disconnect Requests.

Added a new cache partition to store Access-Request packets with the purpose
of using them to build the Disconnect Requests. They are identified by sessionID.
It defaults to the value of 'Acct-Session-id'.

Added a predefined '*dmr' template as well as a 'dmr_template' config option within
the 'radius_agent' config section. This will map to a custom or to the predefined
template and will be used to build the Disconnect Request. By default, it doesn't
point to any template (this also means that the Access-Request packets will not be
cached).

Another option added to 'radius_agent' is 'client_da_addresses', which lists the
RADIUS clients supporting Dynamic Authorization. The key represents the host of
the client, while the value represents the address to which we will send the
Disconnect Request.

Added integration test.
2024-02-07 18:28:17 +01:00
ionutboangiu
36bdc41e97 Add support for kafka ssl encryption
For both poster and reader.
Added integration test.
2024-01-23 14:12:33 +01:00
arberkatellari
d5d873b851 Add caching_delay flag to cgr-loader 2024-01-06 17:15:33 +01:00
ionutboangiu
17fbc2d51b Rename mongoScheme opt to mongoConnScheme 2023-12-12 10:10:26 +01:00
ionutboangiu
24cbe49d90 Add support for mongodb+srv conn format
Option can be found in db opts under the name 'mongoSchema'.
2023-12-11 17:15:40 +01:00
ionutboangiu
1154cad0df Rename max_recursion_depth cfg param to fallback_depth 2023-12-07 17:08:22 +01:00
ionutboangiu
ff53446e41 Make recursion_max_depth a configurable option
Also added an integration test checking the recursion depth functionality.
2023-12-07 17:08:22 +01:00
ionutboangiu
0c91933065 Revise ERs event exporting
Add ees_success_ids and ees_failed_ids fields in reader config. The
former will be used to set EeIDs when the event processing returns
no error, while the latter will be used otherwise.

Add config sanity checks for the added options.

Remove Processed opts and everything related to them since they should
not be used anymore.

Fixed test compilation errors caused by the change.
2023-11-29 16:21:51 +01:00
ionutboangiu
f4e11d8a5a Add ees_conns field option for ERs section 2023-11-29 16:21:51 +01:00
Varun Dhand
5e513d130d fix: typo in rjreader.go 2023-11-09 09:37:34 +01:00
ionutboangiu
f696164177 Add reconnects and max_reconnect_interval config options for ers
They are separate for each configured reader.

Additional changes:
 - rearrange config_defaults fields for ers/ees;
 - add comment for RunDelay config option inside struct definition;
 - improve comments for amqp opts in config_defaults.
2023-11-08 18:31:07 +01:00
arberkatellari
47e75fab13 Update radigo, add multiple folder functionality 2023-10-11 11:18:32 +02:00
DanB
a0a508d667 SessionS - adding stale_chan_max_extra_usage configuration to randomize the usage of stale sessions 2023-10-01 13:32:09 +02:00
ionutboangiu
bac73aa2c6 Migrate to new jetstream API
Updated ees/ers implementation to use the jetstream package which
separates the jetstream context from Core NATS.

Removed the jsOpts fields from the NatsEE struct. We are now using the
jetStreamMaxWait option directly through a timeout context.

Added streamName option for NATS reader since it is now required to be
specified when creating a consumer (it is not inferred based on subject
anymore).

Updated nats ers integration test.

Removed deprecated birpc unit test.

Updated tests to also use the new jetstream package.

Updated tests to start the nats-server using their official driver
instead of using the std go exec package. time.Sleeps are now not
required anymore to wait for the server.

In test configurations for nats readers, made sure that natsStreamName
option is populated. It is now required for consumers to know where to
subscribe.

Fixed potential panic that happened when jetstreamMaxWait option would
not be set.
2023-09-28 20:48:07 +02:00
gezimbll
5e846c792d Fixed naming of configs 2023-07-14 17:24:03 +02:00
gezimbll
2e93354ad1 Added new fields in sentrypeerCfg && implemented fallback loop on unauthorized requests 2023-07-14 17:24:03 +02:00
gezimbll
9af02771fd Added sentrypeer credentials in config && cache partition 2023-07-14 17:24:03 +02:00
gezimbll
2c1f5012fc Updated sentrypeer filter value types 2023-07-14 17:24:03 +02:00
gezimbll
ba20dbe831 Added filter implementation for sentrypeer 2023-07-14 17:24:03 +02:00
arberkatellari
8fb0ab08e3 Implement support for multiple concurrent dnsagents 2023-06-27 11:06:27 +02:00
gezimbll
5eb97906be Implemention for els exporter over https && adding logger type for els exporter requests 2023-06-16 09:58:31 +02:00
gezimbll
fa09ca2f09 Added exporter config for els cloud 2023-06-16 09:58:31 +02:00
gezimbll
764d531beb Added support for additional els features 2023-06-16 09:58:31 +02:00
gezimbll
0e4162328b Added opts for connecing to Els CLoud 2023-06-16 09:58:31 +02:00
gezimbll
f780621625 Add check for els nodes in config 2023-06-16 09:58:31 +02:00
ionutboangiu
6c16ff320f Replace interface{} with any 2023-05-31 10:23:12 +02:00
ionutboangiu
25e08ebe79 Add options for SASL PLAIN auth (amqp 1.0) 2023-02-22 18:20:33 +01:00
ionutboangiu
3dfdf103ad Finish porting dispatcher updates from 1.0 2022-09-25 12:17:37 +02:00
ionutboangiu
895c140209 Port dispatcher changes from 1.0 to v0.11 2022-09-25 12:17:37 +02:00
ionutboangiu
62e878574e Solve the remaining compilation errors and replace SSLMode with PgSSLMode 2022-07-12 17:59:09 +02:00
ionutboangiu
aaea87eb33 Make data and stordb opts into structs 2022-07-12 17:59:09 +02:00
ionutboangiu
f495a10c3b Remove json tags and rename the new option to be consistent with the others 2022-05-28 09:50:01 +02:00
ionutboangiu
7f5d9c88e5 Add json tags for MaxReconn option from jsnCfg structs 2022-05-28 09:50:01 +02:00
ionutboangiu
ec7d1d3ebc Add max_reconnect_interval for generalcfg 2022-05-28 09:50:01 +02:00
ionutboangiu
d3fb55fedb Add max_reconnect_interval option for rpc conns 2022-05-28 09:50:01 +02:00
ionutboangiu
b45f5d3752 Add max_reconnect_interval option for KamConn config 2022-05-28 09:50:01 +02:00
ionutboangiu
0389a6df30 Add max_reconnect_interval option for AsteriskConn config 2022-05-28 09:50:01 +02:00
ionutboangiu
5144febe20 Add max_reconnect_interval option for fsConn config 2022-05-28 09:50:01 +02:00
ionutboangiu
3471d868b6 Add rpcAPIOpts in ees cfg and change PrepareMap structure 2022-02-24 21:29:19 +01:00
ionutboangiu
14dfda53be Implement rpc exporter 2022-01-19 19:55:29 +01:00
porosnicuadrian
f204d474bd Added DSN params for sql exporter and storDB 2022-01-12 11:56:29 +01:00
ionutboangiu
38447e9229 Make ers opts as struct and fix compilation errors 2021-11-29 20:57:39 +01:00
ionutboangiu
40eb832060 Fix all compilation errors related to ers after making ees opts of type struct 2021-11-29 20:57:39 +01:00
ionutboangiu
aa0ae292a2 Make ees and ers opts into structs (incomplete) 2021-11-29 20:57:39 +01:00
ionutboangiu
a214c505de Make opts struct instead of map[string]interface{} for http 2021-11-22 11:15:45 +01:00
ionutboangiu
1901be0485 Add opts for the routes subsystem 2021-11-15 20:37:38 +01:00
ionutboangiu
89782f8bdb Add opts for resources and fix compilation errors 2021-11-11 12:22:41 +02:00
ionutboangiu
777580a06e Add opts field for thresholds cfg struct and use the CGREvent instead of the ArgsProcessEvent struct 2021-11-05 21:15:50 +02:00
ionutboangiu
810f5ceedc Add opts field for stats cfg struct 2021-11-04 20:08:29 +02:00