Daniel-Constantin Mierla [Thu, 11 Sep 2014 20:36:56 +0000 (22:36 +0200)]
dispatcher: free dset root structure at reload
- reported by Heenan, Timothy Steven
Daniel-Constantin Mierla [Thu, 11 Sep 2014 15:46:52 +0000 (17:46 +0200)]
app_java: allocate enough space to store terminating NULL pointer in split
- on a report by Tom Johnson
Carsten Bock [Thu, 11 Sep 2014 14:56:51 +0000 (16:56 +0200)]
Merge branch 'master' of ssh://git.sip-router.org/sip-router into carstenbock/db_cassandra_deb
Conflicts:
Makefile.groups
pkg/kamailio/deb/wheezy/control
pkg/kamailio/deb/wheezy/rules
lazedo [Thu, 11 Sep 2014 13:47:33 +0000 (14:47 +0100)]
support vhost in connection
Carsten Bock [Thu, 11 Sep 2014 10:19:18 +0000 (12:19 +0200)]
ims_registrar_pcscf: Safety check, if (r) is set (caused a crash)
Daniel-Constantin Mierla [Thu, 11 Sep 2014 10:10:44 +0000 (12:10 +0200)]
Makefile.defs: version set to 4.2.0-pre0
- pre-release phase - testing period, no new features till branching 4.2
Alekzander Spiridonov [Thu, 4 Sep 2014 14:09:02 +0000 (07:09 -0700)]
msg_parser: fix To parameter with null value parsing
Carsten Bock [Thu, 11 Sep 2014 09:17:43 +0000 (11:17 +0200)]
ims_auth: Fix crash, if the third parameter was ommited on ims_www_challenge.
Daniel-Constantin Mierla [Wed, 10 Sep 2014 22:16:53 +0000 (00:16 +0200)]
core: new parameter - log_prefix
- can be used to set what prefix to be printed for each log message
while processing a SIP message
- can contain variables
- example:
log_prefix="[$mt $hdr(CSeq) $ci]"
Alexandr Dubovikov [Wed, 10 Sep 2014 20:25:56 +0000 (22:25 +0200)]
modules:sipcapture fixed duplicate value
Carsten Bock [Wed, 10 Sep 2014 19:52:11 +0000 (21:52 +0200)]
ims_usrloc_pcscf: Set proper field for service routes, when saving to DB
Carsten Bock [Wed, 10 Sep 2014 19:51:20 +0000 (21:51 +0200)]
ims_registrar_pcscf: Add option to ignore "REGISTERED STATE", when checking for a registered client.
Alexandr Dubovikov [Wed, 10 Sep 2014 18:49:07 +0000 (20:49 +0200)]
modules:sipcapture fixed sql schema to version 4. Added optimized partrotation script.
Daniel-Constantin Mierla [Wed, 10 Sep 2014 18:16:31 +0000 (20:16 +0200)]
topoh: documentation updated for mask_ip parameter
Daniel-Constantin Mierla [Wed, 10 Sep 2014 18:11:36 +0000 (20:11 +0200)]
topoh: allow server ip to be used as mask ip
Daniel-Constantin Mierla [Wed, 10 Sep 2014 18:11:14 +0000 (20:11 +0200)]
core: fix execution of callbacks list for net_data_in
Daniel-Constantin Mierla [Wed, 10 Sep 2014 16:55:44 +0000 (18:55 +0200)]
usrloc: new parameter db_raw_fetch_type
- specify what type of query should be used in DB-only mode for
retrieving contacts for specific needs (e.g., sending NAT keepalives)
Daniel-Constantin Mierla [Wed, 10 Sep 2014 16:35:19 +0000 (18:35 +0200)]
Makefile.groups: ndb_mongodb added to mongodb modules group
Daniel-Constantin Mierla [Wed, 10 Sep 2014 16:06:38 +0000 (18:06 +0200)]
ndb_mongodb: new module offering a non-db connector to MongoDB from config file
Carsten Bock [Wed, 10 Sep 2014 15:47:07 +0000 (17:47 +0200)]
ims: Updated example configurations
Enhancements:
- Added Ro to the S-CSCF
- Added database support, optionally use db_cluster
- Replaced RTPProxy with RTPEngine module, support for originating WebRTC on the Proxy-CSCF (with SRTP Breaking)
- Optionally engage a SBC between the P-CSCF and the Core, SEMS sample configuration
- smaller adjustments
Carsten Bock [Wed, 10 Sep 2014 15:32:40 +0000 (17:32 +0200)]
ims_*_pcscf: Several bugfixes
Federico Cabiddu [Wed, 10 Sep 2014 11:23:10 +0000 (13:23 +0200)]
tsilo: initial commit
Federico Cabiddu [Tue, 9 Sep 2014 14:14:46 +0000 (14:14 +0000)]
tm: new api function t_append_branches
Federico Cabiddu [Tue, 9 Sep 2014 07:32:41 +0000 (07:32 +0000)]
registrar: new api function lookup_to_dset
Daniel-Constantin Mierla [Wed, 10 Sep 2014 10:58:29 +0000 (12:58 +0200)]
Makefile.groups: added group for monogdb
- db_mongodb included in it, depends on mongodb-c-driver library
Daniel-Constantin Mierla [Wed, 10 Sep 2014 10:54:37 +0000 (12:54 +0200)]
Makefile.groups: group for kazoo module
- depends on rabitmq, libxml2 and libjson
lazedo [Wed, 10 Sep 2014 10:04:15 +0000 (11:04 +0100)]
kazoo initial commit
Daniel-Constantin Mierla [Wed, 10 Sep 2014 09:39:13 +0000 (11:39 +0200)]
db_mongodb: new module offering DB APIv1 connector for MongoDB NoSQL server
- initial version, tested for INSERT (e.g., can be used with acc module)
- UPDATE and DELETE implemented as well, no option to test them yet
alone
- SELECT implemented for basic queries, but store result not implemented
yet -- needs to map the requested fields and types (to be fixed very
soon)
- no raw query yet (an ndb alternative to follow)
Carsten Bock [Wed, 10 Sep 2014 09:13:44 +0000 (11:13 +0200)]
ims_registrar_pcscf: Fix previous commit (copy&paste error)
Carsten Bock [Wed, 10 Sep 2014 08:41:42 +0000 (10:41 +0200)]
ims_usrloc_pcscf: New hashing_type: "2" Hash over received IP, fallback to Host from contact (especially for NAT)
Carsten Bock [Wed, 10 Sep 2014 08:39:34 +0000 (10:39 +0200)]
ims_registrar_pcscf: Optimization: fallback2ip can be set to "2", in order to check for the source IP first, before checking the contact-host of the request.
Charles Chance [Tue, 9 Sep 2014 23:41:48 +0000 (00:41 +0100)]
dmq: update documentation with new functions dmq_t_replicate() and dmq_is_from_node()
Charles Chance [Tue, 9 Sep 2014 22:52:46 +0000 (23:52 +0100)]
dmq: include resolved IP address in RPC list_nodes output
Charles Chance [Tue, 9 Sep 2014 22:42:35 +0000 (23:42 +0100)]
dmq: add the following config functions:
- dmq_t_replicate(): Replicates current SIP message to all active DMQ nodes. Includes built-in loop detection which can be skipped with optional parameter.
- dmq_is_from_node(): Checks whether current message has come from another node, based on source IP.
Charles Chance [Tue, 9 Sep 2014 22:41:47 +0000 (23:41 +0100)]
dmq: resolve IP address and store in node structure
Juha Heinanen [Tue, 9 Sep 2014 17:41:47 +0000 (20:41 +0300)]
modules/rtpengine: generated README
Richard Good [Tue, 9 Sep 2014 16:26:02 +0000 (18:26 +0200)]
modules/ims_qos: new mod_param: authorize_video_flow
authorize_video_flows is a flag that specifies whether or not to authorize video flows.
Richard Good [Tue, 9 Sep 2014 14:56:00 +0000 (16:56 +0200)]
modules/ims_qos: store AAR flow descriptions in CDP session
When flow_descriptions are installed save the active and new
This allows Rx to fallback to previous flow descriptions if there is an upstream failure
Richard Fuchs [Tue, 9 Sep 2014 14:37:53 +0000 (10:37 -0400)]
rtpengine: docs update
Richard Fuchs [Tue, 9 Sep 2014 14:30:45 +0000 (10:30 -0400)]
rtpengine: support arbitrary direction= flags for interface bridging
Richard Fuchs [Tue, 9 Sep 2014 14:07:33 +0000 (10:07 -0400)]
rtpengine: support daisy-chaining two RTP proxies
Elena-Ramona Modroiu [Tue, 9 Sep 2014 13:24:47 +0000 (15:24 +0200)]
htable: documentation for iterator functions
Elena-Ramona Modroiu [Tue, 9 Sep 2014 12:56:35 +0000 (14:56 +0200)]
htable: iterator implementation for hash tables
- new functions:
- sht_iterator_start(iname, hname)
- sht_iterator_next(iname)
- sht_iterator_end(iname)
- iname is a string to identify the iterator
- hname is the name of a hash table
- note that the slot is left locked by sht_iterator_next(), therefore
there must be no update to the hash table content in between
sht_iterator_start() and sht_iterator_end()
- sht_iterator_end() must be called for each sht_iterator_start() with
the same iterator name
- internally can be up to 4 iterators at one time, they can have different names
- the current item in the iterator is accessible via:
- $shtitkey(iname)
- $shtitval(iname)
- example
sht_iterator_start("i1", "h1");
while(sht_iterator_next("i1")) {
xlog("h1[$shtitkey(i1)] is: $shtitval(i1)\n");
}
sht_iterator_end("i1");
Daniel-Constantin Mierla [Tue, 9 Sep 2014 10:28:09 +0000 (12:28 +0200)]
jsonrpc: reset the local reply structure before executing new commands
Hugh Waite [Mon, 8 Sep 2014 16:46:55 +0000 (17:46 +0100)]
parser: Fix parsing of Retry-After header
- Allow no space between duration and optional comment
Daniel-Constantin Mierla [Tue, 9 Sep 2014 10:13:33 +0000 (12:13 +0200)]
jsonrpc-s: documentation for jsonrpc_exec(cmd)
Daniel-Constantin Mierla [Tue, 9 Sep 2014 10:06:03 +0000 (12:06 +0200)]
jsonrpc-s: new config variable $jsonrpl(key)
- access jsonrpc reply when using jsonrpc_exec(cmd)
- the key can be:
- code - the response code as when the jsonrpc would have been executed over
http
- text - the text following the code as when the jsonrpc would have
been executed over http
- body - the body of the jsonrpc response - the full json document
Daniel-Constantin Mierla [Tue, 9 Sep 2014 09:38:12 +0000 (11:38 +0200)]
jsonrpc-s: new fucntion jsonrpc_exec(cmd)
- execute the jsonrpc command given as parameter
- cmd has to be a full json rpc document
- example:
jsonrpc_exec('{"jsonrpc": "2.0", "method": "dispatcher.reload", "id": 1}')
- the cmd can be a dynamic string with variables
Alexandr Dubovikov [Tue, 9 Sep 2014 08:21:12 +0000 (10:21 +0200)]
modules/sipcapture: Added RTCP and LOG functionality. Updated kamilio.cfg, SQL schema, rotation script for Homer 3.6
Daniel-Constantin Mierla [Tue, 9 Sep 2014 07:14:38 +0000 (09:14 +0200)]
presence: documented local_log_level parameter
Daniel-Constantin Mierla [Tue, 9 Sep 2014 07:10:49 +0000 (09:10 +0200)]
presence: new parameter local_log_level
- control verbosity of some log messages
- default value: L_INFO
Daniel-Constantin Mierla [Mon, 8 Sep 2014 21:04:35 +0000 (23:04 +0200)]
usrloc: documented expires_type parameter
Daniel-Constantin Mierla [Mon, 8 Sep 2014 20:36:30 +0000 (22:36 +0200)]
usrloc: option to set datetime columns as bigint
- should handle better daylight shifting, reported by Alistair
Cunningham
- new parameter expires_type - if set to 1, it expects expires and last
modified columns to be bigint
- the change to the type of columns has to be done manually to the
database server
- default values is 0, expecting to work with datetime columns (existing
behavior)
Daniel-Constantin Mierla [Mon, 8 Sep 2014 16:57:37 +0000 (18:57 +0200)]
dispatcher: reset whitespaces to tabs for identation
Daniel-Constantin Mierla [Mon, 8 Sep 2014 16:49:28 +0000 (18:49 +0200)]
presence: reduce verbosity for log message printed when sending notify
- info changed with dbg
- patch by Luis Azedo <luis.azedo@factorlusitano.com>
Daniel-Constantin Mierla [Mon, 8 Sep 2014 16:45:52 +0000 (18:45 +0200)]
pv: new variable $su to return source address in uri format
- $su is expanded "sip:$si:$sp;transport=$pr"
- example: "sip:127.0.0.1:5060;transport=udp"
Elena-Ramona Modroiu [Mon, 8 Sep 2014 16:43:35 +0000 (18:43 +0200)]
htable: documented sht_reset(...)
Elena-Ramona Modroiu [Mon, 8 Sep 2014 16:39:36 +0000 (18:39 +0200)]
htable: new config function sht_reset("tname")
- remove all items in the hash table
Daniel-Constantin Mierla [Mon, 8 Sep 2014 15:15:34 +0000 (17:15 +0200)]
dispatcher: regenerated readme file
Daniel-Constantin Mierla [Mon, 8 Sep 2014 15:13:12 +0000 (17:13 +0200)]
dispatcher: swap the order between uri and mode parameters in the new ds_is_from_list(...)
- allow to have ds_is_from_list() only with group id and mode, uri is
the last parameter, still optional
- patch provided by Luis Azedo <luis.azedo@factorlusitano.com>
Luis Azedo [Mon, 8 Sep 2014 15:07:11 +0000 (17:07 +0200)]
usrloc: don't add columns without values in the sql query
- works better with db_text as well as the resulted query is smaller
Daniel-Constantin Mierla [Mon, 8 Sep 2014 12:14:17 +0000 (14:14 +0200)]
presence: take in consideration send_fast_notify when sending empty NOTIFY
- patch by Luis Azedo <luis.azedo@factorlusitano.com>
Daniel-Constantin Mierla [Fri, 5 Sep 2014 15:46:14 +0000 (17:46 +0200)]
dispatcher: extended the documentation for ds_is_from_list()
Daniel-Constantin Mierla [Fri, 5 Sep 2014 15:21:40 +0000 (17:21 +0200)]
dispatcher: new variant - ds_is_from_list(groupid, uri, mode)
- can match against records in dispatcher groups
- if groupid==1 - will match against all groups
- if uri is empty, then will match against source address (ip, port,
proto). Otherwise it has to be a full SIP URI value. The matching
is not taking in consideration any parameter apart of transport
- mode is a bitmask to tell the matching rules
- if it is 0, will match everything: ip, port and protocol
- if bit one is set, will skip matching the port
- if bit two is set, will skip matching the protocol
Daniel-Constantin Mierla [Fri, 5 Sep 2014 14:18:38 +0000 (16:18 +0200)]
core: proper reverse order execution for net_data_out event callbacks
Daniel-Constantin Mierla [Fri, 5 Sep 2014 14:11:51 +0000 (16:11 +0200)]
core: allow up to three callback functions for net_data_in and net_data_out
- they are added normal for net_data_in and reverse for net_data_out,
allowing nested execution (e.g., first module registering the two
callbacks with have the first net_data_in and the last net_data_out)
- allow topoh module can be used with other functionalities needed the same
callbacks
Daniel-Constantin Mierla [Fri, 5 Sep 2014 14:06:00 +0000 (16:06 +0200)]
corex: fixed for loop in previous commit
Juha Heinanen [Fri, 5 Sep 2014 14:11:47 +0000 (17:11 +0300)]
modules/mtree: fixed return value of mt_match when mode=2
- initialize pv_values avp by mt_match when mode=2
- documented mt_match return value
Daniel-Constantin Mierla [Fri, 5 Sep 2014 13:39:56 +0000 (15:39 +0200)]
corex: documented functions used for management of sip msg internal flags
Daniel-Constantin Mierla [Fri, 5 Sep 2014 13:31:30 +0000 (15:31 +0200)]
dialog: documented the track_cseq_updates module parameter
Daniel-Constantin Mierla [Fri, 5 Sep 2014 13:11:57 +0000 (15:11 +0200)]
dialog: add option to increment cseq upon local authentication to next hop
- feature has to be enabled via module parameter track_cseq_updates
- it does it only for downstream direction (requests from caller and
callee, as it is the typical use case of calling via a provider, after
authenticating the caller locally, provider asks for another 'trunk'
authentication)
- diff of cseq value is stored in dialog var named 'cseq_diff',
therefore be sure it is not overwritten from config
Daniel-Constantin Mierla [Fri, 5 Sep 2014 13:06:54 +0000 (15:06 +0200)]
corex: functions for management of msg internal flags
- msg_iflag_set("flagname")
- msg_iflag_reset("flagname")
- msg_iflag_is_set("flagname")
- flagname can be: USE_UAC_FROM, USE_UAC_TO or UAC_AUTH
- this functions should not be used in configuration file for (re)setting
the flags, those are done by various functions internally, however, in
very particular cases they might be useful (e.g., changing From/To via
textops functions)
Daniel-Constantin Mierla [Fri, 5 Sep 2014 13:06:00 +0000 (15:06 +0200)]
uac: mark request with FL_UAC_AUTH upon using uac_auth()
Daniel-Constantin Mierla [Fri, 5 Sep 2014 13:04:41 +0000 (15:04 +0200)]
core/parser: new internal msg flag - FL_UAC_AUTH
- to mark requests that had local uac authentication done (e.g., via
uac_auth() from uac module)
- it is an indication that cseq should be increased
Daniel-Constantin Mierla [Thu, 4 Sep 2014 13:56:35 +0000 (15:56 +0200)]
rr: documentation for remove_record_route()
Daniel-Constantin Mierla [Thu, 4 Sep 2014 13:51:21 +0000 (15:51 +0200)]
rr: remove_record_route() - config function to remove record-route lumps
- re-added from ser rr module
Alex Hermann [Mon, 1 Sep 2014 15:54:38 +0000 (17:54 +0200)]
dmq: Add an RPC interface to query the nodes in the cluster
Alex Hermann [Mon, 1 Sep 2014 13:28:23 +0000 (15:28 +0200)]
jsonrpc-s: Link to srutils for access to srjson
Alex Hermann [Mon, 1 Sep 2014 15:50:54 +0000 (17:50 +0200)]
jsonrpc-s: Don't make up a random reply when the reply is empty
In case the function was registered with RET_ARRAY, return an empty array,
as that is a valid response.
Else, there is no sane response, send an empty object for now. This should
maybe become an error repsonse instead.
Alex Hermann [Tue, 26 Aug 2014 16:52:38 +0000 (18:52 +0200)]
dmq: Parse Content-Length header if it isn't parsed yet
Alex Hermann [Fri, 22 Aug 2014 13:55:05 +0000 (15:55 +0200)]
dmq: More efficient peer storage
Allocate only 1 hunk of memory for the entire peer's storage needs.
Alex Hermann [Fri, 22 Aug 2014 13:51:49 +0000 (15:51 +0200)]
dmq: Broadcast nodelists to all hosts
Update all hosts with updated state on shutdown.
Alex Hermann [Fri, 22 Aug 2014 13:48:28 +0000 (15:48 +0200)]
dmq: Handle Max-Forwards correctly when maxfwd module is used.
The maxfwd module will change the current msg buffer with a decreased
Max-Forwards header. Detect this sitation via the 'parsed' field and handle
it.
Alex Hermann [Fri, 22 Aug 2014 13:46:08 +0000 (15:46 +0200)]
dmq: Use the received status updates from peer hosts to update in-memory status
Alex Hermann [Fri, 22 Aug 2014 13:42:51 +0000 (15:42 +0200)]
dmq: Set node status to value in uri
The status was forced to ACTIVE regardless of the status in the uri.
Alex Hermann [Mon, 11 Aug 2014 17:06:42 +0000 (19:06 +0200)]
dmq: Various sanity checks and initializations
Alex Hermann [Thu, 7 Aug 2014 15:20:20 +0000 (17:20 +0200)]
dmq: fix copy-paste error resulting in the peer's description not being copied
Alex Hermann [Thu, 17 Jul 2014 11:02:12 +0000 (13:02 +0200)]
dmq: Set send_socket to the correct address
Documentation says the server_address is the address used to send messages
from. Make the code actually do this.
UDP is hardcoded for now because DMQ doesn't work with other protocols (yet).
Alex Hermann [Tue, 2 Sep 2014 14:38:15 +0000 (16:38 +0200)]
dmq: Fix indenting
Alex Hermann [Tue, 15 Jul 2014 08:26:42 +0000 (10:26 +0200)]
dialog: Allow '_' in dlg profile names
Alex Hermann [Fri, 22 Aug 2014 09:44:56 +0000 (11:44 +0200)]
dialog: Send properly structured responses on RPC requests
Instead of dumping random blobs in structured protocols (json, xmlrpc),
return properly structured data.
Each dialog is a struct with named fields, a list of dialogs is an array
of structs. Variables and profiles are arrays in the dialog struct.
Dialog contexts still todo.
Alex Hermann [Fri, 22 Aug 2014 11:55:42 +0000 (13:55 +0200)]
dialog: Correctly restore dialog lifetime from DB
Restore the lifetime to the configured value instead of the offset from the
time the reload from the DB took place.
Alex Hermann [Mon, 7 Jul 2014 14:38:29 +0000 (16:38 +0200)]
dialog: Set the dialog context on transaction failure
Before, the dialog context would be derived from the callid and tags. This
could select the wrong dialog in case of spirals. This patch sets the correct
dialog context by storing the it in the transaction and restoring it on a
failure. Now the correct dialog variables are available in failure_route.
Alex Hermann [Mon, 7 Jul 2014 14:38:29 +0000 (16:38 +0200)]
dialog: Set the dialog context on incoming replies
Before, the dialog context would be derived from the callid and tags. This
could select the wrong dialog in case of spirals. This patch sets the correct
dialog context by storing the it in the transaction and restoring it on an
incoming response. Now the correct dialog variables are available in
onreply_route.
Jason Penton [Wed, 3 Sep 2014 20:32:03 +0000 (22:32 +0200)]
modules/ims_auth: ims_www_challenge allows specification of auth algorithm from cfg
- e.g. ims_www_challenge("REG_MAR_REPLY", "$td", "MD5");
- useful for non-ims clients that do not do AKA
Jason Penton [Wed, 3 Sep 2014 17:57:22 +0000 (19:57 +0200)]
modules/pv: added pseudo-variable ($aa) for access to algorithm in autorization header
Ovidiu Sas [Wed, 3 Sep 2014 17:26:14 +0000 (13:26 -0400)]
db_text: fix clang compiler warning
Ovidiu Sas [Wed, 3 Sep 2014 17:21:13 +0000 (13:21 -0400)]
db_text: fix clang compiler warning
Ovidiu Sas [Wed, 3 Sep 2014 17:17:32 +0000 (13:17 -0400)]
db_flatstore: fix clang compiler warning
Ovidiu Sas [Wed, 3 Sep 2014 17:15:35 +0000 (13:15 -0400)]
lib/srdb1: fix clang compiler warning