sip-router
11 years agomakefile: minor fixes
Andrei Pelinescu-Onciul [Thu, 25 Jun 2009 10:21:35 +0000 (12:21 +0200)]
makefile: minor fixes

- main.d and core_cmd.d  generation failed on clean sources,
  because of missing autover.h
- make tar excludes now .git*, *.swo and includes autover.h

11 years agomakefile: MAIN_NAME reverted
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 21:55:16 +0000 (23:55 +0200)]
makefile: MAIN_NAME reverted

MAIN_NAME reverted to ser (should be changed _only_ when we agree
on the short name).

11 years agomakefile: added CFG_NAME and SCR_NAME
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 21:38:19 +0000 (23:38 +0200)]
makefile: added CFG_NAME and SCR_NAME

CFG_NAME and SCR_NAME are used now to hold the name or prefix for
the config and scripts _in_ the repository. All this configs and
scripts will be installed using MAIN_NAME
(e.g.  $(CFG_NAME)-basic.cfg is installed into
       etc/$(MAIN_NAME)/$(MAIN_NAME)-basic.cfg).
This was needed to allow installing using different names, without
having to revert the recent mass re-naming of man, config and
scripts.

11 years agoversion number changed to 2.99.0-dev-01-serk
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 20:30:55 +0000 (22:30 +0200)]
version number changed to 2.99.0-dev-01-serk

11 years agomakefile: REPO_VER: try to detect dirty local repo
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 20:25:33 +0000 (22:25 +0200)]
makefile: REPO_VER: try to detect dirty local repo

- add -dirty to the git sha if when autover.h is generated the local
repository contains locally modified files.
- make tar forces autover.h generation

11 years agocore: the version contains now the git sha if known
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 19:15:06 +0000 (21:15 +0200)]
core: the version contains now the git sha if known

The version numbers displayed by ser -V or sercmd core.version
contain now the git sha.

11 years agomakefile: auto-generate autover.h based on the git sha
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 19:11:24 +0000 (21:11 +0200)]
makefile: auto-generate autover.h based on the git sha

Automatically re-generate autover.h each time some change in the
repository happens. The file will contain a macro (REPO_VER) set
to the first 6 letters of the git sha. This allows unique
identification for the git branch and commits from which the code
was generated.
If the code is not compiled from a git repository, use "unknown"
for the REPO_VER.

11 years agotmx: new pseudo-variable $T_inv(pv)
Daniel-Constantin Mierla [Wed, 24 Jun 2009 20:42:47 +0000 (22:42 +0200)]
tmx: new pseudo-variable $T_inv(pv)

- access the INVITE request while processing the CANCEL
- flags, parts of INVITE can be now used during CANCEL handling in
  config

11 years agotm: t_lookupOriginalT() added to TM API structure
Daniel-Constantin Mierla [Tue, 23 Jun 2009 15:22:08 +0000 (17:22 +0200)]
tm: t_lookupOriginalT() added to TM API structure

11 years agotmx: grouped pv static variables in a structure
Daniel-Constantin Mierla [Tue, 23 Jun 2009 15:15:25 +0000 (17:15 +0200)]
tmx: grouped pv static variables in a structure

- cleaner representation of $T_{req,rpl} contexts

11 years ago* Core: Changed sip-router to $(MAIN_NAME) in Makefile.
Juha Heinanen [Wed, 24 Jun 2009 19:49:26 +0000 (22:49 +0300)]
* Core: Changed sip-router to $(MAIN_NAME) in Makefile.

11 years ago* Scripts: Renamed ser_mysql.sh -> sip-router_mysql.sh.
Juha Heinanen [Wed, 24 Jun 2009 19:10:57 +0000 (22:10 +0300)]
* Scripts: Renamed ser_mysql.sh -> sip-router_mysql.sh.

11 years ago* Core: ser -> sip-router changes
Juha Heinanen [Wed, 24 Jun 2009 19:01:55 +0000 (22:01 +0300)]
* Core: ser -> sip-router changes

* Changed ser to sip-router.
* Updated mailing lists and URLs.

11 years agoCore: Renamed ser.cfg.5 to sip-router.cfg.5
Juha Heinanen [Wed, 24 Jun 2009 18:57:20 +0000 (21:57 +0300)]
Core: Renamed ser.cfg.5 to sip-router.cfg.5

11 years ago* Core: Renamed ser.8 to sip-router.8
Juha Heinanen [Wed, 24 Jun 2009 18:25:58 +0000 (21:25 +0300)]
* Core: Renamed ser.8 to sip-router.8

* Renamed ser.8 to sip-router.8.
* Small edits in sip-router.8.

11 years agotm: safety checks for possible escaped neg. ACKs
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 18:01:46 +0000 (20:01 +0200)]
tm: safety checks for possible escaped neg. ACKs

