sip-router
4 years agocore: allow event_route blocks to run ONEVENT_ROUTE|REQUEST_ROUTE functions
Daniel-Constantin Mierla [Tue, 18 Jul 2017 14:44:47 +0000 (16:44 +0200)]
core: allow event_route blocks to run ONEVENT_ROUTE|REQUEST_ROUTE functions

- preserve compatibility with old behaviour that allowed REQUEST_ROUTE
  functions to be used inside event_route

4 years agopkg/kamailio/deb: version set to 5.1.0-dev5
Victor Seva [Tue, 18 Jul 2017 14:40:54 +0000 (16:40 +0200)]
pkg/kamailio/deb: version set to 5.1.0-dev5

4 years agoMakefile.defs: version set to 5.1.0-dev5
Daniel-Constantin Mierla [Tue, 18 Jul 2017 14:07:03 +0000 (16:07 +0200)]
Makefile.defs: version set to 5.1.0-dev5

4 years agoauth_db: use the dedicated return types to avoid mixing values in int vars
Daniel-Constantin Mierla [Tue, 18 Jul 2017 13:59:57 +0000 (15:59 +0200)]
auth_db: use the dedicated return types to avoid mixing values in int vars

4 years agoauth: use the dedicated types for return codes instead of generic int
Daniel-Constantin Mierla [Tue, 18 Jul 2017 13:53:50 +0000 (15:53 +0200)]
auth: use the dedicated types for return codes instead of generic int

4 years agosiputils: log messages for error cases
Daniel-Constantin Mierla [Tue, 18 Jul 2017 13:32:32 +0000 (15:32 +0200)]
siputils: log messages for error cases

4 years agocore: defined EVENT_ROUTE as (REQUEST_ROUTE|ONEVENT_ROUTE)
Daniel-Constantin Mierla [Tue, 18 Jul 2017 13:02:23 +0000 (15:02 +0200)]
core: defined EVENT_ROUTE as (REQUEST_ROUTE|ONEVENT_ROUTE)

- ONEVENT_ROUTE is (1<<9)
- should allow diferentiating between REQUEST_ROUTE and EVENT_ROUTE
  blocks execution

4 years agotm: small cleanups for sane rutime handling
Daniel-Constantin Mierla [Tue, 18 Jul 2017 12:54:23 +0000 (14:54 +0200)]
tm: small cleanups for sane rutime handling

4 years agocore: pt - check to avoid two times closing unneeded sockets
Daniel-Constantin Mierla [Tue, 18 Jul 2017 07:11:12 +0000 (09:11 +0200)]
core: pt - check to avoid two times closing unneeded sockets

4 years agocore: kemi - define the size for printing params signature in help msg
Daniel-Constantin Mierla [Tue, 18 Jul 2017 07:10:11 +0000 (09:10 +0200)]
core: kemi - define the size for printing params signature in help msg

4 years agocore: dns - safety checks for port and proto pointers
Daniel-Constantin Mierla [Tue, 18 Jul 2017 07:09:29 +0000 (09:09 +0200)]
core: dns - safety checks for port and proto pointers

4 years agocore: daemonize - proper chown for pgid file instead of pid file
Daniel-Constantin Mierla [Tue, 18 Jul 2017 07:08:14 +0000 (09:08 +0200)]
core: daemonize - proper chown for pgid file instead of pid file

4 years agocore: cfg ctx - catch condition when there are no changes to be committed
Daniel-Constantin Mierla [Tue, 18 Jul 2017 07:07:18 +0000 (09:07 +0200)]
core: cfg ctx - catch condition when there are no changes to be committed

4 years agocore: locking - rec lock init condition fixed
Daniel-Constantin Mierla [Tue, 18 Jul 2017 06:24:15 +0000 (08:24 +0200)]
core: locking - rec lock init condition fixed

4 years agocore: tcp read - set own handling for ECONNRESET
Daniel-Constantin Mierla [Mon, 17 Jul 2017 14:08:45 +0000 (16:08 +0200)]
core: tcp read - set own handling for ECONNRESET

4 years agocore: added log messages in case of errors
Daniel-Constantin Mierla [Mon, 17 Jul 2017 13:55:38 +0000 (15:55 +0200)]
core: added log messages in case of errors

- safer null string termination for description buffers

