i got all my modules loaded. first error while processing my config was
this:
0(18354) DEBUG: <core> [sr_module.c:616]: find_param_export: parameter <onreply
_avp_mode> not found in module <tm>
0(18354) ERROR: <core> [modparam.c:143]: set_mod_param_regex: parameter <onrepl
y_avp_mode> not found in module <tm>
0(18354) : <core> [cfg.y:2921]: parse error in config file, line 407, column 37
: Can't set module parameter
migration tips doesn't tell yet, how to solve this.
-- juha
Bugs item #2798154, was opened at 2009-05-29 00:30
Message generated for change (Comment added) made by ibc_sf
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2798154&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: None
Status: Open
Resolution: None
Priority: 4
Private: No
Submitted By: Iñaki Baz Castillo (ibc_sf)
Assigned to: Nobody/Anonymous (nobody)
Summary: [dialog] Crash when receiving empry "Record-Route"
Initial Comment:
Kamailio 1.5 rev 5834.
I use 'dialog" module and "uac" module (this one to change From username).
Kamailio receives an INVITE, changes From (so addes a long "vsf" parameter to Record-Route) and forwards it to a gateway.
The gateway replies 183 and 200 containing a "Record-Route" with no value (empty).
Then Kamailio shows this error and crashes:
ERROR:core:print_rr_body: failed to parse RR
ERROR:dialog:populate_leg_info: failed to print route records
ERROR:dialog:dlg_onreply: could not add further info to the dialog
CRITICAL:core:receive_fd: EOF on 12
INFO:core:handle_sigs: child process 4505 exited by a signal 11
INFO:core:handle_sigs: core was not generated
INFO:core:handle_sigs: terminating due to SIGCHLD
INFO:core:sig_usr: signal 15 received
I attach the output of the coredump and also the SIP trace showing it.
----------------------------------------------------------------------
>Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2009-06-01 11:47
Message:
I'll try to check it ASAP. However, the system is in production so I must
wait to soe night with no usage in order to test it.
I'll comment here the result. Thanks a lot.
----------------------------------------------------------------------
Comment By: Daniel-Constantin Mierla (miconda)
Date: 2009-06-01 11:33
Message:
I did a fix for this particular case, can you test and see if is fine now?
There is more code to review, though...
----------------------------------------------------------------------
Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2009-05-29 08:28
Message:
Note that the crash also occur with:
modparam("dialog", "db_mode", 0)
This is: without storing dialogs in database.
----------------------------------------------------------------------
Comment By: Daniel-Constantin Mierla (miconda)
Date: 2009-05-29 08:20
Message:
Seems similar to what Alex Hermann reported in #2797928. I will check.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2798154&group_…
Hello,
I'd like to discuss some new functionaity for Kamailio i intend to
develop for a client.
My client need to integrate very specific transport security layer...
The layer will function over tcp and udp and will be intgreated into the
SSL framework
The client will provide a function returning SSL_METHOD * descritptor
So what i need to do is
1) Add possibility to use SSL over udp socket
2) To use a new SSL method
So my first question is: Is there any chance that such functionality
will be accepted into the main trunk of kamailio?
Thanks
Vadim
Bugs item #2798154, was opened at 2009-05-29 01:30
Message generated for change (Comment added) made by miconda
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2798154&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: None
Status: Open
Resolution: None
Priority: 4
Private: No
Submitted By: Iñaki Baz Castillo (ibc_sf)
Assigned to: Nobody/Anonymous (nobody)
Summary: [dialog] Crash when receiving empry "Record-Route"
Initial Comment:
Kamailio 1.5 rev 5834.
I use 'dialog" module and "uac" module (this one to change From username).
Kamailio receives an INVITE, changes From (so addes a long "vsf" parameter to Record-Route) and forwards it to a gateway.
The gateway replies 183 and 200 containing a "Record-Route" with no value (empty).
Then Kamailio shows this error and crashes:
ERROR:core:print_rr_body: failed to parse RR
ERROR:dialog:populate_leg_info: failed to print route records
ERROR:dialog:dlg_onreply: could not add further info to the dialog
CRITICAL:core:receive_fd: EOF on 12
INFO:core:handle_sigs: child process 4505 exited by a signal 11
INFO:core:handle_sigs: core was not generated
INFO:core:handle_sigs: terminating due to SIGCHLD
INFO:core:sig_usr: signal 15 received
I attach the output of the coredump and also the SIP trace showing it.
----------------------------------------------------------------------
>Comment By: Daniel-Constantin Mierla (miconda)
Date: 2009-06-01 12:33
Message:
I did a fix for this particular case, can you test and see if is fine now?
There is more code to review, though...
----------------------------------------------------------------------
Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2009-05-29 09:28
Message:
Note that the crash also occur with:
modparam("dialog", "db_mode", 0)
This is: without storing dialogs in database.
----------------------------------------------------------------------
Comment By: Daniel-Constantin Mierla (miconda)
Date: 2009-05-29 09:20
Message:
Seems similar to what Alex Hermann reported in #2797928. I will check.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2798154&group_…
Revision: 5864
http://openser.svn.sourceforge.net/openser/?rev=5864&view=rev
Author: miconda
Date: 2009-06-01 09:31:18 +0000 (Mon, 01 Jun 2009)
Log Message:
-----------
- init local variables and stafety checks to avoid crash when headers are missing (reported by Inaki Baz Castillo, #2798154)
Modified Paths:
--------------
branches/1.5/modules/dialog/dlg_handlers.c
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Hi, I attach a ptch for rtpproxy Debian init script which allows it being LSB
compliant.
Basically I add "--oknodo" option to all calls to "start-stop-daemon" which,
by default, is not LSB compliant.
Being LSB compliant is really useful when we want to manage a service (like
RtpProxy) using some failover system as HeartBeat, which relies on *exact*
reply code of the init scripts.
About LSB specification [1] for init scripts which I refer to:
---------------------
"For all other init-script actions, the init script shall return an exit
status of zero if the action was successful. Otherwise, the exit status
shall be non-zero, as defined below. In addition to straightforward
success, the following situations are also to be considered successful:
- Restarting a service (instead of reloading it) with the force-reload
argument
- Running start on a service already running
- Running stop on a service already stopped or not running
- Running restart on a service already stopped or not running
- Running try-restart on a service already stopped or not running"
So if I start a service that is already running I should receive 0, but
"start-stop-daemon" returns 1 (error).
The option "--oknodo" changes the behaviour to the LSB recomendations but many
services in Debian don't use this option and return 1 in the case I've
quotted. This is very problematic for me when I try to use a Debian
service init script with HeartBeat that expects to receive a 0.
-----------------------
So adding "--oknodo" to the init script, "/etc/init.d/rtpproxy start" returns
0 (no error) even if RtpProxy is already running, and "/etc/init.d/rtpproxy
stop" returns 0 (no error) even if RtpProxy is not running (as LSB mandates).
Note however that in Debian Lenny the default behaviour of "start-stop-daemon"
has changed to implement this LSB compliant behaviour by default.
This is the bug report I opened in Debian for this issue:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=426877
[1] LSB specifications about init script actions:
http://www.linux-foundation.org/spec/refspecs/LSB_3.0.0/LSB-Core-generic/LS…
Core-generic/iniscrptact.html
--
Iñaki Baz Castillo <ibc(a)aliax.net>
Hi, using multiple RtpProxy instancies would be more flexible if
set_rtp_proxy_set() allows a pseudo-variable instead of just a fixed integer.
Without this feature, it's impossible to implement real RtpProxy loadbalancing
since: how to use the same RtpProxy for an in-dialog request? Let me show an
example:
- Let's suppose we have these rtpproxies:
modparam("nathelper", "rtpproxy_sock",
"1 == udp:1.1.1.1:12221")
modparam("nathelper", "rtpproxy_sock",
"2 == udp:2.2.2.2:12221")
(note that I don't use various rtpproxies in the same set since with the, real
loadbalancing it's not possible).
- An INVITE arrives and we want to use a ramdom rtpproxy (set 1 or 2). Since
set_rtp_proxy_set() doesn't allow pv, the only way is something as computing
the from_tag or call-id and get values 0 or 1 (or 1 or 2). In the first case
we invoke set_rtp_proxy_set("1") and in the second set_rtp_proxy_set("2").
- When processing the 183/200 response we should do the same (get 1 or 2 from
the from_tag or call-id), or perhaps add a parameter in RR (rtpproxy_set=1)
and invoke the corresponding set_rtp_proxy_set() function.
- The same for every in-dialog request (re-INVITE, BYE...).
I understand that this mechanims is not really scalable since adding a new
rtpproxy requires modifications in the kamailio script (the ramdom function
which now should return 1, 2 or 3 depending on the call-id/from_tag hash or
something similar) and also adding a new "else if (XXXXX) {
set_rtp_proxy_set("3") ... }"
So, extending set_rtp_proxy_set() to allow pv would mitigate this issue:
- When the INVITE arrives a ramdom function returns 1,2,3..., we store that
value in a pv and use it into set_rtp_proxy_set().
- We also store that value in a RR param to retrieve it in replies and in-
dialog requests in order to invoke the samertpproxy set.
About various rtpproxy instances per set:
I consider there is no solution for it. If we have:
# multiple rtproxies for LB
modparam("nathelper", "rtpproxy_sock",
"udp:localhost:12221 udp:localhost:12222")
We invoke "rtpproxy_offer" and some rtpproxy has been transparently selected,
but we CANNOT know which one, so, how to reuse it in the reply and in-dialog
requests??
I remember a thread about it in which the code was inspected and some "hash
algorithm" resulted to take place to select the rtpproxy instance. However I
remember that this algorithm is not so robust as required for a real
loadbalancing system.
So, in conclusion, is there any aim in improving RtpProxy module to allow real
and robust load-balancing? What about multiple rtpproxy instances in the same
set? is it really usable?
Thanks a lot for any comment on it.
--
Iñaki Baz Castillo <ibc(a)aliax.net>
Hi, when rtpproxy is running as non root user, it gives this error for
each request (anyway it doesn't fail):
ERR:create_twinlistener: unable to set TOS to 184: Operation not permitted
I've not checked it running as root however. How could I avoid this
error? I don't see options in rtpproxy to dissable the TOS
modification.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>