In normal operation looking up a transaction corresponding to an ACK to a
neg. reply or to a local transaction should end up in script
termination, so when t_relay_to() is called for a neg. ACK, the
transaction should not have been looked up previously. If this
assumption fails, the ACK will be processed normally (resulting at
worst in calling the TMCB_ACK_NEG_IN callback multiple times for
the same ACK) and a warning message will be logged.

11 years agomake: excluded more modules by default
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 17:50:06 +0000 (19:50 +0200)]
make: excluded more modules by default

Excluded more modules which either require external libraries or
external includes to compile.
New modules on the exclude_modules list: perl, dialplan, lcr,
utils, presence, presence_dialoginfo, presence_xml, pua, pua_bla,
pua_dialoginfo, pua_usrloc, pua_xmpp, regex, xcap_client, h350.

11 years ago* modules/tls: ser to sip-router renaming
Juha Heinanen [Wed, 24 Jun 2009 17:49:10 +0000 (20:49 +0300)]
* modules/tls: ser to sip-router renaming

* Renamed ser files to sip-router files and updated README.

11 years agotm: fix t_check messing up replies branch
Andrei Pelinescu-Onciul [Wed, 24 Jun 2009 13:06:26 +0000 (15:06 +0200)]
tm: fix t_check messing up replies branch

- when t_check was called twice for a reply (e.g. t_check_trans() in
  script in the main onreply_route and then internally in tm
  reply_received), the second call did return an invalid branch.
  Now the current branch is remembered along T so t_check will
  always return a valid branch.

- added T_branch, a new global variable that holds the current
  branch corresponding to T (is valid only if T is valid).

- set_t() takes now 2 parameters: a transaction and the current
  branch for the transaction. If the current branch does not make
  sense (e.g. for requests), T_BR_UNDEFINED must be used.
  This change ensures that every time T is set or changed, the
  current branch is also updated.

- more comments added

11 years ago* modules/lcr: fixed crash when module initialization failed
Juha Heinanen [Wed, 24 Jun 2009 13:08:09 +0000 (16:08 +0300)]
* modules/lcr: fixed crash when module initialization failed

* Added checks that shared memory has been really allocated before
  trying to free it.  Fixes crash when during failed module
  initialization.

11 years ago* Core, etc, documentation: renamed ser to sip-router
Juha Heinanen [Wed, 24 Jun 2009 12:44:10 +0000 (15:44 +0300)]
* Core, etc, documentation: renamed ser to sip-router

* Renamed ser to sip-router in Makefile, etc files and some core files.
* Renamed some etc files from ser based name to  sip-router based name.

11 years agoMerge branch 'missing_imports'
Jan Janak [Wed, 24 Jun 2009 11:36:56 +0000 (13:36 +0200)]
Merge branch 'missing_imports'

Add various tools and scripts from Kamailio svn repository to
the shared sip-router git repository.

* missing_imports: (628 commits)
  - updated email address
  - fix kamctl for cr after table changes for 1.5.x, bug #2794168
  - 2 fixes in commented examples
  - call nat detection route (reported by Mark Sidell)
  - set 0 default values for the new columns
  - small rephrasing, extend man page a bit
  - layout fix in man page for kamdbctl
  - Fixed "kamctl ping": From and Contact in generated OPTIONS didn't contain "sip:"
  - build memcached module as own debian package
  - Added libmemcache-dev to "control" files for deb packages (patch by Andreas Heise)
  - Improved RR section in default config file: record_route() just for INVITE and SUBSCRIBE (credits to Jon Bonilla)
  - Improved Debian init script:
  - remove debian-sarge, etch is now oldstable
  - increment debian packaging version for trunk
  - add missing libpcre3-dev depencency
  - fix purple table name for non mysql databases setup
  - small spelling fix
  - remove purple module from sarge packaging
  - updated with more examples
  - regenerated db table creation for dialog and purplemap
  ...

11 years agotmx: added K compatible tm statistics
Daniel-Constantin Mierla [Tue, 23 Jun 2009 10:46:21 +0000 (12:46 +0200)]
tmx: added K compatible tm statistics

11 years agotm: small wrapper to get TM stats via API
Daniel-Constantin Mierla [Tue, 23 Jun 2009 10:44:39 +0000 (12:44 +0200)]
tm: small wrapper to get TM stats via API

- used for K style statistics

11 years agonathelper(k): fixed content type check
Daniel-Constantin Mierla [Tue, 23 Jun 2009 09:58:26 +0000 (11:58 +0200)]
nathelper(k): fixed content type check

- mistakenly introduced with multipart body support
- reported by Pascal Maugeri

11 years agoMerge 'utils/profile' of kamailio svn into sip-router/utils
Jan Janak [Mon, 22 Jun 2009 16:22:13 +0000 (18:22 +0200)]
Merge 'utils/profile' of kamailio svn into sip-router/utils

