sip-router
9 years agoMerge remote branch 'origin/daniel/xavp'
Andrei Pelinescu-Onciul [Mon, 15 Feb 2010 14:47:37 +0000 (15:47 +0100)]
Merge remote branch 'origin/daniel/xavp'

* origin/daniel/xavp:
  pv: export new PV class $xavp(name)
  core: introducing xavp (eXtended AVP)
  tm: set/reset head of xavps on TM events
  pv: new pv class $xavp(...)
  core: destroy xavp list once sip msg processing is done

Conflicts:
modules/tm/h_table.c
modules/tm/t_reply.c
modules/tm/uac.c
modules_k/pv/pv.c

9 years agodispatcher(k): basic framework for load dispatching
Daniel-Constantin Mierla [Fri, 12 Feb 2010 13:03:24 +0000 (14:03 +0100)]
dispatcher(k): basic framework for load dispatching

- a lightweight system to do a fair distrubution based on load
- no dependency on dialog, by using an internal table of active calls
  with minimal info, to keep the module suitable for small devices and
  have good performances
- not completed, requires xavp support for a compact info structure to
  be carried in transaction for each failover step

9 years agodialog(k): init local parameter
Daniel-Constantin Mierla [Fri, 12 Feb 2010 10:12:37 +0000 (11:12 +0100)]
dialog(k): init local parameter

- memset tm callback param to 0
- safety checks for MI cmd dlg match
- credits to Inaki Baz Castillo and Torben Friese

9 years agomodules/mediaproxy: properly fix the IP in the RTCP line
Juha Heinanen [Thu, 11 Feb 2010 20:22:12 +0000 (22:22 +0200)]
modules/mediaproxy: properly fix the IP in the RTCP line

- Properly fix the IP in the RTCP line (if present in the SDP). Patch
  provided by Saul Ibarra Corretge.

9 years agodispatcher(k): weight based distribution
Daniel-Constantin Mierla [Thu, 11 Feb 2010 14:20:36 +0000 (15:20 +0100)]
dispatcher(k): weight based distribution

- new algorithm 9 for weight based distribution
- new column to hold attributes per destination
- for weight based distribution you have to set for each address in
  destination set: weight=value, for example:

[setid address flags priority attributes]

2 sip:10.10.0.1:5080 0 2 weight=40
2 sip:10.10.0.2:5082 0 1 weight=60

- this will send 60% of the traffic to second address
- note that at startup the distribution is randomized, so traffic is
  directed to first or second desintation alternatively but keeping
  overall percentages

9 years agocore: use the prev. via branch id if it's 3261
Andrei Pelinescu-Onciul [Wed, 10 Feb 2010 20:48:00 +0000 (21:48 +0100)]
core: use the prev. via branch id if it's 3261

When computing the via branch value in syn_branch==0 mode, use the
previous via branch id and not the to_tag, from_tag, callid, ruri,
cseq number, via port and host, if the previous via branch id is
in rfc3261 format (begins with the magic cookie).
See  rfc3261/16.11 P116 for more informations.
To revert to the old behaviour, define BRANCH_IGNORE_3261_VIA.

9 years agocore: include only from/to tags when computing via branch value
Andrei Pelinescu-Onciul [Wed, 10 Feb 2010 20:30:11 +0000 (21:30 +0100)]
core: include only from/to tags when computing via branch value

- use only the to & from tags when computing the via branch value
  in syn_branch==0 mode. This should improve interoperability with
  broken implementations that don't keep the from & to headers
  unchanged. Defining BRANCH_INCLUDE_FROMTO_BODY will revert to
  the old behaviour.
- moved char_msg_val from parser/msg_parser.h to its own file
 (it has nothing to do with parsing).

9 years agocfg.y: fix warnings introduced in previous commit
Daniel-Constantin Mierla [Tue, 9 Feb 2010 10:32:02 +0000 (11:32 +0100)]
cfg.y: fix warnings introduced in previous commit
(cherry picked from commit 318ff6e6884641f3c9788b01e9ac3d859269be30)

9 years agocore: added forward()
Daniel-Constantin Mierla [Tue, 9 Feb 2010 10:23:50 +0000 (11:23 +0100)]
core: added forward()

- aliased forward() to forward(uri:host, uri:port)
- k 1.5.x compatibility
(cherry picked from commit 50237e89964b4fc8a4c8775076c1b75a05ee5e73)

9 years agoMEMDBG set to 1 (memory debugging on)
Daniel-Constantin Mierla [Wed, 10 Feb 2010 18:34:46 +0000 (19:34 +0100)]
MEMDBG set to 1 (memory debugging on)

- default for devel version

9 years agoMakefile: MEMDBG var to control mem debugging mode
Daniel-Constantin Mierla [Mon, 8 Feb 2010 22:16:47 +0000 (23:16 +0100)]
Makefile: MEMDBG var to control mem debugging mode

