If nobody disagrees, I'll change the version number to 2.99.0 in the
idea that both kamailio and ser first releases based on sip-router will
bear the 3.0.x number (3.0 is greater then both ser and k current
versions).
Andrei
Hi,
We have noticed that the server tries to connect to user's contact IP:port when there is no existing TCP connection with the client. This can happen when the client-server TLS connection brakes for some reason (for example flaky Internet). After that when consequent requests need to be proxied to that user (NOTIFYs, SUBSCRIBEs) we can see in the logs that the server tries to connect to the user's IP and port because there is not existing TCP (TLS) connection with it. In our setup though the cients are behind NAT and the serveer is in the public Internet.
In most such cases the server fails "normally" after 10 seconds and during that time if the same client tries to REGISTER, the REGISTER packets are processed on the server by the same process that has been blocked for 10 seconds, after the blocking 10 secs have elapsed. In effect this makes it harder for the clent to re-REGISTER when the connection has been broken.
There are cases though, when we can see in the server logs that there are no logs for more than 3 minutes and we can see that two server processes have been trying outgoing connection to the old client's IP:port for more than 3 minutes and we can see how both processes report unsuccessfull tcp blocking connect to the client after the logs resume after more than 3 minutes have elapsed. During such cases the server simply doesn't respond to client's attempts to REGISTER and is in effect blocked.
We have no clue as to why the server is blocked for more than 3 minutes since the tcp connect timeout seems to be just 10 seconds.
What we think is best is if we can configure the server to not try outgoing TCP connections to clients (when TCP conenction doesn't exist)? Is there a configration setting for that? If there is no configuration for that, what is the best place in code to make this change in the code? If this is not easy or not recommended, can we set the server's timeout for outgoing TCP connection to something smaller, for example 1-2 seconds, or even 0 seconds? We feel in our setup it will be better if the server does not try to connect at all, becasue anyway the connection attempt will fail.
Any information will be appreciated.
Thanks in advance,
Ivan
Module: sip-router
Branch: master
Commit: 30ea1726754fdc12646e35a6ec49a636a57ab7f0
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=30ea172…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Wed Jun 24 15:06:26 2009 +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
---
modules/tm/t_lookup.c | 138 ++++++++++++++++++++++++++++++++++++++-----------
modules/tm/t_lookup.h | 6 ++-
modules/tm/t_reply.c | 17 ++++--
3 files changed, 123 insertions(+), 38 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=30e…
Hello,
I finished my import of missing pieces from Kamailio SVN repository. The
commit message did not make it though to the list because it was too big. I
haven't commited my changes into the master branch yet, I uploaded them to the
branch janakj/missing_imports and I would appreciate if people (especially
K. developers) could review them, here is a link to the new branch:
http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=shortlog;h=refs…
And here is a short summary of the changes:
1) kamailio/etc was imported into sip-router/etc
In Kamailio trunk the etc directory contains a kamailio.cfg files,
a RADIUS dictionary and TLS certificates and related files.
2) kamailio/packaging was imported into sip-router/pkg/kamailio
I thought that it would be good to have both version of packaging
files under one directory in the shared repository. To avoid conflicts with
existing directories and files, I imported Kamailio stuff into
pkg/kamailio. We will need to go through these files and merge them at some
point (or alternatively keep one version and delete the other).
3) kamailio/scripts was imported into sip-router/tools
No coflics there, so I did not touch the files imported from Kamailio. I
would, however, suggest that as the next step we move kamctl and kamdbctl
into subdirectories. Booth tools consist of several files and would be,
IMHO, better to have them cleanly separated.
4) kamailio/utils/{db_berkeley,db_oracle,kamunix,profile} were imported into
sip-router/utils.
I omited kamailio/utils/fif_relay because the same tool is already present
in sip-router repository--and it is not needed anymore anyway.
What is missing:
I also found extra TLS documentation in kamailio/tls/doc. The documentation
was probably not yet imported into the sip-router repository so I will look
into that.
Please take a moment and review the layout, if people are happy with my
proposed layout and nobody speaks up then I will merge those changes into the
master branch on Wednesday.
Jan.
i just pushed a new version of lcr module, which resulted from
discussions on the mailing lists.
most important new feature is support for any number of independent lcr
instances, which improves virtualization of sr. for example, different
domains can now manage their own least cost routing to their own gws.
i also replaced aliveness check with new defunct_gw() function, which
script writer can use to defunct an unresponsive or busy gw for a
desired period of time.
in order to keep lcr module manageable, i removed gw group related
functions (which were not efficient anyway). if someone is using them, i
hope that they can be replaced by lcr instances.
-- juha
Module: sip-router
Branch: master
Commit: 4743d4995809198166cf9067a68a018a1b87bd0e
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=4743d49…
Author: Jan Janak <jan(a)iptel.org>
Committer: Jan Janak <jan(a)iptel.org>
Date: Wed Jun 24 13:36:56 2009 +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
...
---
Hi, Kamailio trunk version requires libcurl4-gnutls-dev Debian Lenny package
while SIP-Router trunk version requires libcurl4-openssl-dev.
Both packages are not compatible (just one of them can be installed). This
means that it's not possible to install both, Kamailio and SIP-Router, as
Debian packages in the same host... :(
The fact is that both are the same but the first uses GnuTLS while the seconds
uses OpenSSL.
This is a big issue for people wanting to have both projects installed as Deb
packages.
Could it be modified? It there a real dependency on each package? or could any
of them be valid for both projects?
--
Iñaki Baz Castillo <ibc(a)aliax.net>