* 'utils/profile' of kamailio svn:
  Initial revision

11 years agoMerge 'utils/kamunix' of kamailio svn into sip-router/utils
Jan Janak [Mon, 22 Jun 2009 16:20:46 +0000 (18:20 +0200)]
Merge 'utils/kamunix' of kamailio svn into sip-router/utils

* 'utils/kamunix' of kamailio svn:
  - fix another linking error on solaris
  - fix linking errors on solaris, this needs lresolv, reported
  - don't link with unnecessary libs, related to bug #1855859
  - renamed: openserunix -> kamunix

11 years agoMerge 'utils/db_oracle' of kamailio svn into sip-router/utils
Jan Janak [Mon, 22 Jun 2009 16:19:55 +0000 (18:19 +0200)]
Merge 'utils/db_oracle' of kamailio svn into sip-router/utils

* 'utils/db_oracle' of kamailio svn:
  - renamed: openserunix -> kamunix
  Add db_oracle module and toolses for it

11 years agoMerge 'utils/db_berkeley' of kamailio svn into sip-router/utils
Jan Janak [Mon, 22 Jun 2009 16:18:49 +0000 (18:18 +0200)]
Merge 'utils/db_berkeley' of kamailio svn into sip-router/utils

* 'utils/db_berkeley' of kamailio svn:
  - fix compilation on OpenBSD, related to missing includes paths and wrong
  - port from opensips r4574, credits goes to Bogdan
  - renamed: bdb_recover -> kambdb_recover
  - renamed: bdb_recover -> kambdb_recover
  - fix missing variable if compiled with EXTRA_DEBUG
  - change name in copyright headers
  - fix LIBS, don't link with unnecessary libraries, related to #1855859
  -fix memory leak in 'bdb_insert'
  - don't try to install the openserctl.db_berkeley, this is not available for now
  - disabled the utility compiling as it requires external libs.
  - import berkeley database module into trunk

11 years agoMerge '/scripts' of kamailio svn into sip-router/tools
Jan Janak [Mon, 22 Jun 2009 16:17:41 +0000 (18:17 +0200)]
Merge '/scripts' of kamailio svn into sip-router/tools

* 'scripts' of kamailio svn: (389 commits)
  - fix kamctl for cr after table changes for 1.5.x, bug #2794168
  - set 0 default values for the new columns
  - small rephrasing, extend man page a bit
  - layout fix in man page for kamdbctl
  - Fixed "kamctl ping": From and Contact in generated OPTIONS didn't contain "sip:"
  - fix purple table name for non mysql databases setup
  - regenerated db table creation for dialog and purplemap
  provided db schemes for purple module
  - update man pages date
  - small layout fix in man pages
  - add man page for kamdbctl command, credits to Frederick Bullik
  - update man page to actual kamctl help text, closes #2009848
  - sync database files with xml source (gw change, r5478)
  fix error introduced by previous commit (dump option for lcr)
  kamctl lcr: new option: dump
  * Fixed errors in 'lcr addgw' parameter handling.
  fix addgw for lcr
  - new column to dispatcher table to hold priority
  - update database schemes after recent lcr extension (ping functionality)
  * Introduced optional aliveness checking of gateways.  Contributed by
  ...

11 years agoMerge 'pkg' of kamailio svn into sip-router/pkg/kamailio
Jan Janak [Mon, 22 Jun 2009 16:16:47 +0000 (18:16 +0200)]
Merge 'pkg' of kamailio svn into sip-router/pkg/kamailio

* 'pkg' of kamailio svn: (166 commits)
  - updated email address
  - build memcached module as own debian package
  - Added libmemcache-dev to "control" files for deb packages (patch by Andreas Heise)
  - Improved Debian init script:
  - remove debian-sarge, etch is now oldstable
  - increment debian packaging version for trunk
  - add missing libpcre3-dev depencency
  - remove purple module from sarge packaging
  - fix description, debian radius packages also contains the peering module
  - add purple module to debian packaging
  - fix packaging for utils module, wrong directory name
  - add utils module to packaging
  - activate module man page building for debian packages
  Add RLS to the debian-presence-package.
  - update port for OpenBSD (created for 1.4.2)
  * LCR module is now using Perl compatible PCRE regular expression
  - add modules for dialog-info support to pua and presence module
  - add manifest file to start/ stop/ restart kamailio/ openser with Solaris 10
  * Packaging changes related to new misc_radius module
  - fix e-mail address
  ...

11 years agoMerge '/examples' of kamailio svn into sip-router/examples
Jan Janak [Mon, 22 Jun 2009 16:14:07 +0000 (18:14 +0200)]
Merge '/examples' of kamailio svn into sip-router/examples