- to compile with memory debugging
make MEMDBG=1 cfg; make ...

9 years agoapp_python: added skeleton for docs
Daniel-Constantin Mierla [Wed, 10 Feb 2010 18:26:07 +0000 (19:26 +0100)]
app_python: added skeleton for docs

- needs to be filled in

9 years agomodules/lcr: added in docs missing install dependency on libpcre
Juha Heinanen [Wed, 10 Feb 2010 05:34:33 +0000 (07:34 +0200)]
modules/lcr: added in docs missing install dependency on libpcre

- Credits to Kris Amy.

9 years agomodules_k/permissions: group identifier must be positive integer
Juha Heinanen [Wed, 10 Feb 2010 05:15:24 +0000 (07:15 +0200)]
modules_k/permissions: group identifier must be positive integer

- Group Identifier in address permissions must have a positive integer
  value.
(cherry picked from commit c67e72eb16f277eeae16182e15e0e8ebf319dce0)

9 years agomakefile: fixed parallel job support for several targets
Andrei Pelinescu-Onciul [Fri, 5 Feb 2010 20:22:47 +0000 (21:22 +0100)]
makefile: fixed parallel job support for several targets

Parallel job support (-jN) warning/support fixed for:
modules*-doc, modules*-readme, modules*-man, install-modules*.

9 years agomakefile: clean-modules fix for cleaning modules*/*/doc
Andrei Pelinescu-Onciul [Fri, 5 Feb 2010 20:21:20 +0000 (21:21 +0100)]
makefile: clean-modules fix for cleaning modules*/*/doc

- fixed wrong test for the existence of $(module)/doc/Makefile

9 years agomakefile.doc: be silent when cleaning
Andrei Pelinescu-Onciul [Fri, 5 Feb 2010 20:20:27 +0000 (21:20 +0100)]
makefile.doc: be silent when cleaning

9 years agotm: t_suspend() fixes
Miklos Tirpak [Wed, 11 Nov 2009 14:21:23 +0000 (15:21 +0100)]
tm: t_suspend() fixes

- t_suspend() and t_continue() checks whether a CANCEL
  has been processed before the transaction is suspended
  and before it continues to make sure that the
  suspend/continue is not done needlessly.
- t_continue() verifies that the suspended branch has not
  timed out yet.
- t_cancel_suspend() function is introduced:
  It can be used for revoking the suspension of the transaction.
  Useful when any failure occures after the transaction has been suspended
  and it turns out that the transaction should not have been
  suspended.

9 years agotm: new select functions
Miklos Tirpak [Wed, 11 Nov 2009 11:51:16 +0000 (12:51 +0100)]
tm: new select functions

New select functions have been introduced:
- @tm.uac.response_retransmission
Returns "1" if the response is a retransmission
otherwise "-1".
- @tm.uac.last_status
Returns the last saved status code of the current branch.
- @tm.uas.request.neg_ack_retransmission
Returns "1" if the negative ACK request is a retransmission
otherwise "-1".
Note: This select function can be used only for negative ACK messages
(ACK for >=300 responses), it should be enhanced in the future
to work on any type of requests.

9 years agotm: TMCB_E2EACK callback fix
Miklos Tirpak [Wed, 11 Nov 2009 11:24:50 +0000 (12:24 +0100)]
tm: TMCB_E2EACK callback fix

TMCB_E2EACK_RETR_IN was called instead of TMCB_E2EACK_IN
for the initial e2e-ACK message.

9 years agoxlog: API documentation added
Miklos Tirpak [Wed, 11 Nov 2009 10:52:07 +0000 (11:52 +0100)]
xlog: API documentation added

9 years agoxl-lib: shm memory support, regex back reference parsing, xbind
Miklos Tirpak [Wed, 11 Nov 2009 09:10:52 +0000 (10:10 +0100)]
xl-lib: shm memory support, regex back reference parsing, xbind

- xl-lib parser supports both pkg and shm memory
- new wrapper functions for the shm memory version:
    - xl_shm_parse_format()
    - xl_elog_shm_free_all()
- The parser can identify the regular expression back
  references (\1, \2, ...) and call a callback function
  to farther parse the back reference. Wraper functions
  for this:
    - xl_parse_format2()
    - xl_shm_parse_format2()
- xbind() module function has been introduced that
  can be used to bind to the xl API as opposed to
  search each exported function individually.

9 years agoselects: shm_free_select wrapper added
Miklos Tirpak [Mon, 9 Nov 2009 16:08:08 +0000 (17:08 +0100)]
selects: shm_free_select wrapper added

shm_free_select() function is added that frees the select
parsed by shm_parse_select().

9 years agodns_cahce: add_record function exported
Miklos Tirpak [Mon, 9 Nov 2009 15:35:29 +0000 (16:35 +0100)]
dns_cahce: add_record function exported

