Module: sip-router
Branch: master
Commit: 8a50fa608edad91782848711c51476af01dd0392
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=8a50fa6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 29 17:09:39 2010 +0200
sanity: docs updated with autodrop parameter
---
modules/sanity/README | 28 ++++++++++++++++++++++++----
modules/sanity/doc/params.xml | 27 +++++++++++++++++++++++++++
2 files changed, 51 insertions(+), 4 deletions(-)
diff --git a/modules/sanity/README b/modules/sanity/README
index 2510375..a3e4ce1 100644
--- a/modules/sanity/README
+++ b/modules/sanity/README
@@ -16,6 +16,7 @@ Nils Ohlmeier
1.3.1. default_checks (integer)
1.3.2. uri_checks (integer)
1.3.3. proxy_require (string)
+ 1.3.4. autodrop (integer)
1.4. Functions
@@ -99,6 +100,11 @@ modparam("sanity", "default_checks", "1")
Default value is 7. This resolves to the following list of parsed URIs:
Request RUI (1), From URI (2) and To URI (4).
+ Example 2. Set uri_checks parameter
+...
+modparam("sanity", "uri_checks", 3)
+...
+
1.3.3. proxy_require (string)
This parameter set the list of supported extensions for this
@@ -106,11 +112,25 @@ modparam("sanity", "default_checks", "1")
extensions. This list is separated into single tokens. Each token from
a proxy require header will be compare to the tokens from this list.
- Example 2. Set proxy_require parameter
+ Example 3. Set proxy_require parameter
...
modparam("sanity", "proxy_require", "foo, bar")
...
+1.3.4. autodrop (integer)
+
+ This parameter controls whether the module drops automatically or not
+ the SIP message if the sanity checks fail. Default value is 1 (auto
+ drop). If set to 0, sanity_check() function will return -1 (false) to
+ configuration file, allowing to write log messages for example - be
+ sure you exit execution of config without sending a SIP reply because
+ it is sent by module itself.
+
+ Example 4. Set autodrop parameter
+...
+modparam("sanity", "autodrop", 1)
+...
+
1.4. Functions
Revision History
@@ -123,7 +143,7 @@ modparam("sanity", "proxy_require", "foo, bar")
checks fails the module sends a precise error reply via sl_send_reply.
Thus there is no need to reply with a generic error message.
- Example 3. sanity_check usage
+ Example 5. sanity_check usage
...
if (!sanity_check()) {
exit;
@@ -136,7 +156,7 @@ if (!sanity_check()) {
checks (like for the module parameter) which should be executed at this
function call.
- Example 4. sanity_check usage with parameter
+ Example 6. sanity_check usage with parameter
...
if (method=="REGISTER" && !sanity_check("256")) {
/* the register contains an invalid expires value and is replied with a
@@ -149,7 +169,7 @@ if (method=="REGISTER" && !sanity_check("256")) {
overwrites the global module parameter uri_checks and thus determines
which URIs will be checked if the parse uri test will be executed.
- Example 5. sanity_check usage with two parameters
+ Example 7. sanity_check usage with two parameters
...
if (method=="INVITE" && !sanity_check("1024", "6")) {
/* the INVITE contains an invalid From or To header and is replied with
diff --git a/modules/sanity/doc/params.xml b/modules/sanity/doc/params.xml
index b56affd..f633c8c 100644
--- a/modules/sanity/doc/params.xml
+++ b/modules/sanity/doc/params.xml
@@ -55,6 +55,14 @@ modparam("sanity", "default_checks", "1")
Default value is 7. This resolves to the following list of
parsed URIs: Request RUI (1), From URI (2) and To URI (4).
</para>
+ <example>
+ <title>Set <varname>uri_checks</varname> parameter</title>
+ <programlisting>
+...
+modparam("sanity", "uri_checks", 3)
+...
+ </programlisting>
+ </example>
</section>
<section id="proxy_require">
@@ -76,5 +84,24 @@ modparam("sanity", "proxy_require", "foo, bar")
</example>
</section>
+ <section id="autodrop">
+ <title><varname>autodrop</varname> (integer)</title>
+ <para>
+ This parameter controls whether the module drops automatically
+ or not the SIP message if the sanity checks fail. Default value
+ is 1 (auto drop). If set to 0, sanity_check() function will return
+ -1 (false) to configuration file, allowing to write log messages for
+ example - be sure you exit execution of config without sending a SIP
+ reply because it is sent by module itself.
+ </para>
+ <example>
+ <title>Set <varname>autodrop</varname> parameter</title>
+ <programlisting>
+...
+modparam("sanity", "autodrop", 1)
+...
+ </programlisting>
+ </example>
+ </section>
</section>
Revision: 6047
http://openser.svn.sourceforge.net/openser/?rev=6047&view=rev
Author: timoreimann
Date: 2010-10-29 12:53:41 +0000 (Fri, 29 Oct 2010)
Log Message:
-----------
dialog: reset the pointer value after free
- otherwise may result in double free, reported by Alex Balashov
Backport from git commit 4e196f47767dc8da8da560f57afc92add541b672.
Modified Paths:
--------------
branches/1.5/modules/dialog/dlg_hash.c
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
We had another one of these today, under high call volume:
(gdb) where
#0 0x0000003a60430265 in raise () from /lib64/libc.so.6
#1 0x0000003a60431d10 in abort () from /lib64/libc.so.6
#2 0x0000000000530a91 in qm_free (qm=0x2b343e1aa000, p=0x2b343eddf6e8,
file=0x2b343dd860c3 "dialog: dlg_hash.c",
func=0x2b343dd86b42 "destroy_dlg", line=176) at mem/q_malloc.c:447
#3 0x00002b343dd6a2ea in destroy_dlg (dlg=0x2b343fe1d6f8) at dlg_hash.c:176
#4 0x00002b343dd6d33a in unref_dlg (dlg=0x2b343fe1d6f8, cnt=1)
at dlg_hash.c:591
#5 0x00002b343dd73a04 in profile_cleanup (msg=<value optimized out>,
flags=<value optimized out>, param=0x6) at dlg_profile.c:317
#6 0x00000000004be9a1 in exec_post_script_cb (msg=0xa06e80,
type=<value optimized out>) at script_cb.c:195
#7 0x00000000004989f0 in receive_msg (
buf=0x8b6300 "BYE sip:15746317356@yyy.yyy.yyy.yyy:5060
SIP/2.0\r\nRecord-Route:
<sip:yyy.yyy.yyy.yyy;lr;ftag=gK0ebaf6d4>\r\nRecord-Route:
<sip:67.231.8.89;lr;ftag=gK0ebaf6d4>\r\nVia: SIP/2.0/UDP
xxx.xxx.xxx.xxx;branch=z9hG4bKd757."...,
len=<value optimized out>, rcv_info=0x7fff4a043230) at receive.c:221
#8 0x000000000052576a in udp_rcv_loop () at udp_server.c:532
#9 0x0000000000468dcd in main_loop () at main.c:1554
#10 0x000000000046be9f in main (argc=<value optimized out>,
argv=0x7fff4a043508) at main.c:2398
Is this a regression, or memory corruption from something else?
This is with CANCEL_REASON_SUPPORT #undef'd in tm_reply.h, btw.
--
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/
Please keep the mailing list cc-ed. Private emails from the lists are
the last checked and usually dropped after first notice.
Are you running the 3.1.0 from tarball? There was a fix related to
cancel processing with new addition of reason header support. Although
it does not look to be right there, might be related, since it is
processing of a cancelled transaction.
Could you try with latest version of GIT branch 3.1? If you use debs,
then you can take the nightly builds. Anyhow, for any eventuality, here
is a guide:
http://www.kamailio.org/dokuwiki/doku.php/install:kamailio-3.1.x-from-git
Cheers,
Daniel
On 10/26/10 6:08 PM, Mino Haluz wrote:
> Hm maybe it is something with radiusclient ...
>
> (gdb) bt
> #0 0xb70dbf73 in rc_avpair_assign () from /usr/lib/libradiusclient-ng.so.2
> #1 0xb70dc059 in rc_avpair_new () from /usr/lib/libradiusclient-ng.so.2
> #2 0xb70dc1ae in rc_avpair_add () from /usr/lib/libradiusclient-ng.so.2
> #3 0xb70ec745 in acc_rad_request (req=0xb7292fc0) at acc.c:585
> #4 0xb70ef9d0 in on_missed (t=<value optimized out>, req=0xb7292fc0,
> reply=0x8353da8, code=487) at acc_logic.c:328
> #5 0xb7239067 in run_trans_callbacks_internal (cb_lst=0xb5161b70, type=64,
> trans=0xb5161b30, params=0xbf896cbc) at t_hooks.c:290
> #6 0xb72392fa in run_trans_callbacks (type=64, trans=0xb5161b30,
> req=0xb7292fc0, rpl=0x8353da8, code=487) at t_hooks.c:317
> #7 0xb725df6e in run_failure_handlers (t=0xb5161b30, rpl=0x8353da8, code=487,
> extra_flags=64) at t_reply.c:948
> #8 0xb725f28c in t_should_relay_response (Trans=0xb5161b30,
> new_code=<value optimized out>, branch=0, should_store=0xbf896ec8,
> should_relay=0xbf896ecc, cancel_data=0xbf8970a0, reply=0x8353da8)
> at t_reply.c:1212
> #9 0xb7262bf1 in relay_reply (t=0xb5161b30, p_msg=0x8353da8, branch=0,
> msg_status=487, cancel_data=0xbf8970a0, do_put_on_wait=1) at t_reply.c:1615
> #10 0xb7265c15 in reply_received (p_msg=0x8353da8) at t_reply.c:2284
> #11 0x080929cc in forward_reply (msg=0x8353da8) at forward.c:768
> #12 0x080d57d5 in receive_msg (
> buf=0x827e740 "SIP/2.0 487 Request Cancelled\r\nVia: SIP/2.0/UDP
> 1.1.1.1;branch=z9hG4bK01a2.35a963e6.0,SIP/2.0/UDP
> 192.168.10.4:5070;received=2.2.2.2;rport=1081;branch=z9hG4bK1902564\r\nFrom:
> \"zxc\"<sip:004"...,
> len=492, rcv_info=<value optimized out>) at receive.c:266
> #13 0x0815b532 in udp_rcv_loop () at udp_server.c:532
> #14 0x080a2917 in main_loop () at main.c:1554
> #15 0x080a5142 in main (argc=1, argv=0xbf8975b4) at main.c:2398
>
> On Tue, Oct 26, 2010 at 5:43 PM, Daniel-Constantin Mierla
> <miconda(a)gmail.com> wrote:
>> Hello,
>>
>> On 10/26/10 3:18 PM, Mino Haluz wrote:
>>
>> Hi,
>>
>> there seems to be a bug when using multi_leg_info (version: kamailio 3.1.0
>> (i386/linux) bf8b8d):
>>
>> modparam("acc", "multi_leg_info", "Src-Leg=$avp(i:901);Dst-Leg=$avp(i:902)")
>>
>> When the call ends, kamailio suddenly segfaults:
>>
>> WARNING: no fork mode
>> Segmentation fault (core dumped)
>>
>> you got a core file, locate it in / or in the working directory.
>>
>> The do:
>>
>> gdb /path/to/kamailio /path/to/core
>>
>> bt
>>
>> Send the output here.
>>
>> Cheers,
>> Daniel
>>
>> If you do not know to reproduce the error, please provide a howto that can
>> lead me to retrieve another useful information (gdb..). Thank you very much.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev(a)lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>
>> --
>> Daniel-Constantin Mierla
>> http://www.asipto.com
--
Daniel-Constantin Mierla
http://www.asipto.com
Module: sip-router
Branch: 3.1
Commit: 793fde82f641f543f6d5131a3a4d3c71fe1a2d61
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=793fde8…
Author: Marius Zbihlei <marius.zbihlei(a)1and1.ro>
Committer: Marius Zbihlei <marius.zbihlei(a)1and1.ro>
Date: Thu Oct 28 13:37:00 2010 +0300
modules/carrierroute Improved documentation of carrierroute reply_code field
The documentation didn't make it clear that regex are _not_ supported.
Thanks go to Iñaki Baz Castillo for reporting.
(cherry picked from commit cfc11b8892742697c9184e942ba2113f419428dd)
---
modules/carrierroute/README | 14 ++++++++------
modules/carrierroute/doc/carrierroute_admin.xml | 5 +++--
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/modules/carrierroute/README b/modules/carrierroute/README
index 1c28e22..8c43796 100644
--- a/modules/carrierroute/README
+++ b/modules/carrierroute/README
@@ -976,12 +976,14 @@ domain register {
for example that indicates that ringing has happened. If this flag is
set, there will be no further forwarding, because next_domain is empty.
In the second and third routes are certain gateway errors matched, if
- this errors have occured, then the next domain will be choosen. The
- last route does forwarding according some flags, e.g. the customer came
- from a certain carrier, and has call-forwarding deactivated. In order
- to use the routing that is specified above, a matching carrierroute
- table must be provided, that holds domain entries for this routing
- rules. Not all table colums are show here for brevity.
+ this errors have occured, then the next domain will be choosen. Note
+ that the reply_code must be 3 characters wide, and only the "."
+ character is accepted as wildcard.The last route does forwarding
+ according some flags, e.g. the customer came from a certain carrier,
+ and has call-forwarding deactivated. In order to use the routing that
+ is specified above, a matching carrierroute table must be provided,
+ that holds domain entries for this routing rules. Not all table colums
+ are show here for brevity.
Example 1.23. Example database content - carrier_name table
...
diff --git a/modules/carrierroute/doc/carrierroute_admin.xml b/modules/carrierroute/doc/carrierroute_admin.xml
index d30bb29..e4d30d3 100644
--- a/modules/carrierroute/doc/carrierroute_admin.xml
+++ b/modules/carrierroute/doc/carrierroute_admin.xml
@@ -1083,8 +1083,9 @@ domain register {
for example that indicates that ringing has happened. If this flag is set,
there will be no further forwarding, because next_domain is empty. In the
second and third routes are certain gateway errors matched, if this errors
- have occured, then the next domain will be choosen. The last route does
- forwarding according some flags, e.g. the customer came from a certain carrier,
+ have occured, then the next domain will be choosen. Note that the reply_code must be
+ 3 characters wide, and only the "." character is accepted as wildcard.The last route
+ does forwarding according some flags, e.g. the customer came from a certain carrier,
and has call-forwarding deactivated. In order to use the routing that is
specified above, a matching carrierroute table must be provided, that holds
domain entries for this routing rules. Not all table colums are show here for
Module: sip-router
Branch: master
Commit: cfc11b8892742697c9184e942ba2113f419428dd
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=cfc11b8…
Author: Marius Zbihlei <marius.zbihlei(a)1and1.ro>
Committer: Marius Zbihlei <marius.zbihlei(a)1and1.ro>
Date: Thu Oct 28 13:37:00 2010 +0300
modules/carrierroute Improved documentation of carrierroute reply_code field
The documentation didn't make it clear that regex are _not_ supported.
Thanks go to Iñaki Baz Castillo for reporting.
---
modules/carrierroute/README | 14 ++++++++------
modules/carrierroute/doc/carrierroute_admin.xml | 5 +++--
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/modules/carrierroute/README b/modules/carrierroute/README
index 1c28e22..8c43796 100644
--- a/modules/carrierroute/README
+++ b/modules/carrierroute/README
@@ -976,12 +976,14 @@ domain register {
for example that indicates that ringing has happened. If this flag is
set, there will be no further forwarding, because next_domain is empty.
In the second and third routes are certain gateway errors matched, if
- this errors have occured, then the next domain will be choosen. The
- last route does forwarding according some flags, e.g. the customer came
- from a certain carrier, and has call-forwarding deactivated. In order
- to use the routing that is specified above, a matching carrierroute
- table must be provided, that holds domain entries for this routing
- rules. Not all table colums are show here for brevity.
+ this errors have occured, then the next domain will be choosen. Note
+ that the reply_code must be 3 characters wide, and only the "."
+ character is accepted as wildcard.The last route does forwarding
+ according some flags, e.g. the customer came from a certain carrier,
+ and has call-forwarding deactivated. In order to use the routing that
+ is specified above, a matching carrierroute table must be provided,
+ that holds domain entries for this routing rules. Not all table colums
+ are show here for brevity.
Example 1.23. Example database content - carrier_name table
...
diff --git a/modules/carrierroute/doc/carrierroute_admin.xml b/modules/carrierroute/doc/carrierroute_admin.xml
index d30bb29..e4d30d3 100644
--- a/modules/carrierroute/doc/carrierroute_admin.xml
+++ b/modules/carrierroute/doc/carrierroute_admin.xml
@@ -1083,8 +1083,9 @@ domain register {
for example that indicates that ringing has happened. If this flag is set,
there will be no further forwarding, because next_domain is empty. In the
second and third routes are certain gateway errors matched, if this errors
- have occured, then the next domain will be choosen. The last route does
- forwarding according some flags, e.g. the customer came from a certain carrier,
+ have occured, then the next domain will be choosen. Note that the reply_code must be
+ 3 characters wide, and only the "." character is accepted as wildcard.The last route
+ does forwarding according some flags, e.g. the customer came from a certain carrier,
and has call-forwarding deactivated. In order to use the routing that is
specified above, a matching carrierroute table must be provided, that holds
domain entries for this routing rules. Not all table colums are show here for
i think i asked this once before, but i'm not sure what the conclusion
was:
it is somehow currently possible to evaluate an runtime an expression
stored in variable, for example,
$var(exp) = ";param=$avp(value)";
append_hf("P-Foo: " + $var(uri) + eval($var(exp)) + "\r\n");
in practice, the expression to be evaluated could come from database,
htable, etc., which would in my opinion greatly enhance flexibility of
sr.
if that cannot be done in sr 3.1, would it be difficult to implement it
for the next version?
-- juha
Module: sip-router
Branch: master
Commit: b5cc26d622f1711f6c26f50d6562c7f93d7e1ea7
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=b5cc26d…
Author: Miklos Tirpak <miklos(a)iptel.org>
Committer: Miklos Tirpak <miklos(a)iptel.org>
Date: Wed Oct 27 13:03:59 2010 +0200
Merge remote branch 'origin/tirpi/cfg_framework_multivalue'
* origin/tirpi/cfg_framework_multivalue: (33 commits)
cfg framework: fix uninitialized group_inst pointers
xmlrpc: scan resets the error code
cfg_rpc: group can be specified for cfg.list
cfg_rpc: cfg.set and cfg.set_delayed commands added
ctl: rpc->scan does not immediately send out errors
cfg_rpc: documentation update - group instances
cfg framework: multiple group instances is documented
cfg framework: timer must reset the handles more frequently
cfg framework: cfg_select() and cfg_reset() added
cfg framework: group handle can be moved runtime
cfg framework: group instance support in the script
cfg framework: apply the values in the order they are set
cfg framework: translate_pointer bugfix
cfg framework: apply additional var list bugfix
cfg framework: apply the additional variable list
cfg framework: group instance support before forking
cfg framework: CFG_GROUP_UNKNOWN group type
cfg framework: cfg_commit() log message fixes
cfg_db: updated to the cfg framework changes
cfg_db: updated to the cfg framework changes
...
---