4 years agocore: msg translator - unified error handling to simplify freeing allocated memory
Daniel-Constantin Mierla [Mon, 17 Jul 2017 13:54:13 +0000 (15:54 +0200)]
core: msg translator - unified error handling to simplify freeing allocated memory

4 years agocore: handle error case also for socket fd 0
Daniel-Constantin Mierla [Mon, 17 Jul 2017 05:55:36 +0000 (07:55 +0200)]
core: handle error case also for socket fd 0

- avoid fd leak warnings by code analyzer

4 years agoapp_python: proper condition to free srcbuf in exception handling
Daniel-Constantin Mierla [Sun, 16 Jul 2017 09:40:16 +0000 (11:40 +0200)]
app_python: proper condition to free srcbuf in exception handling

4 years agoavpops: few more pkg free in case of errors in fixup functions
Daniel-Constantin Mierla [Sun, 16 Jul 2017 09:29:36 +0000 (11:29 +0200)]
avpops: few more pkg free in case of errors in fixup functions

4 years agoavpops: several pkg free in case of errors in fixup functions
Daniel-Constantin Mierla [Sun, 16 Jul 2017 08:08:06 +0000 (10:08 +0200)]
avpops: several pkg free in case of errors in fixup functions

- cleaner pkg usage summary in case of errors at start up

4 years agomodules: readme files regenerated - sdpops ... [skip ci]
Kamailio Dev [Sun, 16 Jul 2017 07:01:26 +0000 (09:01 +0200)]
modules: readme files regenerated - sdpops ... [skip ci]

4 years agosdpops: more details for sdp_with_transport() docs
Daniel-Constantin Mierla [Sun, 16 Jul 2017 06:55:30 +0000 (08:55 +0200)]
sdpops: more details for sdp_with_transport() docs

4 years agoMerge pull request #1187 from grumvalski/sockets_list_fix
Federico Cabiddu [Sat, 15 Jul 2017 12:50:30 +0000 (14:50 +0200)]
Merge pull request #1187 from grumvalski/sockets_list_fix

core: build reply of core.sockets_list as an array

4 years agocore: dns cache condition for both proto ws and wss
Daniel-Constantin Mierla [Sat, 15 Jul 2017 07:25:44 +0000 (09:25 +0200)]
core: dns cache condition for both proto ws and wss

4 years agoauth_xkeys: use the right size when initializing xkeys list
Daniel-Constantin Mierla [Sat, 15 Jul 2017 07:09:04 +0000 (09:09 +0200)]
auth_xkeys: use the right size when initializing xkeys list

4 years agospeeddial: add missing break when handling blob db result type
Daniel-Constantin Mierla [Sat, 15 Jul 2017 07:05:18 +0000 (09:05 +0200)]
speeddial: add missing break when handling blob db result type

4 years agocore: build reply of core.sockets_list as an array 1187/head
grumvalski [Fri, 14 Jul 2017 13:53:41 +0000 (15:53 +0200)]
core: build reply of core.sockets_list as an array

4 years agocnxcc: safety check for credit data search return value
Daniel-Constantin Mierla [Sat, 15 Jul 2017 07:01:38 +0000 (09:01 +0200)]
cnxcc: safety check for credit data search return value

4 years agodb_sqlite: free con in case of error at open time
Daniel-Constantin Mierla [Sat, 15 Jul 2017 06:56:04 +0000 (08:56 +0200)]
db_sqlite: free con in case of error at open time

4 years agoapp_python: several free of allocated vars in case of errors
Daniel-Constantin Mierla [Sat, 15 Jul 2017 06:41:09 +0000 (08:41 +0200)]
app_python: several free of allocated vars in case of errors

4 years agoapp_lua: safer alloc size for hdr operations
Daniel-Constantin Mierla [Fri, 14 Jul 2017 12:40:15 +0000 (14:40 +0200)]
app_lua: safer alloc size for hdr operations

4 years agocfg_rpc: cast void* for set-int to avoid compiler warnings in reset command
Daniel-Constantin Mierla [Fri, 14 Jul 2017 12:33:36 +0000 (14:33 +0200)]
cfg_rpc: cast void* for set-int to avoid compiler warnings in reset command

4 years agocore: cfg ctx - formatting for cfg reset
Daniel-Constantin Mierla [Fri, 14 Jul 2017 12:32:14 +0000 (14:32 +0200)]
core: cfg ctx - formatting for cfg reset