dns_cache_add_record() function has been separated
from the RPC interface so that it can be used also
from other places.

9 years agorename the 'class' variable -- reserved keyword in c++
Miklos Tirpak [Fri, 6 Nov 2009 16:35:12 +0000 (17:35 +0100)]
rename the 'class' variable -- reserved keyword in c++

9 years agoMakefile:modules fixed usage of -jN flag for modules(_k,_s)
Marius Zbihlei [Thu, 4 Feb 2010 13:06:54 +0000 (15:06 +0200)]
Makefile:modules fixed usage of -jN flag for modules(_k,_s)

Removed the @for construct (launched a new shell) with a @foreach construct which does a textual expansion
of the block in question (loop unrolling)

9 years agodebugger: removed completed task from to-do
Daniel-Constantin Mierla [Thu, 4 Feb 2010 19:50:36 +0000 (20:50 +0100)]
debugger: removed completed task from to-do

- fixed the description of inner command for dbg.bp

9 years agodebugger: more parameters exported to cfg
Daniel-Constantin Mierla [Thu, 4 Feb 2010 19:36:34 +0000 (20:36 +0100)]
debugger: more parameters exported to cfg

9 years agoMakefile: core stats enabled for kamailio flavor
Daniel-Constantin Mierla [Thu, 4 Feb 2010 12:02:11 +0000 (13:02 +0100)]
Makefile: core stats enabled for kamailio flavor

9 years agocore: unlikely() to test ev SREV_CFG_RUN_ACTION
Daniel-Constantin Mierla [Thu, 4 Feb 2010 11:30:47 +0000 (12:30 +0100)]
core: unlikely() to test ev SREV_CFG_RUN_ACTION

- test if the event is enabled before creating the parameter and
  executing the callback

9 years agocore: events: new function to test event enabled
Daniel-Constantin Mierla [Thu, 4 Feb 2010 11:26:30 +0000 (12:26 +0100)]
core: events: new function to test event enabled

- sr_event_enabled(type) returns true if a callback has been registered
  for respective event type

9 years agomqueue: fixed c&p errors in docs
Elena-Ramona Modroiu [Thu, 4 Feb 2010 11:57:02 +0000 (12:57 +0100)]
mqueue: fixed c&p errors in docs

9 years agomodules_k/siputils : Forgot to commit config.* files
Marius Zbihlei [Thu, 4 Feb 2010 09:24:36 +0000 (11:24 +0200)]
modules_k/siputils : Forgot to commit config.* files

I broke the build...

9 years agodebugger: new module for interactive cfg debugging
Daniel-Constantin Mierla [Wed, 3 Feb 2010 23:11:59 +0000 (00:11 +0100)]
debugger: new module for interactive cfg debugging

- print config execution path of a SIP message to logs
- interactive debugging for config, similar to gdb
- step-by-step execution of each action in the config file
- the SIP router process stops at cfg actions and waits for RPC commands
  to go to next one, evaluate a pseudo-variable, continue execution, etc.
- see README for more details

9 years agocore: new core event: SREV_CFG_RUN_ACTION
Daniel-Constantin Mierla [Wed, 3 Feb 2010 23:05:41 +0000 (00:05 +0100)]
core: new core event: SREV_CFG_RUN_ACTION

- it is fired for each action executed from configuration file
- parameters are current acction and sip message given as a void* array
  of two elements

9 years agocore: fire core event on each executed cfg action
Daniel-Constantin Mierla [Wed, 3 Feb 2010 23:04:24 +0000 (00:04 +0100)]
core: fire core event on each executed cfg action

- used for cfg execution tracing and interactive debugging (the new
module debugger)

9 years agoMerge remote branch 'origin/sr_3.0'
Andrei Pelinescu-Onciul [Wed, 3 Feb 2010 22:32:55 +0000 (23:32 +0100)]
Merge remote branch 'origin/sr_3.0'

* origin/sr_3.0:
  core: new param to give outbut buffer size
  core: use one buffer for int2str
  core: use dlflags to load modules
  uac(k): use header types for detection
  uac(k): proper test for send failure
  uac(k): set type for tm callback
  modules/mediaproxy: take boundary string from Content-Type header.
  core: stats events cbs are called only if USE_CORE_STATS is defined
  update drp_reqs statistics
  update drp_rpls statistics
  update fwd_rpls statistics
  update err_reqs statistics
  update err_rpls statistics
  update bad_URIs statistics
  update bad_msg_hdr statistics
  core: update fwd_reqs stat
  kex: support to update core stats via core events
  core: added new event SREV_CORE_STATS

9 years agoMerge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0
Andrei Pelinescu-Onciul [Wed, 3 Feb 2010 22:09:26 +0000 (23:09 +0100)]
Merge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0

