Module: sip-router
Branch: master
Commit: 321fb280f81d2e00531feff1562f064a7222ffe9
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=321fb28…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Nov 21 19:14:36 2013 +0100
sl: README updated
---
modules/sl/README | 102 ++++++++++++++++++++++++++---------------------------
1 files changed, 50 insertions(+), 52 deletions(-)
diff --git a/modules/sl/README b/modules/sl/README
index 447f700..5d7723d 100644
--- a/modules/sl/README
+++ b/modules/sl/README
@@ -1,4 +1,3 @@
-
The SL Module - Statless request handling
Bogdan Iancu
@@ -10,7 +9,7 @@ Daniel-Constantin Mierla
asipto.com
Copyright � 2003 FhG FOKUS
- _________________________________________________________________
+ __________________________________________________________________
Table of Contents
@@ -25,10 +24,10 @@ Daniel-Constantin Mierla
3. Functions
- 3.1. sl_send_reply(code, reason)
- 3.2. send_reply(code, reason)
- 3.3. sl_reply_error()
- 3.4. sl_forward _reply([ code, [ reason ] ])
+ 3.1. sl_send_reply(code, reason)
+ 3.2. send_reply(code, reason)
+ 3.3. sl_reply_error()
+ 3.4. sl_forward _reply([ code, [ reason ] ])
4. Statistics
@@ -80,10 +79,10 @@ Chapter 1. Admin Guide
3. Functions
- 3.1. sl_send_reply(code, reason)
- 3.2. send_reply(code, reason)
- 3.3. sl_reply_error()
- 3.4. sl_forward _reply([ code, [ reason ] ])
+ 3.1. sl_send_reply(code, reason)
+ 3.2. send_reply(code, reason)
+ 3.3. sl_reply_error()
+ 3.4. sl_forward _reply([ code, [ reason ] ])
4. Statistics
@@ -114,31 +113,30 @@ Chapter 1. Admin Guide
1. Overview
- The SL module allows the SIP server to act as a stateless UA server
- and generate replies to SIP requests without keeping state. That is
+ The SL module allows the SIP server to act as a stateless UA server and
+ generate replies to SIP requests without keeping state. That is
beneficial in many scenarios, in which you wish not to burden server's
memory and scale well.
- The SL module needs to filter ACKs sent after a local stateless reply
+ The SL module needs to filter ACKs sent after a local stateless reply
to an INVITE was generated. To recognize such ACKs, ser adds a special
"signature" in to-tags. This signature is sought for in incoming ACKs,
and if included, the ACKs are absorbed.
- To speed up the filtering process, the module uses a timeout
- mechanism. When a reply is sent, a timer us set. As long as the timer
- is valid, the incoming ACK requests will be checked using TO tag
- value. Once the timer expires, all the ACK messages are let through -
- a long time passed till it sent a reply, so it does not expect any ACK
- that have to be blocked.
-
- The ACK filtering may fail in some rare cases. If you think these
- matter to you, better use stateful processing (TM module) for INVITE
- processing. Particularly, the problem happens when a UA sends an
- INVITE which already has a to-tag in it (e.g., a re-INVITE) and the
- server want to reply to it. Then, it will keep the current to-tag,
- which will be mirrored in ACK. SER will not see its signature and
- forward the ACK downstream. Caused harm is not bad--just a useless ACK
- is forwarded.
+ To speed up the filtering process, the module uses a timeout mechanism.
+ When a reply is sent, a timer us set. As long as the timer is valid,
+ the incoming ACK requests will be checked using TO tag value. Once the
+ timer expires, all the ACK messages are let through - a long time
+ passed till it sent a reply, so it does not expect any ACK that have to
+ be blocked.
+
+ The ACK filtering may fail in some rare cases. If you think these
+ matter to you, better use stateful processing (TM module) for INVITE
+ processing. Particularly, the problem happens when a UA sends an INVITE
+ which already has a to-tag in it (e.g., a re-INVITE) and the server
+ want to reply to it. Then, it will keep the current to-tag, which will
+ be mirrored in ACK. SER will not see its signature and forward the ACK
+ downstream. Caused harm is not bad--just a useless ACK is forwarded.
2. Parameters
@@ -170,7 +168,7 @@ modparam("sl", "default_reason", "Server Error")
2.3. bind_tm (int)
- Controls if SL module should attempt to bind to TM module in order to
+ Controls if SL module should attempt to bind to TM module in order to
send stateful reply when the transaction is created.
Default value is 1 (enabled).
@@ -182,17 +180,16 @@ modparam("sl", "bind_tm", 0) # feature disabled
3. Functions
- 3.1. sl_send_reply(code, reason)
- 3.2. send_reply(code, reason)
- 3.3. sl_reply_error()
- 3.4. sl_forward _reply([ code, [ reason ] ])
+ 3.1. sl_send_reply(code, reason)
+ 3.2. send_reply(code, reason)
+ 3.3. sl_reply_error()
+ 3.4. sl_forward _reply([ code, [ reason ] ])
-3.1. sl_send_reply(code, reason)
+3.1. sl_send_reply(code, reason)
- For the current request, a reply is sent back having the given code
- and text reason. The reply is sent stateless, totally independent of
- the Transaction module and with no retransmission for the INVITE's
- replies.
+ For the current request, a reply is sent back having the given code and
+ text reason. The reply is sent stateless, totally independent of the
+ Transaction module and with no retransmission for the INVITE's replies.
Meaning of the parameters is as follows:
* code - Return code.
@@ -203,19 +200,20 @@ modparam("sl", "bind_tm", 0) # feature disabled
sl_send_reply("404", "Not found");
...
-3.2. send_reply(code, reason)
+3.2. send_reply(code, reason)
- For the current request, a reply is sent back having the given code
- and text reason. The reply is sent stateful or stateless, depending of
- the TM module: if a transaction exists for the current request, then
- the reply is sent statefully, otherwise stateless.
+ For the current request, a reply is sent back having the given code and
+ text reason. The reply is sent stateful or stateless, depending of the
+ TM module: if a transaction exists for the current request, then the
+ reply is sent statefully, otherwise stateless.
Meaning of the parameters is as follows:
* code - Return code.
* reason - Reason phrase.
- This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
- BRANCH_ROUTE.
+ This function can be used from REQUEST_ROUTE and FAILURE_ROUTE. It can
+ be used on ONREPLY_ROUTE executed by tm module (upon a t_on_reply()
+ callback).
Example 1.5. send_reply usage
...
@@ -224,10 +222,10 @@ send_reply("404", "Not found");
send_reply("403", "Invalid user - $fU");
...
-3.3. sl_reply_error()
+3.3. sl_reply_error()
- Sends back an error reply describing the nature of the last internal
- error. Usually this function should be used after a script function
+ Sends back an error reply describing the nature of the last internal
+ error. Usually this function should be used after a script function
that returned an error code.
Example 1.6. sl_reply_error usage
@@ -235,11 +233,11 @@ send_reply("403", "Invalid user - $fU");
sl_reply_error();
...
-3.4. sl_forward _reply([ code, [ reason ] ])
+3.4. sl_forward _reply([ code, [ reason ] ])
- Forward statelessy the current received SIP reply, with the option to
- change the status code and reason text. The new code has to be in the
- same class. The received reply is forwarded as well by core when the
+ Forward statelessy the current received SIP reply, with the option to
+ change the status code and reason text. The new code has to be in the
+ same class. The received reply is forwarded as well by core when the
config execution ended, unless it is dropped from config.
Meaning of the parameters is as follows:
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#364 - Crash in TCP Read on Kamailio 4.0.1
User who did this - Daniel-Constantin Mierla (miconda)
----------
Can you update to latest git version? It has MEMDBG=1 in Makefile.defs that makes detection of buffer overflows easier. When you get the next crash, check the logs for error messages and attach them here.
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=364#comment1177
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.
The following task has a new comment added:
FS#364 - Crash in TCP Read on Kamailio 4.0.1
User who did this - Vitaliy Aleksandrov (Vitaliy)
----------
>From previous crash:
<code>
(gdb) p *frag
$1 = {size = 176, u = {nxt_free = 0x0, is_free = 0}}
</code>
Today I had two crashes in the same place:
<code>
(gdb) p *frag
$1 = {size = 176, u = {nxt_free = 0x0, is_free = 0}}
(gdb) p *((char*)frag + sizeof(struct qm_frag))
$2 = -96 '\240'
</code>
<code>
(gdb) p *frag
$1 = {size = 208, u = {nxt_free = 0x0, is_free = 0}}
(gdb) p *((char*)frag + sizeof(struct qm_frag))
$2 = 1 '\001'
</code>
Kamailio log from proxy start until crash is in the attachment (just 303 lines).
----------
One or more files have been attached.
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=364#comment1176
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.
The following task has a new comment added:
FS#371 - Handling t_on_reply when use in event_route
User who did this - Daniel-Constantin Mierla (miconda)
----------
Can you try the next patch? It is for master branch, but is small and should be easy to adapt for 4.0.
<code>
diff --git a/modules/tm/uac.c b/modules/tm/uac.c
index 8f54dbe..ecdc357 100644
--- a/modules/tm/uac.c
+++ b/modules/tm/uac.c
@@ -426,6 +426,9 @@ static inline int t_uac_prepare(uac_req_t *uac_r,
}
#endif
+ new_cell->uac[0].on_reply = new_cell->on_reply;
+ new_cell->uac[0].on_failure = new_cell->on_failure;
+
new_cell->method.s = buf;
new_cell->method.len = uac_r->method->len;
</code>
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=371#comment1175
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.
The following task has a new comment added:
FS#365 - modules/app_lua: sr.xavp.get() allow get all values of a name
User who did this - Daniel-Constantin Mierla (miconda)
----------
In kamailio.cfg, a negative index means to return the avp counting from the end. Perhaps it would be good to preserve this functionality in lua as well. Returning all values is done for index '*'.
Given that, maybe is better to add a special function to return all values, e.g., xavp_get_all(...).
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=365#comment1174
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.
The following task has a new comment added:
FS#364 - Crash in TCP Read on Kamailio 4.0.1
User who did this - Daniel-Constantin Mierla (miconda)
----------
You haven't added output for:
p *frag
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=364#comment1173
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.
The following task has a new comment added:
FS#372 - Out of memory when a request is sent to itself
User who did this - Daniel-Constantin Mierla (miconda)
----------
It is unlikely a severe bug here, but the issue I mentioned in previous comment, fixed in recent versions. It cannot backported to 3.1, you have to try with updated versions.
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=372#comment1172
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.
The following task has been changed. The changes are listed below. For full information about what has changed, visit the URL and click the History tab.
FS#372 - Out of memory when a request is sent to itself
User who did this: Daniel-Constantin Mierla (miconda)
Severity: High -> Low
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=372
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.