currently using kamailio 3.0 with around 1000 users.
Apr 21 10:19:57 kamvm-1 /usr/local/sbin/kamailio[28511]: ERROR: dialog
[dlg_handlers.c:218]: bad sip message or missing Contact hdr
Apr 21 10:19:57 kamvm-1 /usr/local/sbin/kamailio[28511]: ERROR: dialog
[dlg_handlers.c:350]: could not add further info to the dialog
Apr 21 10:19:57 kamvm-1 kernel: kamailio[28511]: segfault at
0000000000000088 rip 00002ab61b62779a rsp 00007fffec157440 error 4
Apr 21 10:19:57 kamvm-1 /usr/local/sbin/kamailio[28507]: ALERT: <core>
[main.c:722]: child process 28511 exited by a signal 11
Apr 21 10:19:57 kamvm-1 /usr/local/sbin/kamailio[28507]: ALERT: <core>
[main.c:725]: core was generated
Kelvin Chua
Hello,
yesterday I committed to git new feature that allow write access to
branch attributes. It is about branches kept in core before TM takes
over and creates the branches for transaction. These branches are filled
when you do location lookup, alias db lookup or append_branch in route
block.
You can update the attributes:
- r-uri
- outbound proxy address (dst uri)
- path
- q value
- local socket to be used for sending
- branch flags
More at:
http://sip-router.org/wiki/cookbooks/pseudo-variables/devel#branch_attribut…
The access can be done with index, 0 is the first. Negative value of
index starts counting from the last, therefore index -1 is the last
branch. If the index is missing, then first branch is used.
Adding a new branch can be done with km_append_branch(...) of kex module
or append_branch() functions. Dropping a branch is by assigning $null to
uri attribute of branch.
Among benefits:
- drop invalid branches before creating the transaction
- you can lookup the aor from branches in location table, avoiding a
loopback of a branch (e.g., for alias db case)
Cheers,
Daniel
--
Daniel-Constantin Mierla
* http://www.asipto.com/
* http://twitter.com/miconda
* http://www.linkedin.com/in/danielconstantinmierla
Hello,
I am using the dialog module to time out excessively long calls:
modparam("dialog", "default_timeout", 21600) # 6 hours
modparam("dialog", "dlg_flag", 2)
...
route {
...
...
setflag(2);
$dlg_ctx(timeout_bye) = 2;
...
...
if(!t_relay())
sl_reply_error();
}
I have two unrelated questions:
1) Why does $dlg_ctx(timeout_bye) work here? My understanding is that
$dlg_ctx(...) is a PV namespace container that exposes some aspect of
the allocated dialog tracking structure. The dialog structure is
created via a TM->dialog callback triggered by t_relay(); why is it
possible to access it prior to that point?
2) The spoofed BYEs that are generated by the proxy with this setting
do not show up as sequential requests, nor are catchable in script at
all. As a result, BYE events are not written to CDRs with 'acc' and I
have no way of knowing when the call actually closed.
What is the most efficient and canonical solution to this problem?
I can think of two:
(a) Define a $dlg_ctx(timeout_route) and have it write a BYE event
artificially using acc_db_request().
(b) Loop the BYE request back to the proxy with some sort of
differentiating URI parameter or similar that causes it to be dropped
instead of forwarded. But this is really nasty.
What is your suggestion?
Thanks,
--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
Hi, I receive a request, append some custom headers and use
"load_gws()" (from LCR module).
If the first gateway fails I do "next_gw()" and this second request to
the second gateway doesn't contain the previously appended custom
headers.
Is it the expected behavior?
--
Iñaki Baz Castillo
<ibc(a)aliax.net>
Hello,
I am trying to use SQLOps Module in my kamailio 1.5 configuration.
According to your explanations every result of sql_query should be
freed just after using that data.
So it means that there will be better to fetch for THE SAME data three
times instead of just one.
Am I right?
But nevertheless I've been trying to query just one and free the
result of the sql_query at the end of the file.
Could sb tell me if the result of sql query executed in the main part
of the script is remembered and could be used on failure route as
well?
Thanks,
Maciej.
please keep the mailing list cc-ed, others may benefit of this
discussion, participate with ideas or solutions.
On 4/20/10 9:18 PM, Bruno Bresciani wrote:
> Thank you for your help Daniel... I was reading the source code to
> understand the parameter "connection_timeout" in the TLS module 3.0.x
> version and check if it help me too. When timer "connection_timeout"
> expire, the function that die idle tls connection cold generate a user
> unregister regarding this connection.
That event happens in a different place than location service and a
location record does not keep reference to the connection, therefore you
need to do a bit of coding.
Cheers,
Daniel
>
>
> 2010/4/20 Daniel-Constantin Mierla <miconda(a)gmail.com
> <mailto:miconda@gmail.com>>
>
>
>
> On 4/20/10 8:29 PM, Daniel-Constantin Mierla wrote:
>
>
>
> On 4/20/10 7:30 PM, Iñaki Baz Castillo wrote:
>
> 2010/4/20 Bruno Bresciani<bruno.bresciani(a)gmail.com
> <mailto:bruno.bresciani@gmail.com>>:
>
> Hi people, this is my first time that I writing to
> this list and I nedd some
> help... When kamailio lost connection with a user
> registred over TLS
> (timeout for examlple), I want this user be unregister
> in kamailio too. How
> can I make this unregister?
>
> It's a commendable feature request, but it's not
> implemented right now.
>
>
> it might now be easy to catch connection lost (forward or wait
> state case).
>
>
> ^^^ I meant: it might NOT be easy ...
>
> E.g., for forward case, detection is after config processing, when
> trying to relay. If there are many branches, it is not even
> reported if one branch succeeds or sends another negative reply code.
>
>
>
> Also, unregistering a contact is not really following the rfc,
> anyhow, this is not something complex to add if you have the
> contact details.
>
> What you can do right now is to avoid trying to send if the
> connection is not longer open, see:
> http://www.kamailio.org/dokuwiki/doku.php/core-cookbook:3.0.x#set_forward_n…
>
>
> Contact is in memory, but no penalty for performances. Very
> useful for NAT cases or when UA is supposed to keep the
> connection open.
>
> Cheers,
> Daniel
>
>
> --
> Daniel-Constantin Mierla * http://www.asipto.com/ *
> http://twitter.com/miconda *
> http://www.linkedin.com/in/danielconstantinmierla
>
>
--
Daniel-Constantin Mierla * http://www.asipto.com/ *
http://twitter.com/miconda *
http://www.linkedin.com/in/danielconstantinmierla
Hi people, this is my first time that I writing to this list and I nedd some
help... When kamailio lost connection with a user registred over TLS
(timeout for examlple), I want this user be unregister in kamailio too. How
can I make this unregister?
Thank you...
i tried to embed a PV in regex transformation, but didn't get desired
result. is it possible or must regex only contain strings.
here is an example, where the idea is to strip string "456" from the end
of string "123456":
$var(test) = "123456";
$var(rest) = "456";
$var(test) = $(var(test){re.subst,/^(.*)$var(rest)$/\1/});
xlog("result is $var(test)\n");
unfortunately, the result is 0 rather than "123".
i also tried
$var(test) = $(var(test){re.subst,/^(.*)\$var(rest)$/\1/});
and
$var(test) = $(var(test){re.subst,/^(.*)$(var(rest))$/\1/});
but still 0.
-- juha
Hello,
few weeks ago I uploaded a new module named app_lua, providing
functionality to execute Lua (http://www.lua.org) scripts in your
configuration file. Lua is small and fast, therefore fits very well in a
sip proxy environment. It has a lot of extensions, so when you cannot do
something with existing cfg functions, check this one as well.
The readme and the api are available at:
http://sip-router.org/wiki/api/lua/develhttp://sip-router.org/docbook/sip-router/branch/master/modules/app_lua/app_…
The API will be enhanced during this development cycle, your feedback
will help a lot in this direction. By now you get access to
pseudo-variables, sip headers, logging functions and sl module.
For new comers in community, if you are a Perl fan, then you can use the
perl module in a similar way. Also, another module was uploaded
recently, app_python, allowing to write python extensions. Module and
API for Python are not yet documented, but I think this is not a barrier
for a true Python fan, actually I hope will be a motivation to
contribute the docs :-)
Cheers,
Daniel
--
Daniel-Constantin Mierla
SIP Server Professional Solutions
* http://www.asipto.com/
Hi,
Running 1.53 and also 3.01
I know there are operators to strip() and strip_tail() to remove characters
from the front and end of a uri - what would people recommend to make sure
that the uri only ever contains numerical value?
If I wanted to for example strip the - character what would be the best way?
TIA.
Stephen.