statistics callback support (enabled only if compiled with
-DUSE_CORE_STATS) and latest kamailio 3.0 fixes

* origin/tmp/k3.0_sr_backports:
  core: new param to give outbut buffer size
  core: use one buffer for int2str
  core: use dlflags to load modules
  uac(k): use header types for detection
  uac(k): proper test for send failure
  uac(k): set type for tm callback
  core: stats events cbs are called only if USE_CORE_STATS is defined
  update drp_reqs statistics
  update drp_rpls statistics
  update fwd_rpls statistics
  update err_reqs statistics
  update err_rpls statistics
  update bad_URIs statistics
  update bad_msg_hdr statistics
  core: update fwd_reqs stat
  kex: support to update core stats via core events
  core: added new event SREV_CORE_STATS

9 years agocore: new param to give outbut buffer size
Daniel-Constantin Mierla [Tue, 2 Feb 2010 14:06:34 +0000 (15:06 +0100)]
core: new param to give outbut buffer size

- int2strbuf requires now outbut buffer size as parameter
- safer against misuses, suggested by Andrei Pelinescu-Onciul
- if size is less than INT2STR_MAX_LEN, return null pointer
(cherry picked from commit a765213ffa3769577dd7438c95737cb6b98bff74)

9 years agocore: use one buffer for int2str
Daniel-Constantin Mierla [Tue, 2 Feb 2010 12:23:03 +0000 (13:23 +0100)]
core: use one buffer for int2str

- static declaration inside ut.h function results in hard copy to many
  places, affecting acc detection of int to str conversions in buffer
- reported by Alex Balashov
(cherry picked from commit 229496c7170bcc85f517a4985f7ab4bad553c8d3)

9 years agocore: use dlflags to load modules
Daniel-Constantin Mierla [Sat, 30 Jan 2010 16:02:37 +0000 (17:02 +0100)]
core: use dlflags to load modules

- dlflags var used for dlopen function
(cherry picked from commit 055915a558a485cda17c9bb1c8e43aca12d116b5)

9 years agouac(k): use header types for detection
Daniel-Constantin Mierla [Sun, 24 Jan 2010 20:21:59 +0000 (21:21 +0100)]
uac(k): use header types for detection
(cherry picked from commit 369d7598244c60c2c8e4d601e166a03cb211128c)

9 years agouac(k): proper test for send failure
Daniel-Constantin Mierla [Sun, 24 Jan 2010 20:20:02 +0000 (21:20 +0100)]
uac(k): proper test for send failure
(cherry picked from commit 1479cd808ea8e5025bfa8400a257e3f89db4ab68)

9 years agouac(k): set type for tm callback
Daniel-Constantin Mierla [Sun, 24 Jan 2010 18:43:09 +0000 (19:43 +0100)]
uac(k): set type for tm callback

- requires to be TMCB_LOCAL_COMPLETED
(cherry picked from commit f4f9207f77883efa4dab67b3afe7c693585dc32c)

9 years agomodules_k/siptutils : Fixed small typo
Marius Zbihlei [Wed, 3 Feb 2010 12:25:18 +0000 (14:25 +0200)]
modules_k/siptutils : Fixed small typo

9 years agotest:unit Fixed unixodbc tests (tested with mysql connector)
Marius Zbihlei [Wed, 3 Feb 2010 12:19:51 +0000 (14:19 +0200)]
test:unit Fixed unixodbc tests (tested with mysql connector)

9 years agoModules_k/siputils : config framework implementation start
Marius Zbihlei [Mon, 1 Feb 2010 10:26:21 +0000 (12:26 +0200)]
Modules_k/siputils : config framework implementation start

Started for ring_timeout

9 years agodebian: Module xmlrpc was moved to "modules".
Jan Janak [Tue, 2 Feb 2010 20:54:42 +0000 (15:54 -0500)]
debian: Module xmlrpc was moved to "modules".

Update the packaging scripts.

9 years agocore: fix bogus gcc-4.4 warning
Andrei Pelinescu-Onciul [Tue, 2 Feb 2010 16:40:22 +0000 (17:40 +0100)]
core: fix bogus gcc-4.4 warning

9 years agoxlog(k): parameter to control printing cfg name
Elena-Ramona Modroiu [Tue, 2 Feb 2010 14:45:58 +0000 (15:45 +0100)]
xlog(k): parameter to control printing cfg name

- long_format set to 1 makes xlogl() and xdbgl() to print config file
  name before line number (useful for usage of 'include_file')

9 years agomqueue: new module offering memory queues
Elena-Ramona Modroiu [Tue, 2 Feb 2010 11:37:59 +0000 (12:37 +0100)]
mqueue: new module offering memory queues