4 years agopdb: avoid unaligned pointer address
Daniel-Constantin Mierla [Fri, 14 Jul 2017 12:25:57 +0000 (14:25 +0200)]
pdb: avoid unaligned pointer address

4 years agocore: set its own id for EVENT_ROUTE
Daniel-Constantin Mierla [Fri, 14 Jul 2017 12:11:14 +0000 (14:11 +0200)]
core: set its own id for EVENT_ROUTE

- having it as alias to REQURST_ROUTE can hide execution of undexpected
  script callbacks

4 years agopua_dialoginfo: fixed condition in mod init checking avp names
Daniel-Constantin Mierla [Fri, 14 Jul 2017 06:21:40 +0000 (08:21 +0200)]
pua_dialoginfo: fixed condition in mod init checking avp names

4 years agohtable: improve some error logs
Ovidiu Sas [Thu, 13 Jul 2017 22:23:43 +0000 (18:23 -0400)]
htable: improve some error logs

4 years agorls: updated CONT_COPYDB() macro definition to use ;
Daniel-Constantin Mierla [Thu, 13 Jul 2017 15:32:14 +0000 (17:32 +0200)]
rls: updated CONT_COPYDB() macro definition to use ;

- the ; is added when using the macro
- otherwise potential unexpected error by usage in expressions

4 years agopua: updates for CONT_COPY() macro
Daniel-Constantin Mierla [Thu, 13 Jul 2017 15:29:35 +0000 (17:29 +0200)]
pua: updates for CONT_COPY() macro

4 years agopresence_xml: ensure that node name lenght is at least 9
Daniel-Constantin Mierla [Thu, 13 Jul 2017 15:19:33 +0000 (17:19 +0200)]
presence_xml: ensure that node name lenght is at least 9

- needs to accomodate 'provide-xyz' inside get_final_notify_body()

4 years agopresence_xml: safety check for lenght of node name in xml transformations
Daniel-Constantin Mierla [Thu, 13 Jul 2017 15:13:46 +0000 (17:13 +0200)]
presence_xml: safety check for lenght of node name in xml transformations

4 years agopresence: wrap error macro in do {} while(0), safety checks
Daniel-Constantin Mierla [Thu, 13 Jul 2017 14:50:05 +0000 (16:50 +0200)]
presence: wrap error macro in do {} while(0), safety checks

- free ws_list pointer when sphere is enabled
- copy macros not ended with ; in definition -- done it when using

4 years agondb_redis: do not free pointers in the array in pv name parse function
Daniel-Constantin Mierla [Thu, 13 Jul 2017 07:32:24 +0000 (09:32 +0200)]
ndb_redis: do not free pointers in the array in pv name parse function

- restore last char in cmd in case of error for redisc_exec()

4 years agolib/srdb1: db_table_version() can handle DB1_BIGINT and DB1_DOUBLE values
Daniel-Constantin Mierla [Thu, 13 Jul 2017 07:03:54 +0000 (09:03 +0200)]
lib/srdb1: db_table_version() can handle DB1_BIGINT and DB1_DOUBLE values

- in case of views or other database engine, the type for version value
  can be different that DB1_INT. If it is a number, cast it to int
- extracted from GH #1186 by Emmanuel Schmidbauer
  <emmanuel@getweave.com>

4 years agodb_postgres: safety checks for new constraint structures
Daniel-Constantin Mierla [Thu, 13 Jul 2017 06:53:39 +0000 (08:53 +0200)]
db_postgres: safety checks for new constraint structures

- bits of code formating

4 years agodb_postgres: added missing break for INT8OID results
Daniel-Constantin Mierla [Thu, 13 Jul 2017 06:49:51 +0000 (08:49 +0200)]
db_postgres: added missing break for INT8OID results

- instead of DB1_BIGINT, the result type ended to be DB1_DOUBLE

4 years agomodules: readme files regenerated - mqueue ... [skip ci]
Kamailio Dev [Wed, 12 Jul 2017 19:01:19 +0000 (21:01 +0200)]
modules: readme files regenerated - mqueue ... [skip ci]

4 years agomqueue: fix typo in documentation
Ovidiu Sas [Wed, 12 Jul 2017 18:56:58 +0000 (14:56 -0400)]
mqueue: fix typo in documentation
 - thanks to Daniel-Constantin Mierla for spotting it