* '/examples' of kamailio svn:
  - renaming: openser -> kamailio
  - doubled $ sign for the env variables, otherwise they would be considered openser PVs
  - fix extra acc mysql example table
  - fix several errors in example configuration
  set proper SVN properties
  - send Message and click-to-dial scripts updated to current IM fifo syntax
  - fix for handling \r\n
  - ctd.sh version for 1.2.0+
  - added sample config to do accounting to MySQL based on default config file
  - examples updated
  - config scripts updated to reflect latest changes (mainly FIFO related)
  - 'break' replaced with 'return' in default config and example files
  Initial revision

11 years agoMerge etc/ of kamailio svn into sip-router/etc
Jan Janak [Mon, 22 Jun 2009 16:13:05 +0000 (18:13 +0200)]
Merge etc/ of kamailio svn into sip-router/etc

* '/etc' of kamailio svn: (42 commits)
  - 2 fixes in commented examples
  - call nat detection route (reported by Mark Sidell)
  - Improved RR section in default config file: record_route() just for INVITE and SUBSCRIBE (credits to Jon Bonilla)
  - small spelling fix
  - updated with more examples
  - the example of arming other event routes for INVITE commentted
  - uri module has been merged in siputils
  - default config also need pv
  - renaming
  - rename openser.cfg -> kamailio.cfg
  - renaming scripts part 1
  - revert commit as this don't work for installation where radius is
  - disable radius support in the default config for the acc module, as
  - spelling fix, accouting -> accounting
  - examples set to default values
  - update default config after db name change
  - turn debugging off
  - fix ACK handling
  - fix in-dialog SUBSCRIBE routing
  - fix error in default config that prevents the server start
  ...

11 years agotm doc: README re-generated
Andrei Pelinescu-Onciul [Mon, 22 Jun 2009 15:32:44 +0000 (17:32 +0200)]
tm doc: README re-generated

11 years agotm doc: t_check_trans and note about fr_timer_avp
Andrei Pelinescu-Onciul [Mon, 22 Jun 2009 15:26:47 +0000 (17:26 +0200)]
tm doc: t_check_trans and note about fr_timer_avp

- added missing t_check_trans docs
- added fr_timer_avp and fr_inv_timer_avp notes about new empty/zero
  avp value handling (use default value) and about using seconds
  instead of milliseconds.

11 years agotm: ignore avp timers with 0 or empty value
Andrei Pelinescu-Onciul [Mon, 22 Jun 2009 14:00:10 +0000 (16:00 +0200)]
tm: ignore avp timers with 0 or empty value

Kamailio compatibility: If an avp timer (fr_timer_avp or
fr_inv_timer_avp) is empty ("") or 0, use the default timer
value (fr_timer or fr_inv_timer).

Reported-by: Juha Heinanen jh at tutpro com.
11 years agonathelper(k): skip trailing whitespaces and crlf
Daniel-Constantin Mierla [Mon, 22 Jun 2009 15:25:18 +0000 (17:25 +0200)]
nathelper(k): skip trailing whitespaces and crlf

- was affecting multipart bodies, causing nortpproxy string to be placed
  in the wrong position
- reported by Pascal Maugeri

11 years ago* core
Juha Heinanen [Mon, 22 Jun 2009 14:36:59 +0000 (17:36 +0300)]
* core

* Updated gw and lcr table schemas.

11 years ago* modules: lcr
Juha Heinanen [Mon, 22 Jun 2009 14:19:53 +0000 (17:19 +0300)]
* modules: lcr

* New version of lcr module that adds support for multiple LCR instances
  and possibility to defunct unresponsive gateways.

11 years ago* Core (documentation)
Juha Heinanen [Mon, 22 Jun 2009 14:02:01 +0000 (17:02 +0300)]
* Core (documentation)

* Added some SIP Router entities.

11 years agokex: fix in mi debug command with no parameter
Daniel-Constantin Mierla [Mon, 22 Jun 2009 09:17:58 +0000 (11:17 +0200)]
kex: fix in mi debug command with no parameter

- reported by Juha Heinanen

11 years agomsilo(k): check_message_support() only for REGISTER
Daniel-Constantin Mierla [Sun, 21 Jun 2009 22:25:50 +0000 (00:25 +0200)]
msilo(k): check_message_support() only for REGISTER

- it verifies if the contact has a non-zero expires value
- look first at contact parameters then Expires header

11 years agonathelper(k): support for multipart/mixed body
Daniel-Constantin Mierla [Sun, 21 Jun 2009 21:31:43 +0000 (23:31 +0200)]
nathelper(k): support for multipart/mixed body

11 years agoregistrar(k): different return codes for successful save
Daniel-Constantin Mierla [Sun, 21 Jun 2009 21:25:16 +0000 (23:25 +0200)]
registrar(k): different return codes for successful save