- for usage in cfg file
- many queues can be defined
- one item in queue is a pair (key, value), both string
- functions to add and consume items in the queue
- fetching the oldest item makes it available to pseudo-variables
- example of usage: send tasks from SIP workers to a timer process
  (e.g., defined by rtimer module) that consumes them. Can be some time
  expensive operation, like email notification, etc.

9 years agocore:forward.c Small typo regarding tested socket
Marius Zbihlei [Tue, 2 Feb 2010 09:23:59 +0000 (11:23 +0200)]
core:forward.c Small typo regarding tested socket

9 years agocore: fix missing close() in get_out_socket()
Andrei Pelinescu-Onciul [Tue, 2 Feb 2010 09:09:15 +0000 (10:09 +0100)]
core: fix missing close() in get_out_socket()

- errorpath for EISCONN missed close()-ing the sockets
- added unlikely() on all the error checks

9 years agomodules/mediaproxy: take boundary string from Content-Type header.
Juha Heinanen [Tue, 2 Feb 2010 08:09:32 +0000 (10:09 +0200)]
modules/mediaproxy: take boundary string from Content-Type header.
(cherry picked from commit 2031721948bfa6b444d9b18f7e3f195cfd7e1427)

9 years agomodules/mediaproxy: take boundary string from Content-Type header.
Juha Heinanen [Tue, 2 Feb 2010 08:09:32 +0000 (10:09 +0200)]
modules/mediaproxy: take boundary string from Content-Type header.

9 years agoser_mysql.sh: Switch to /bin/bash
Jan Janak [Tue, 2 Feb 2010 00:24:47 +0000 (19:24 -0500)]
ser_mysql.sh: Switch to /bin/bash

The ser_mysql.sh script is probably not POSIX clean and currently does
not work with dash (the new default interpreter for /bin/sh in debian).

Switch back to /bin/bash, this makes the script work again across
distributions.

9 years agopackaging: Make postinst scripts dash compatible
Jan Janak [Tue, 2 Feb 2010 00:04:19 +0000 (19:04 -0500)]
packaging: Make postinst scripts dash compatible

Debian Squeeze uses dash as the shell for systems scripts by default
and dash does not support the keyword "function" like bash does.

9 years agocore: mhomed: fix fd leak on error, ipv6, fd no
Andrei Pelinescu-Onciul [Mon, 1 Feb 2010 19:15:27 +0000 (20:15 +0100)]
core: mhomed: fix fd leak on error, ipv6, fd no

- on error the cached fds were set to 0, without closing them. Now
  they are not overwritten anymore (opening another one would not
  help).
- try ipv6 only if USE_IPV6 is defined
- 0 is a valid value for a fd => changed the initial values and
  the comparisons to use -1 / <0
- if connect fails with EISCONN disable future caching of the
  socket (return to the old open new socket, connect(), close()
  mode). This way mhomed will work even in the unlikely case of
  an OS where connect()-ing multiple times the same udp socket is
  not allowed.

9 years agocore: take into account mhomed when estimated max_fd_no
Andrei Pelinescu-Onciul [Mon, 1 Feb 2010 18:55:30 +0000 (19:55 +0100)]
core: take into account mhomed when estimated max_fd_no

Since commit ead9f3f, mhomed might use 1 or 2 (IPV6 enabled) fds
per process for caching socket descriptors.

9 years agocore: stats events cbs are called only if USE_CORE_STATS is defined
Andrei Pelinescu-Onciul [Mon, 1 Feb 2010 17:20:10 +0000 (18:20 +0100)]
core: stats events cbs are called only if USE_CORE_STATS is defined

Use macros instead of triggering directly various SREV_CORE_STATS
callbacks. This way if compiled without core stats support
(USE_CORE_STATS), there will be no performance impact (the macros
will be empty). All the macros are defined in core_stats.h.

9 years agoupdate drp_reqs statistics
Daniel-Constantin Mierla [Fri, 23 Oct 2009 14:48:16 +0000 (16:48 +0200)]
update drp_reqs statistics
(cherry picked from commit f4b64fc173c4ecc470346f05514af43adbda294a)

9 years agoupdate drp_rpls statistics
Daniel-Constantin Mierla [Fri, 23 Oct 2009 14:39:59 +0000 (16:39 +0200)]
update drp_rpls statistics

(cherry picked from commit 770ced3)

9 years agoupdate fwd_rpls statistics
Daniel-Constantin Mierla [Fri, 23 Oct 2009 14:20:19 +0000 (16:20 +0200)]
update fwd_rpls statistics
(cherry picked from commit 058f978739d0642d3332301eb8f0a0cd2bc64f37)

9 years agoupdate err_reqs statistics
Daniel-Constantin Mierla [Fri, 23 Oct 2009 14:08:40 +0000 (16:08 +0200)]
update err_reqs statistics
(cherry picked from commit e524a9512dbd24b56713dcf8f0fce1d44b46ae0b)

