hello,
just started using the dialog module with kamailio 3.1.0 and getting
segfaults whenever get_profile_size() is executed. here's a stack trace:
Core was generated by `kamailio'.
Program terminated with signal 11, Segmentation fault.
#0 0x003c729e in w_get_profile_size (msg=0x834d8b4, profile=0xb60823f8
"\224$\b\266\t", value=0x831cb40 "\004",
result=0x8340900 "\001") at dialog.c:767
767 if(sp_dest->setf(msg, &sp_dest->pvp, (int)EQ_T, &val)<0)
(gdb) bt
#0 0x003c729e in w_get_profile_size (msg=0x834d8b4, profile=0xb60823f8
"\224$\b\266\t", value=0x831cb40 "\004",
result=0x8340900 "\001") at dialog.c:767
#1 0x08057770 in do_action (h=0xbff5fcb8, a=0x8328f2c, msg=0x834d8b4) at
action.c:1105
#2 0x0805ea3c in run_actions (h=0xbff5fcb8, a=0x8328f2c, msg=0x834d8b4) at
action.c:1553
#3 0x080576c0 in do_action (h=0xbff5fcb8, a=0x832c794, msg=0x834d8b4) at
action.c:711
#4 0x0805ea3c in run_actions (h=0xbff5fcb8, a=0x832c794, msg=0x834d8b4) at
action.c:1553
#5 0x0805ed71 in run_actions_safe (h=0xbff606e8, a=0x832c794,
msg=0x834d8b4) at action.c:1605
#6 0x080f5d44 in rval_get_int (h=0xbff606e8, msg=0x0, i=0xbff600d8,
rv=0xbff5f694, cache=0x0) at rvalue.c:904
#7 0x080fb4fb in rval_expr_eval_int (h=0xbff606e8, msg=0x834d8b4,
res=0xbff600d8, rve=0x832c9c4) at rvalue.c:1866
#8 0x080fb5d0 in rval_expr_eval_int (h=0xbff606e8, msg=0x834d8b4,
res=0xbff60394, rve=0x832cdac) at rvalue.c:1873
#9 0x08057511 in do_action (h=0xbff606e8, a=0x832db7c, msg=0x834d8b4) at
action.c:1069
#10 0x0805ea3c in run_actions (h=0xbff606e8, a=0x832be40, msg=0x834d8b4) at
action.c:1553
#11 0x080576c0 in do_action (h=0xbff606e8, a=0x8313b88, msg=0x834d8b4) at
action.c:711
#12 0x0805ea3c in run_actions (h=0xbff606e8, a=0x83003cc, msg=0x834d8b4) at
action.c:1553
#13 0x0805ecf4 in run_top_route (a=0x83003cc, msg=0x834d8b4, c=0x0) at
action.c:1626
#14 0x080dceab in receive_msg (
buf=0x82a7740 "INVITE sip:*98@pipeline.bbpsphone.net SIP/2.0\r\nCall-ID:
6fb1466b73075c7ad55f278f86ff6b27@0:0:0:0:0:0:0:0\r\nCSeq: 2 INVITE\r\nFrom:
\"Eugene Oden\"
<sip:goden.atl1@pipeline.bbpsphone.net<sip%3Agoden.atl1(a)pipeline.bbpsphone.net>>;tag=56dc2460\r\nTo:
"..., len=1538, rcv_info=0xbff608f8)
at receive.c:205
#15 0x0816eef7 in udp_rcv_loop () at udp_server.c:532
#16 0x080ad9e1 in main_loop () at main.c:1554
#17 0x080b1126 in main (argc=1, argv=0xbff60bd4) at main.c:2398
and the relevant bits of configuration - not sure if its correct:
...
loadmodule "dialog.so"
modparam("dialog", "dlg_flag", 4);
modparam("dialog", "profiles_no_value", "voicemail");
...
route {
...
if (is_method("INVITE")) {
dlg_manage();
setflag(4);
}
...
if (! route(LIMIT_VOICEMAIL)) {
xdbg(" SCRIPT: Voicemail limit exceeded\n");
sl_send_reply("503", "Service Unavailable");
exit;
}
...
}
...
route[LIMIT_VOICEMAIL] {
get_profile_size("voicemail", "$avp(size)");
if ($avp(size) >= 1) {
return -1;
}
set_dlg_profile("voicemail");
return 1;
}
any thoughts?
gene
I noticed that the textops module assumes that it is always operating on the
original message; with no regard to the existing lumped modifications. This
makes the successive application of textops (and some other operations as
well such as nathelper) incorrect. Is this true, or am I missing something?
maged
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A user has added themself to the list of users assigned to this task.
FS#99 - user friendly module function declaration
User who did this - Juha Heinanen (jh)
http://sip-router.org/tracker/index.php?do=details&task_id=99
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Juha Heinanen (jh)
Attached to Project - sip-router
Summary - user friendly module function declaration
Task Type - Improvement
Category - Core
Status - Assigned
Assigned To - Andrei Pelinescu-Onciul
Operating System - All
Severity - Medium
Priority - Normal
Reported Version - Development
Due in Version - Undecided
Due Date - Undecided
Details - instead of telling, how many arguments a module function has and what fixup function to use, number and kinds of the arguments could be specified by a string of letters, such as, i = expression yielding to an int value, s = expression yielding to a string value, v = script variable, a = avp, p = any pseudo variable. for example, in
{"printx", (cmd_function)print_fx, "sip", 0, REQUEST_ROUTE}
printx would have 3 arguments, first one a sting valued expression, second an int valued expression and third a pseudo variable.
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=99
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A user has added themself to the list of users assigned to this task.
FS#98 - continue statement for while loop
User who did this - Juha Heinanen (jh)
http://sip-router.org/tracker/index.php?do=details&task_id=98
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Juha Heinanen (jh)
Attached to Project - sip-router
Summary - continue statement for while loop
Task Type - Feature Request
Category - Core
Status - Assigned
Assigned To - Andrei Pelinescu-Onciul
Operating System - All
Severity - Medium
Priority - Normal
Reported Version - Development
Due in Version - Undecided
Due Date - Undecided
Details - It would make config scripts involving while loops cleaner if next iteration of the while loop could be activated by "continue" statement.
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=98
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
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>