- save(...) returns different return codes
- -1: error
-  1: insert
-  2: update
-  3: delete
-  4: contacts list replied

11 years ago* core
Juha Heinanen [Fri, 19 Jun 2009 13:40:24 +0000 (16:40 +0300)]
* core

* Added fixup_igp_pvar and fixup_free_igp_pvar fixup functions.

11 years ago* Small clarification in filter_body text.
Juha Heinanen [Wed, 17 Jun 2009 18:37:36 +0000 (21:37 +0300)]
* Small clarification in filter_body text.

11 years ago* modules_k/textops
Juha Heinanen [Wed, 17 Jun 2009 18:23:57 +0000 (21:23 +0300)]
* modules_k/textops

* filter_body function now takes multipart/mixed boundary string
  from Content-Type ;boundary parameter.

11 years agokex: implemented mi debug command
Daniel-Constantin Mierla [Wed, 17 Jun 2009 09:09:19 +0000 (11:09 +0200)]
kex: implemented mi debug command

- MI command to change the debug level at runtime
- uses same signature as previous Kamailio versions

11 years agohtable: more match ops in counting items with $shtcn and $shtcv
Elena-Ramona Modroiu [Fri, 12 Jun 2009 10:03:00 +0000 (13:03 +0300)]
htable: more match ops in counting items with $shtcn and $shtcv

11 years agohtable: delete item when assigning $null
Elena-Ramona Modroiu [Fri, 12 Jun 2009 10:01:48 +0000 (13:01 +0300)]
htable: delete item when assigning $null

- compatibility with K style of removing item

11 years agopresence_xml: documentation for xml_ns parameter
Daniel-Constantin Mierla [Fri, 12 Jun 2009 08:24:39 +0000 (11:24 +0300)]
presence_xml: documentation for xml_ns parameter

- parameter that allow registering namespace prefixes for XPath handling

11 years agopresence_xml: support to handle namespace prefixes
Daniel-Constantin Mierla [Fri, 12 Jun 2009 08:19:37 +0000 (11:19 +0300)]
presence_xml: support to handle namespace prefixes

11 years agopresence_xml: safety checks for null node set
Daniel-Constantin Mierla [Thu, 11 Jun 2009 21:31:39 +0000 (00:31 +0300)]
presence_xml: safety checks for null node set

- print string reprezentation of the node if it has no cdata value

11 years agopresence_xml: readme updated
Daniel-Constantin Mierla [Thu, 11 Jun 2009 19:21:28 +0000 (22:21 +0300)]
presence_xml: readme updated

- documented passive_mode parameter and mentioned $xml(...) PV

11 years agotm: t_check_trans ends script on neg. or local ACK
Andrei Pelinescu-Onciul [Thu, 11 Jun 2009 18:25:47 +0000 (20:25 +0200)]
tm: t_check_trans ends script on neg. or local ACK

- t_check_trans will now end the script if the message is an ACK
  to an existing transaction ended with a negative reply or an ACK
  to a local transaction (as opposed to a normal proxied one).
  Before ending the script it will process the ACK in the same way
  t_newtran would, including calling the appropriate callbacks.
  t_check_trans behaviour for other requests (e.g. retransmissions,
  cancels, e2e ACK) remains unchanged.

- added missing callbacks for the retransmitted request case.

Reported-and-tested-by: Juha Heinanen jh at tutpro com.
11 years agopresence_xml: implementation of pv $xml(...)
Daniel-Constantin Mierla [Thu, 11 Jun 2009 18:02:47 +0000 (21:02 +0300)]
presence_xml: implementation of pv $xml(...)

- handling of xml docs using xpath
- $xml(name=>doc) - get/set an xml doc under 'name'
- $xml(name=>xpath:xpath-expression) - evaluate/update xpath extension
- example:
$xml(x=>doc) = '<?xml version="1.0" encoding="UTF-8"?><a><b>test</b></a>';
xlog("content of node b: $xml(a=>xpath:/a/b/text())\n");
$xml(a=>xpath:/a/b) = "1234";

- TODO list:
- extend presence modules to work also with xml documents from $xml() PV
- support to set node content to an xml tree

- usage:
- do routing decisions based on content of xml documents comming
  with SIP messages (such as PUBLISH)
- update xml document content
- evaluate XPath-allowed expressions and functions, see:
http://www.w3.org/TR/xpath

11 years agopresence_xml: new pv $xml(...)
Daniel-Constantin Mierla [Thu, 11 Jun 2009 17:12:35 +0000 (20:12 +0300)]
presence_xml: new pv $xml(...)

- $xml(...) can be used to handle xml documents
- xpath access and set of content
- module can act in passive mode by settin 'passive_mode' parameter to 1
  (no bind to presence module, no connection to database)