4 years agomodules: readme files regenerated - mqueue ... [skip ci]
Kamailio Dev [Wed, 12 Jul 2017 17:46:16 +0000 (19:46 +0200)]
modules: readme files regenerated - mqueue ... [skip ci]

4 years agomqueue: doc updates for queue size
Ovidiu Sas [Wed, 12 Jul 2017 17:33:45 +0000 (13:33 -0400)]
mqueue: doc updates for queue size

4 years agomodules: readme files regenerated - dialog ... [skip ci]
Kamailio Dev [Wed, 12 Jul 2017 13:16:41 +0000 (15:16 +0200)]
modules: readme files regenerated - dialog ... [skip ci]

4 years agodialog: documented early_dialog and noack_dialog parameters
Daniel-Constantin Mierla [Wed, 12 Jul 2017 13:02:14 +0000 (15:02 +0200)]
dialog: documented early_dialog and noack_dialog parameters

4 years agodialog: new parameters - early_timeout and noack_timeout
Daniel-Constantin Mierla [Wed, 12 Jul 2017 12:53:59 +0000 (14:53 +0200)]
dialog: new parameters - early_timeout and noack_timeout

- early_timeout - set the interval in seconds after which the dialogs in
  early state (not answered yet) are destroyed. Default value is 300.
- noack_timeout - set the interval in seconds after which the dialogs
  that were answered with 200ok but didn't receive the ACK are marked
  for termination (lifetime set to 10 more seconds). Default value 60.

4 years agopv: added transformations for base58
Daniel-Constantin Mierla [Wed, 12 Jul 2017 11:10:36 +0000 (13:10 +0200)]
pv: added transformations for base58

- {s.encode.base58}
- {s.decode.base58}

4 years agocore: added base58 encoding and decoding
Daniel-Constantin Mierla [Wed, 12 Jul 2017 10:59:21 +0000 (12:59 +0200)]
core: added base58 encoding and decoding

4 years agoMerge pull request #1185 from grumvalski/core_rpc_fmt
Federico Cabiddu [Wed, 12 Jul 2017 08:52:25 +0000 (10:52 +0200)]
Merge pull request #1185 from grumvalski/core_rpc_fmt

Adapt some core rpc command to json

4 years agomodules: readme files regenerated - cplc ... [skip ci]
Kamailio Dev [Wed, 12 Jul 2017 08:46:34 +0000 (10:46 +0200)]
modules: readme files regenerated - cplc ... [skip ci]

4 years agocplc: use route names to set proxy_route modparam
Oriol Capsada [Tue, 11 Jul 2017 20:44:16 +0000 (22:44 +0200)]
cplc: use route names to set proxy_route modparam

- Changed proxy_route modparam type to string. The route to be executed
  needs to be defined by name as the current id definition led to some
  unpredictable behavior.

4 years agocore: return aliases list as an array in core.aliases_list 1185/head
grumvalski [Wed, 12 Jul 2017 07:11:16 +0000 (09:11 +0200)]
core: return aliases list as an array in core.aliases_list

4 years agocore: set RET_ARRAY flag for core.sockets_list command
grumvalski [Wed, 12 Jul 2017 07:04:13 +0000 (09:04 +0200)]
core: set RET_ARRAY flag for core.sockets_list command

4 years agoMerge pull request #1183 from athonet-open/xmlrpc-array-value
Daniel-Constantin Mierla [Tue, 11 Jul 2017 13:17:21 +0000 (15:17 +0200)]
Merge pull request #1183 from athonet-open/xmlrpc-array-value

xmlrpc: add <value> tag to array elements

4 years agotopos_redis: implementation for update branch storage function
Daniel-Constantin Mierla [Tue, 11 Jul 2017 13:11:13 +0000 (15:11 +0200)]
topos_redis: implementation for update branch storage function

4 years agotopos: added functions to update branch fields in storage
Daniel-Constantin Mierla [Tue, 11 Jul 2017 12:56:58 +0000 (14:56 +0200)]
topos: added functions to update branch fields in storage

4 years agoims_ocs: Added example database schema
Carsten Bock [Tue, 11 Jul 2017 12:38:53 +0000 (14:38 +0200)]
ims_ocs: Added example database schema