9 years agoupdate err_rpls statistics
Daniel-Constantin Mierla [Fri, 23 Oct 2009 14:04:21 +0000 (16:04 +0200)]
update err_rpls statistics
(cherry picked from commit b542c1c71ed132e58d0d07d5ba66a241384ae6a2)

9 years agoupdate bad_URIs statistics
Daniel-Constantin Mierla [Fri, 23 Oct 2009 13:57:40 +0000 (15:57 +0200)]
update bad_URIs statistics
(cherry picked from commit feef8d66b067e34459660be78b1f6b2625eaa533)

9 years agoupdate bad_msg_hdr statistics
Daniel-Constantin Mierla [Fri, 23 Oct 2009 13:51:39 +0000 (15:51 +0200)]
update bad_msg_hdr statistics
(cherry picked from commit 0c7926f1a854aed5af4541518bc0cacdf4fce7e7)

9 years agocore: update fwd_reqs stat
Daniel-Constantin Mierla [Tue, 13 Oct 2009 19:40:04 +0000 (21:40 +0200)]
core: update fwd_reqs stat
(cherry picked from commit 6a84eeebc2575d90d5795abb95af33ab37407aef)

9 years agokex: support to update core stats via core events
Daniel-Constantin Mierla [Tue, 13 Oct 2009 19:28:42 +0000 (21:28 +0200)]
kex: support to update core stats via core events
(cherry picked from commit ea5ee19268c6a7e6f69df674b16fb19d2a2d6409)

9 years agocore: added new event SREV_CORE_STATS
Daniel-Constantin Mierla [Tue, 13 Oct 2009 18:47:35 +0000 (20:47 +0200)]
core: added new event SREV_CORE_STATS

- to be used by Kamailio core statistics not included in stock SR core
(cherry picked from commit 47c89177ce276cdf8f6a2d06fdd3359ba283fe4c)

9 years agoMerge remote branch 'origin/sr_3.0'
Andrei Pelinescu-Onciul [Mon, 1 Feb 2010 11:44:30 +0000 (12:44 +0100)]
Merge remote branch 'origin/sr_3.0'

* origin/sr_3.0:
  tm: fix setting the pre-T callbacks
  drouting: register MI commands
  drouting(k): Makefile updated to link libs
  registrar(k): preserve old bflags upon lookup
  pv: fixed author name
  tm: set request and reply for TMCB_RESPONSE_SENT
  tm: run release function for tmcb parameters
  tm: t_on_xyz("0") fixup updates
  core: usage of drop in onsend_route for Kamailio compatibility
  core: exit() is now equivalent to exit 1
  core: drop reply ser compatibility
  core: drop reply in K compatible style
  sanity: fix include file due to previous re-location
  sanity: moved module from modules_s to modules

9 years agoMerge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0
Andrei Pelinescu-Onciul [Mon, 1 Feb 2010 11:36:49 +0000 (12:36 +0100)]
Merge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0

* origin/tmp/k3.0_sr_backports:
  tm: fix setting the pre-T callbacks
  drouting: register MI commands
  drouting(k): Makefile updated to link libs
  registrar(k): preserve old bflags upon lookup
  pv: fixed author name
  tm: set request and reply for TMCB_RESPONSE_SENT
  tm: run release function for tmcb parameters
  tm: t_on_xyz("0") fixup updates
  core: usage of drop in onsend_route for Kamailio compatibility
  core: exit() is now equivalent to exit 1
  core: drop reply ser compatibility
  core: drop reply in K compatible style
  sanity: fix include file due to previous re-location
  sanity: moved module from modules_s to modules

9 years agotm: fix setting the pre-T callbacks
Daniel-Constantin Mierla [Mon, 1 Feb 2010 10:27:20 +0000 (11:27 +0100)]
tm: fix setting the pre-T callbacks

- introduced in the fix for uac module (affecting only uac)
- credits to Andrei Pelinescu-Onciul
(cherry picked from commit 32d3e9c98943ad298f09d26db83ecf4ce5c2cc0e)

9 years agodrouting: register MI commands
Daniel-Constantin Mierla [Wed, 27 Jan 2010 11:33:26 +0000 (12:33 +0100)]
drouting: register MI commands

- the module didn't register the MI commands in mod init
- reported by Denis Putyato
(cherry picked from commit f12562923e580644f20ae964264747be849d1ce9)
(cherry picked from commit c2f9d800c367d614411159c599f078fbcc0e311e)

9 years agodrouting(k): Makefile updated to link libs
Daniel-Constantin Mierla [Mon, 25 Jan 2010 09:06:41 +0000 (10:06 +0100)]
drouting(k): Makefile updated to link libs

- fixed missing core libs in Makefile
- reported by Denis Pulyato
(cherry picked from commit f572564e862a56470ccb2bc2aa2b23fcbb5dd318)