11 years agocore: pvapi - be consistent in pv_printf_s()
Daniel-Constantin Mierla [Thu, 11 Jun 2009 17:10:57 +0000 (20:10 +0300)]
core: pvapi - be consistent in pv_printf_s()

- there were cases when no copy was done, therefore no ending '\0'

11 years agotm: callbacks: obsolate description is removed.
Miklos Tirpak [Thu, 11 Jun 2009 14:53:59 +0000 (16:53 +0200)]
tm: callbacks: obsolate description is removed.

The description about the callback insertion was
confusing because no locking is necessary to insert
new callbacks.

11 years agocall_control: changed LM_ macro calls
Raul Alexis Betancor Santana [Thu, 11 Jun 2009 14:07:21 +0000 (15:07 +0100)]
call_control: changed LM_ macro calls

- LM_ macro call changed to LOG calls

11 years ago* Just the call-control module from OpenSIPS ported to Sip-Router
Raul Alexis Betancor Santana [Thu, 11 Jun 2009 12:01:15 +0000 (13:01 +0100)]
* Just the call-control module from OpenSIPS ported to Sip-Router

11 years agodb: Fixing problem with incorrect initialization of db connections
Jan Janak [Wed, 10 Jun 2009 20:41:27 +0000 (22:41 +0200)]
db: Fixing problem with incorrect initialization of db connections

The sip-router core is based on the ser core and thus has a slightly
different initialization sequence of the main sr process. Namely we
also call the child_init function of all modules in the main process
with rank PROC_INIT. This is a kind of delayed initialization (called
after all mod_init functions have finished but before the main
process started forking children).

There should be no database connections opened in child_init called
with PROC_INIT parameter. This would result in database connections
opened in the main process and inherited by all children. Such
connections could then be used from multiple processes simultaneously
and that can cause race conditions.

This change checks for the value of the rank parameter in child_init
functions and skips database initialization if the value is PROC_INIT,
PROC_MAIN, or PROC_TCP_MAIN.

The problem was reported by Juha and he deserves the credit for helping to
investigate the issue.

11 years agoxcap_client: proper return code in child init function when all is ok
Daniel-Constantin Mierla [Tue, 9 Jun 2009 15:34:35 +0000 (18:34 +0300)]
xcap_client: proper return code in child init function when all is ok

- introduced by previous commit, reported by Pascal Maugeri

11 years ago* Closed database connection after two error case. Thanks to Jan for
Juha Heinanen [Tue, 9 Jun 2009 12:54:42 +0000 (15:54 +0300)]
* Closed database connection after two error case.  Thanks to Jan for
  pointing out the bug.

11 years agoxcap_client: init db con per process
Daniel-Constantin Mierla [Tue, 9 Jun 2009 11:47:15 +0000 (14:47 +0300)]
xcap_client: init db con per process

- introduced child_init function to init db connection per process
- db connection closed in destroy function
- reported and credits to Pascal Maugeri and Inaki Baz Castillo

11 years agohtable: replace PV_NAME_PVAR with PV_NAME_OTHER
Daniel-Constantin Mierla [Tue, 9 Jun 2009 09:02:22 +0000 (12:02 +0300)]
htable: replace PV_NAME_PVAR with PV_NAME_OTHER

- forgotten to be updated when PV_NAME_OTHER was introduced to get rid
  of PVAR type hack
- name of $sht is a custom structure, not a PV
- reported by Christian Koch

11 years agocore: fixed pv_get_spec_name()
Daniel-Constantin Mierla [Tue, 9 Jun 2009 08:59:53 +0000 (11:59 +0300)]
core: fixed pv_get_spec_name()

- check for PV_NAME_PVAR was wrongly used with PV_NAME_INTSTR
- reported and credits to Christian Koch

11 years agoxlog(k): readme updated
Elena-Ramona Modroiu [Tue, 9 Jun 2009 07:20:51 +0000 (10:20 +0300)]
xlog(k): readme updated

11 years agoxlog(k): replaced LM_GEN1 with LOG_
Elena-Ramona Modroiu [Tue, 9 Jun 2009 07:10:15 +0000 (10:10 +0300)]
xlog(k): replaced LM_GEN1 with LOG_

- do not print file name and line
- printed prefix defaulted to "<script>: "
- value of prefix can be set by module parameter
- reported and credits to Juha Heinanen and Andrei Pelinescu-Onciul

11 years ago* Slit db query result check to query check and result check in order to
Juha Heinanen [Sat, 6 Jun 2009 15:20:15 +0000 (18:20 +0300)]
* Slit db query result check to query check and result check in order to
  get error message if query fails.
* Added check that db handle exists.

11 years ago* Database query result was not freed when there was error in getting
Juha Heinanen [Sat, 6 Jun 2009 10:02:42 +0000 (13:02 +0300)]
* Database query result was not freed when there was error in getting
  extra_hdrs pv value.