4 years agoxmlrpc: add <value> tag to array elements 1183/head
Alberto Sartori [Tue, 11 Jul 2017 12:09:11 +0000 (14:09 +0200)]
xmlrpc: add <value> tag to array elements

- add call to `add_xmlrpc_reply(reply, &value_prefix)` to  `rpc_array_add` function
- add call to `add_xmlrpc_reply(reply, &value_suffix)` to  `rpc_array_add` function

4 years agokamctl: refreshed db creation scripts for sql databases
Daniel-Constantin Mierla [Tue, 11 Jul 2017 10:36:07 +0000 (12:36 +0200)]
kamctl: refreshed db creation scripts for sql databases

4 years agolib/srdb1: make (setid,url) unique key instead of primary
Daniel-Constantin Mierla [Tue, 11 Jul 2017 10:35:27 +0000 (12:35 +0200)]
lib/srdb1: make (setid,url) unique key instead of primary

- conflicts with autoincrement in mysql

4 years agokamctl: regenerated db creation scripts
Daniel-Constantin Mierla [Tue, 11 Jul 2017 10:28:32 +0000 (12:28 +0200)]
kamctl: regenerated db creation scripts

4 years agolib/srdb1: added autoincrement id column for rtpengine
Daniel-Constantin Mierla [Tue, 11 Jul 2017 10:28:03 +0000 (12:28 +0200)]
lib/srdb1: added autoincrement id column for rtpengine

4 years agotextops: remove hf with regex functions exported to kemi framework
Daniel-Constantin Mierla [Tue, 11 Jul 2017 07:04:39 +0000 (09:04 +0200)]
textops: remove hf with regex functions exported to kemi framework

4 years agomodules: readme files regenerated - cfg_rpc ... [skip ci]
Kamailio Dev [Mon, 10 Jul 2017 17:31:21 +0000 (19:31 +0200)]
modules: readme files regenerated - cfg_rpc ... [skip ci]

4 years agoMerge pull request #1181 from hdikme/master
Daniel-Constantin Mierla [Mon, 10 Jul 2017 17:23:56 +0000 (19:23 +0200)]
Merge pull request #1181 from hdikme/master

configuration reset function (cfg.reset)

4 years agoxlog: free vars in case of errors in fixup functions
Daniel-Constantin Mierla [Mon, 10 Jul 2017 15:08:33 +0000 (17:08 +0200)]
xlog: free vars in case of errors in fixup functions

4 years agotm: several checks for return codes for better error handling
Daniel-Constantin Mierla [Mon, 10 Jul 2017 09:27:47 +0000 (11:27 +0200)]
tm: several checks for return codes for better error handling

4 years agoevapi: close server socket if fnctl() fails
Daniel-Constantin Mierla [Mon, 10 Jul 2017 09:27:12 +0000 (11:27 +0200)]
evapi: close server socket if fnctl() fails

4 years agomodules: readme files regenerated - topos ... [skip ci]
Kamailio Dev [Mon, 10 Jul 2017 08:01:37 +0000 (10:01 +0200)]
modules: readme files regenerated - topos ... [skip ci]

4 years agotopos: Safety check for database storage
Carsten Bock [Mon, 10 Jul 2017 07:57:20 +0000 (09:57 +0200)]
topos: Safety check for database storage

4 years agotopos: Add missing doc for storage parameter
Carsten Bock [Mon, 10 Jul 2017 07:56:07 +0000 (09:56 +0200)]
topos: Add missing doc for storage parameter

4 years agotopos_redis: Fix Typo in error-message
Carsten Bock [Mon, 10 Jul 2017 07:54:08 +0000 (09:54 +0200)]
topos_redis: Fix Typo in error-message

4 years agoevapi: handle return code for fcntl
Daniel-Constantin Mierla [Sun, 9 Jul 2017 08:21:20 +0000 (10:21 +0200)]
evapi: handle return code for fcntl

4 years agoasync: free var in case of fixup error
Daniel-Constantin Mierla [Sun, 9 Jul 2017 08:01:17 +0000 (10:01 +0200)]
async: free var in case of fixup error

4 years agousrloc: rpc flush to return error in case of failure
Daniel-Constantin Mierla [Sat, 8 Jul 2017 07:39:05 +0000 (09:39 +0200)]
usrloc: rpc flush to return error in case of failure