9 years agoregistrar(k): preserve old bflags upon lookup
Daniel-Constantin Mierla [Mon, 18 Jan 2010 14:43:32 +0000 (15:43 +0100)]
registrar(k): preserve old bflags upon lookup

- lookup was resetting bflags value with what was retrieved from
  location table
- preserve now bflags set in config before
- reported by Ricardo Martinez
(cherry picked from commit e6eceeb8ccce8b37d09f5f69cafb97e007467d78)

9 years agopv: fixed author name
Daniel-Constantin Mierla [Mon, 18 Jan 2010 11:35:46 +0000 (12:35 +0100)]
pv: fixed author name

- forgotten when creating readme files starting from another module
  docbook files
(cherry picked from commit 45f76f44abca5d049c3d289a1f9d09c6821c92d9)

9 years agotm: set request and reply for TMCB_RESPONSE_SENT
Daniel-Constantin Mierla [Mon, 18 Jan 2010 10:59:19 +0000 (11:59 +0100)]
tm: set request and reply for TMCB_RESPONSE_SENT

- for some reason they were NULL
- affected was sip_trace
- credits to Nguyen Quang Tri fore report and troubleshooting
(cherry picked from commit 03ab185bca42e5788eeef5f5c13e02e547c524a1)

9 years agotm: run release function for tmcb parameters
Daniel-Constantin Mierla [Fri, 15 Jan 2010 21:09:01 +0000 (22:09 +0100)]
tm: run release function for tmcb parameters

- allow early registration of tm cb (in use by k uac module for example,
  reported by Vulpyne)
- release function calling was missing
(cherry picked from commit 68d63835c6ec1a3fa4984aa3eb3fcc081a4f1f86)

9 years agotm: t_on_xyz("0") fixup updates
Daniel-Constantin Mierla [Fri, 15 Jan 2010 19:29:46 +0000 (20:29 +0100)]
tm: t_on_xyz("0") fixup updates

- if parameter of t_on_reply, t_on_failure, t_on_branch is 0 do not call
  fix_routes and set the parameter value to 0
- resets previous calls of the function with non-zero value and does not
  print warning message at startup because the route is not found
(cherry picked from commit 53d7cb1dae02e4709a10f869e8ec748df73bec37)

9 years agocore: usage of drop in onsend_route for Kamailio compatibility
Daniel-Constantin Mierla [Thu, 24 Dec 2009 16:11:58 +0000 (17:11 +0100)]
core: usage of drop in onsend_route for Kamailio compatibility

- in K exit and drop have different behavior in some cases
- fr onsend_route exit means stop executing the actions and drop does in
  addition discard sending the message
(cherry picked from commit 8a43c6fcb21ff7aeb097b1d8791bfc3d8f020bcb)

9 years agocore: exit() is now equivalent to exit 1
Andrei Pelinescu-Onciul [Mon, 1 Feb 2010 11:16:50 +0000 (12:16 +0100)]
core: exit() is now equivalent to exit 1

exit or exit() no longer drop messages by default. They now end
the script with return==1 (instead of 0).
Note that exit 0 is equivalent with DROP in non-kamailio mode and
in most routes, but this kind of usage is deprecated (use drop
instead of exit 0).

9 years agocore: drop reply ser compatibility
Andrei Pelinescu-Onciul [Mon, 1 Feb 2010 11:06:08 +0000 (12:06 +0100)]
core: drop reply ser compatibility

- drop reply also if ret==0, not only on DROP
  (e.g. modules function returning 0). This preserves
  compatibility with old scripts.
- uncomment the onreply_route error handling. It was commented out
  by the last commit
  (0621319 core: drop reply in K compatible style). To disable it,
  define NO_ONREPLY_ROUTE_ERROR.

9 years agocore: drop reply in K compatible style
Daniel-Constantin Mierla [Thu, 29 Oct 2009 10:28:20 +0000 (11:28 +0100)]
core: drop reply in K compatible style

- drop reply in default onreply_route when using 'drop'

9 years agosanity: fix include file due to previous re-location
Daniel-Constantin Mierla [Wed, 28 Oct 2009 22:38:07 +0000 (23:38 +0100)]
sanity: fix include file due to previous re-location
(cherry picked from commit f771b05fe8f24bebe18962c4169176e47e099ef8)

9 years agosanity: moved module from modules_s to modules
Daniel-Constantin Mierla [Wed, 28 Oct 2009 22:07:45 +0000 (23:07 +0100)]
sanity: moved module from modules_s to modules

- modules_k/sanity removed (it was an adapted version for k 1.5)
(cherry picked from commit 011cc3ffacfbc6faf65a879d3558cd789f101237)

9 years agoapp_lua: do basic Lua probing before fork
Daniel-Constantin Mierla [Sat, 30 Jan 2010 16:05:12 +0000 (17:05 +0100)]
app_lua: do basic Lua probing before fork