11 years agocore: regex fixup fix for k modules
Andrei Pelinescu-Onciul [Fri, 5 Jun 2009 13:19:59 +0000 (15:19 +0200)]
core: regex fixup fix for k modules

k modules that use the core regex fixup functions expect a pointer
to a regex, but got instead a double pointer to a regex.

11 years agotm: Document fr_timer_avp and fr_inv_timer_avp
Jan Janak [Thu, 4 Jun 2009 13:19:17 +0000 (15:19 +0200)]
tm: Document fr_timer_avp and fr_inv_timer_avp

This patch adds docbook documentation for fr_timer_avp and
fr_inv_timer_avp parameters of tm module and updates the
module README.

11 years agoMerge branch 'master' of ssh://tirpi@git.sip-router.org/sip-router
Miklos Tirpak [Thu, 4 Jun 2009 07:46:59 +0000 (09:46 +0200)]
Merge branch 'master' of ssh://tirpi@git.sip-router.org/sip-router

* 'master' of ssh://tirpi@git.sip-router.org/sip-router:
  core: added modulo operation
  * Improved presence database handling.
  * Introduced new function xcap_auth_status that is a standalone version
  pv: added new PV: $bs
  core: set 'fixed' shortcut to the value for fixup_uint...
  core: added shortcut to fixed value in fparam_t

11 years agoMerge branch 'master' into script_callbacks
Miklos Tirpak [Thu, 4 Jun 2009 07:35:00 +0000 (09:35 +0200)]
Merge branch 'master' into script_callbacks

* master:
  route_type: branch and onsend route bugs corrected
  * Commented out warning about deprecated avp name syntax.  I suggest to
  sl(k) - use load_tm_api()
  * modules_k/textops
  core: added km_parse_avp_spec()
  pv: parse K-style AVP aliases
  docbook: Generate TOC for root-level section elements
  make: required version is now 3.81
  test: gcc version test scripts
  tm: doc - added note about tmx module
  pua: use load_tm_api() instead of find_export()/load_tm()
  kex: added K pv_printf() function
  kex: added K dst uri related functions
  makefile: fix last commit
  * modules_k/acc: included Makefile.radius
  makefile: gcc version detection fix

Conflicts:

onsend.h

11 years agocore: added modulo operation
Daniel-Constantin Mierla [Thu, 4 Jun 2009 06:59:59 +0000 (09:59 +0300)]
core: added modulo operation

- a mod b - return the modulo result

11 years ago* Improved presence database handling.
Juha Heinanen [Wed, 3 Jun 2009 19:39:04 +0000 (22:39 +0300)]
* Improved presence database handling.

11 years ago* Introduced new function xcap_auth_status that is a standalone version
Juha Heinanen [Wed, 3 Jun 2009 15:54:03 +0000 (18:54 +0300)]
* Introduced new function xcap_auth_status that is a standalone version
  of modules_k/presence pres_auth_status function.  This allows checking
  of presence authorization status from a sip proxy that does not include
  an integrated presence server.

11 years agopv: added new PV: $bs
Daniel-Constantin Mierla [Wed, 3 Jun 2009 11:00:34 +0000 (14:00 +0300)]
pv: added new PV: $bs

- return body size computed from structure, not from Content Lenght
- $cl stays shortcut to $hdr(Content-Lenght) for backward compatibility

11 years agocore: set 'fixed' shortcut to the value for fixup_uint...
Daniel-Constantin Mierla [Wed, 3 Jun 2009 10:02:45 +0000 (13:02 +0300)]
core: set 'fixed' shortcut to the value for fixup_uint...

- K module expect the uint value instead of pointer to it
- reported by Juha Heinannen for nathelper module

11 years agocore: added shortcut to fixed value in fparam_t
Daniel-Constantin Mierla [Wed, 3 Jun 2009 09:11:27 +0000 (12:11 +0300)]
core: added shortcut to fixed value in fparam_t

- required for PVAR fixups in K modules

11 years agoroute_type: branch and onsend route bugs corrected
Miklos Tirpak [Wed, 3 Jun 2009 08:38:42 +0000 (10:38 +0200)]
route_type: branch and onsend route bugs corrected

- Branch and onsend routes did not restore the original
route_type after they have finished the execution,
so subsequent functions that need the route_type failed.
(For example t_relay() in the second branch did not work
if branch or onsend routes of the first branch were executed.)
- get_route_type() macro added.

11 years ago* Commented out warning about deprecated avp name syntax. I suggest to
Juha Heinanen [Tue, 2 Jun 2009 08:17:54 +0000 (11:17 +0300)]
* Commented out warning about deprecated avp name syntax.  I suggest to
  uncomment it, when sip-router itself doesn't anymore depend on integer
  named AVPs and it is truly possible to get rid of them.

