Module: sip-router
Branch: master
Commit: 54723bfd00fdc6302802533fee8c2f0ae45c7091
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=54723bf…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 29 18:51:14 2010 +0200
dispatcher: docs updated - routing block types for functions
---
modules_k/dispatcher/README | 12 ++++++------
modules_k/dispatcher/doc/dispatcher_admin.xml | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/modules_k/dispatcher/README b/modules_k/dispatcher/README
index 67177a5..781e499 100644
--- a/modules_k/dispatcher/README
+++ b/modules_k/dispatcher/README
@@ -693,7 +693,7 @@ Note
use next address to achieve serial forking to all possible
destinations.
- This function can be used from REQUEST_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
Example 1.29. ds_select_dst usage
...
@@ -714,21 +714,21 @@ ds_select_dst("1", "$var(a)");
to use next address to achieve serial forking to all possible
destinations.
- This function can be used from REQUEST_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
4.3. ds_next_dst()
Takes the next destination address from the AVPs with id 'dst_avp_id'
and sets the dst_uri (outbound proxy address).
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
4.4. ds_next_domain()
Takes the next destination address from the AVPs with id 'dst_avp_id'
and sets the domain part of the request uri.
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
4.5. ds_mark_dst()
@@ -737,7 +737,7 @@ ds_select_dst("1", "$var(a)");
automatic detection of failed gateways. When an address is marked as
inactive, it will be ignored by 'ds_select_dst' and 'ds_select_domain'.
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
4.6. ds_mark_dst("s")
@@ -755,7 +755,7 @@ ds_select_dst("1", "$var(a)");
Note: You will need to call this function "threshhold"-times,
before it will be actually set to probing.
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
4.7. ds_is_from_list()
diff --git a/modules_k/dispatcher/doc/dispatcher_admin.xml b/modules_k/dispatcher/doc/dispatcher_admin.xml
index a6c8748..b05403a 100644
--- a/modules_k/dispatcher/doc/dispatcher_admin.xml
+++ b/modules_k/dispatcher/doc/dispatcher_admin.xml
@@ -812,7 +812,7 @@ modparam("dispatcher", "force_dst", 1)
destinations.
</para>
<para>
- This function can be used from REQUEST_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
</para>
<example>
<title><function>ds_select_dst</function> usage</title>
@@ -842,7 +842,7 @@ ds_select_dst("1", "$var(a)");
destinations.
</para>
<para>
- This function can be used from REQUEST_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
</para>
</section>
<section>
@@ -854,7 +854,7 @@ ds_select_dst("1", "$var(a)");
and sets the dst_uri (outbound proxy address).
</para>
<para>
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
</para>
</section>
<section>
@@ -866,7 +866,7 @@ ds_select_dst("1", "$var(a)");
and sets the domain part of the request uri.
</para>
<para>
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
</para>
</section>
<section>
@@ -880,7 +880,7 @@ ds_select_dst("1", "$var(a)");
inactive, it will be ignored by 'ds_select_dst' and 'ds_select_domain'.
</para>
<para>
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
</para>
</section>
<section>
@@ -914,7 +914,7 @@ ds_select_dst("1", "$var(a)");
</listitem>
</itemizedlist>
<para>
- This function can be used from FAILURE_ROUTE.
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
</para>
</section>
<section>
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