4 years agoregistrar: free var in case of pv name error
Daniel-Constantin Mierla [Sat, 8 Jul 2017 07:38:13 +0000 (09:38 +0200)]
registrar: free var in case of pv name error

4 years agoauth_db: small reorder to do the check before accessing the fields
Daniel-Constantin Mierla [Sat, 8 Jul 2017 07:37:04 +0000 (09:37 +0200)]
auth_db: small reorder to do the check before accessing the fields

4 years agolib: dtrie - removed duplicate check for same value
Daniel-Constantin Mierla [Sat, 8 Jul 2017 07:35:57 +0000 (09:35 +0200)]
lib: dtrie - removed duplicate check for same value

4 years agoacc: free parameter in acc fixup in case of error
Daniel-Constantin Mierla [Sat, 8 Jul 2017 07:35:13 +0000 (09:35 +0200)]
acc: free parameter in acc fixup in case of error

4 years agomodules: readme files regenerated - textops ... [skip ci]
Kamailio Dev [Fri, 7 Jul 2017 12:16:23 +0000 (14:16 +0200)]
modules: readme files regenerated - textops ... [skip ci]

4 years agotextops: documentation for remove_hf_exp(...)
Daniel-Constantin Mierla [Fri, 7 Jul 2017 12:10:04 +0000 (14:10 +0200)]
textops: documentation for remove_hf_exp(...)

4 years agotextops: new function remove_hf_exp(match, skip)
Daniel-Constantin Mierla [Fri, 7 Jul 2017 12:03:52 +0000 (14:03 +0200)]
textops: new function remove_hf_exp(match, skip)

- remove header fields that do not match regex ''skip', but match regex
  'match'

4 years agocore: fixup helper function for two regex parameters
Daniel-Constantin Mierla [Fri, 7 Jul 2017 12:03:29 +0000 (14:03 +0200)]
core: fixup helper function for two regex parameters

4 years agodispatcher: try to add sip: scheme to dst uri, if initial parse fails
Daniel-Constantin Mierla [Fri, 7 Jul 2017 11:33:16 +0000 (13:33 +0200)]
dispatcher: try to add sip: scheme to dst uri, if initial parse fails

- operation done when records are loaded from database or file

4 years agopv: free var in case pkg alloc failure
Daniel-Constantin Mierla [Fri, 7 Jul 2017 07:53:38 +0000 (09:53 +0200)]
pv: free var in case pkg alloc failure

4 years agojsonrpcs: safety vars init and release checks
Daniel-Constantin Mierla [Fri, 7 Jul 2017 07:48:53 +0000 (09:48 +0200)]
jsonrpcs: safety vars init and release checks

4 years agotextops: fixed whitespacing and few malloc size adjustmets for safety
Daniel-Constantin Mierla [Fri, 7 Jul 2017 07:31:37 +0000 (09:31 +0200)]
textops: fixed whitespacing and few malloc size adjustmets for safety

4 years agotextopsx: free in case of error inside sel_hf_value_name()
Daniel-Constantin Mierla [Fri, 7 Jul 2017 07:29:41 +0000 (09:29 +0200)]
textopsx: free in case of error inside sel_hf_value_name()

4 years agomsrp: safety checks to avoid analyzer reports
Daniel-Constantin Mierla [Fri, 7 Jul 2017 07:10:14 +0000 (09:10 +0200)]
msrp: safety checks to avoid analyzer reports

4 years agotopos_redis: increase the array size used for storage ops
Daniel-Constantin Mierla [Fri, 7 Jul 2017 07:03:01 +0000 (09:03 +0200)]
topos_redis: increase the array size used for storage ops

4 years agorls: added missing license headers, coherent indentation
Daniel-Constantin Mierla [Wed, 5 Jul 2017 13:30:36 +0000 (15:30 +0200)]
rls: added missing license headers, coherent indentation

4 years agocfg_rpc: configuration reset function has been implemented 1181/head
Huseyin Dikme [Tue, 4 Jul 2017 12:41:37 +0000 (14:41 +0200)]
cfg_rpc: configuration reset function has been implemented

- rpc_reset function enables to reset all the variables of a certain group to their initial values.
  e.g.: kamcmd cfg.reset core.
  Above given example will reset all variables of the configuration group "core".