11 years ago- updated email address
Daniel-Constantin Mierla [Mon, 1 Jun 2009 22:17:22 +0000 (22:17 +0000)]
- updated email address

git-svn-id: https://openser.svn.sourceforge.net/svnroot/openser/trunk@5866 689a6050-402a-0410-94f2-e92a70836424

11 years agosl(k) - use load_tm_api()
Daniel-Constantin Mierla [Mon, 1 Jun 2009 17:47:36 +0000 (20:47 +0300)]
sl(k) - use load_tm_api()

- better way to load the tm api as SR TM exports functions with
  NO_SCRIPT flag
- reported by Juha Heinanen

11 years ago* modules_k/textops
Juha Heinanen [Mon, 1 Jun 2009 17:45:18 +0000 (20:45 +0300)]
* modules_k/textops

* Changed "using hdr type" messages from INFO level to DBG level.

11 years agocore: added km_parse_avp_spec()
Daniel-Constantin Mierla [Mon, 1 Jun 2009 17:36:54 +0000 (20:36 +0300)]
core: added km_parse_avp_spec()

- K compatible avp spec parser

11 years agopv: parse K-style AVP aliases
Daniel-Constantin Mierla [Mon, 1 Jun 2009 17:36:07 +0000 (20:36 +0300)]
pv: parse K-style AVP aliases

11 years agoscript callbacks: corrections
Miklos Tirpak [Mon, 1 Jun 2009 15:33:38 +0000 (17:33 +0200)]
script callbacks: corrections

- callbacks have been tested, bugs found have
been corrected.

11 years agodocbook: Generate TOC for root-level section elements
Jan Janak [Mon, 1 Jun 2009 15:30:37 +0000 (17:30 +0200)]
docbook: Generate TOC for root-level section elements

Change the configuration of docbook XSL stylesheet so that they
generate the table of contents even for documents whose root-level
element is <section>. This is needed for docbook documentation in
modules that originate from SER.

11 years agoscript callbacks: onsend_route correction
Miklos Tirpak [Mon, 1 Jun 2009 14:33:59 +0000 (16:33 +0200)]
script callbacks: onsend_route correction

- The pre-script callbacks are executed only
if the onsend_route is defined.
- The callbacks can access the socket info.

11 years agoscript callbacks: onsend route
Miklos Tirpak [Mon, 1 Jun 2009 13:50:37 +0000 (15:50 +0200)]
script callbacks: onsend route

- pre- and post-script callbacks are executed also
for onsend route

11 years agoscript callbacks: typo correction: s/pre/post
Miklos Tirpak [Mon, 1 Jun 2009 13:19:07 +0000 (15:19 +0200)]
script callbacks: typo correction: s/pre/post

11 years agoscript callbacks: support for failure and branch routes
Miklos Tirpak [Mon, 1 Jun 2009 13:11:41 +0000 (15:11 +0200)]
script callbacks: support for failure and branch routes

- Executing pre- and post-script callbacks for failure
routes and branch routes.

11 years agoscript callback: modules updated to the new API
Miklos Tirpak [Mon, 1 Jun 2009 12:38:45 +0000 (14:38 +0200)]
script callback: modules updated to the new API

11 years agoscript callbacks: support for all kind of route blocks
Miklos Tirpak [Mon, 1 Jun 2009 11:13:45 +0000 (13:13 +0200)]
script callbacks: support for all kind of route blocks

- Added pre- and post-script callback support
for all kind of route blocks.
- req/rpl is changed to be a flag, so more callback types
can be registered at once this way. The flag is passed to
the callback function.

11 years agomake: required version is now 3.81
Andrei Pelinescu-Onciul [Mon, 1 Jun 2009 10:41:01 +0000 (12:41 +0200)]
make: required version is now 3.81

Updated required gnu make version from 3.80 to 3.81, because 3.80
has a bug when dealing with eval inside ifeq/endif
(see
https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=1516)).
It can be reverted back to 3.80, once workarounds are in place.

11 years agotest: gcc version test scripts
Andrei Pelinescu-Onciul [Mon, 1 Jun 2009 10:36:05 +0000 (12:36 +0200)]
test: gcc version test scripts

Test if gcc version is correctly detected with a large collection
of gcc version strings. To be used each time the gcc version
detection is changed.

11 years agotm: doc - added note about tmx module
Daniel-Constantin Mierla [Sat, 30 May 2009 14:40:17 +0000 (17:40 +0300)]
tm: doc - added note about tmx module

- indication that some functionalities of K tm are now in tmx

11 years agopua: use load_tm_api() instead of find_export()/load_tm()
Daniel-Constantin Mierla [Fri, 29 May 2009 19:05:03 +0000 (22:05 +0300)]
pua: use load_tm_api() instead of find_export()/load_tm()