- check if Lua files given to load parameter exist

9 years agocore: use dlflags to load modules
Daniel-Constantin Mierla [Sat, 30 Jan 2010 16:02:37 +0000 (17:02 +0100)]
core: use dlflags to load modules

- dlflags var used for dlopen function

9 years agoapp_lua: function params can be dynamic strings
Daniel-Constantin Mierla [Fri, 29 Jan 2010 21:52:45 +0000 (22:52 +0100)]
app_lua: function params can be dynamic strings

- all functions accept parameters with PVs that are evaluated at runtime
- new function lua_runstring() to run lua script in the context of
  loaded lua files at startup
- helper functions to return boolean to lua and print lua stack in c
  side

9 years agoapp_lua: added helper function to return bool
Daniel-Constantin Mierla [Fri, 29 Jan 2010 17:42:10 +0000 (18:42 +0100)]
app_lua: added helper function to return bool

9 years agoapp_lua: exported sl get_reply_totag() to Lua
Daniel-Constantin Mierla [Fri, 29 Jan 2010 17:36:59 +0000 (18:36 +0100)]
app_lua: exported sl get_reply_totag() to Lua

9 years agoxlog(k): two new functions xlogl and xdbgl
Elena-Ramona Modroiu [Fri, 29 Jan 2010 16:55:45 +0000 (17:55 +0100)]
xlog(k): two new functions xlogl and xdbgl

- xlogl is similar to xlog, in adition prints the config line number at
  the beninning of message
- xdbgl is similar to xdbg, in adition prints the config line number at
  the beninning of message
- (c) updated to reflect current content
- handy for troubleshooting as same messages might be used across
  config, making easier to follow the execution path

9 years agoMakefile: app_python added to exclude_modules
Daniel-Constantin Mierla [Fri, 29 Jan 2010 14:00:12 +0000 (15:00 +0100)]
Makefile: app_python added to exclude_modules

- depends on python devel libs

9 years agoRevert "Revert "Add Python module, still WIP, but should be usable. No xml"."
sobomax [Fri, 29 Jan 2010 12:48:21 +0000 (04:48 -0800)]
Revert "Revert "Add Python module, still WIP, but should be usable. No xml"."

This reverts commit e08eaddb181637f4fbb3a165fb0827b9a964f6bd.

9 years agoRevert "Add Python module, still WIP, but should be usable. No xml".
sobomax [Fri, 29 Jan 2010 12:42:06 +0000 (04:42 -0800)]
Revert "Add Python module, still WIP, but should be usable. No xml".
Hopefully Gods of GIT will be more forgiving to poor me this time.

This reverts commit cfd0e860c912645708c7286f02d8fc92b2f1f61d.

9 years agoAdd Python module, still WIP, but should be usable. No xml
sobomax [Fri, 29 Jan 2010 12:30:28 +0000 (04:30 -0800)]
Add Python module, still WIP, but should be usable. No xml
documentation yet, some notes can be found here:

http://www.b2bua.org/wiki/PythonSEROpenSIPSKamailio

If anybody wants to step in and lend me a helping hand with the
xml docs please be my guest.

Thanks to the Daniel-Constantin Mierla for the help with the
port.

9 years agopv: fix compile warning for snprintf
Daniel-Constantin Mierla [Fri, 29 Jan 2010 12:08:04 +0000 (13:08 +0100)]
pv: fix compile warning for snprintf

9 years agoMerge remote branch 'origin/andrei/pointer_alias_warnings'
Andrei Pelinescu-Onciul [Thu, 28 Jan 2010 19:19:49 +0000 (20:19 +0100)]
Merge remote branch 'origin/andrei/pointer_alias_warnings'

compile warning fixes

* origin/andrei/pointer_alias_warnings:
  rr(s): fix recently introduced avp_cookie name bug
  core: avp aliasing warning fixes
  group: fix pointer aliasing warnings
  rr: pointer aliasing warning fixes
  db_postgres: pointer aliasing warnings fixes
  core: pointer aliasing warnings fixed
  cfg: fixed pointer aliasing warnings

Conflicts:
cfg/cfg_ctx.h
route.c

9 years agorr(s): fix recently introduced avp_cookie name bug andrei/pointer_alias_warnings
Andrei Pelinescu-Onciul [Thu, 28 Jan 2010 18:58:06 +0000 (19:58 +0100)]
rr(s): fix recently introduced avp_cookie name bug

- fix bug introduced in 34dc702 (while trying to fix pointer
  aliasing warnings)

9 years agocore: avp aliasing warning fixes
Andrei Pelinescu-Onciul [Thu, 28 Jan 2010 18:52:37 +0000 (19:52 +0100)]
core: avp aliasing warning fixes

- fixed bug introduced in e95c077.