Kamailio module: Difference between revisions
(Created page with "== Overview == Kamailio module들 내용 설명 == Dispatcher == * https://www.kamailio.org/docs/modules/devel/modules/dispatcher.html Kamailio 에서 트래픽 로드 밸...") |
No edit summary |
||
Line 11: | Line 11: | ||
Dispatcher 모듈에 여러개의 Asterisk IP 가 설정되어 있는 상황에서, 어느 하나의 IP 가 flag 4(Disabled) 로 설정되게 되면 정상적으로 로드 밸런싱을 수행하지 않는 문제가 있었다. | Dispatcher 모듈에 여러개의 Asterisk IP 가 설정되어 있는 상황에서, 어느 하나의 IP 가 flag 4(Disabled) 로 설정되게 되면 정상적으로 로드 밸런싱을 수행하지 않는 문제가 있었다. | ||
== MAXFWD == | |||
* https://www.kamailio.org/docs/modules/5.0.x/modules/maxfwd.html#maxfwd.f.mf_process_maxfwd_header | |||
Max-Forward SIP header 와 관련된 기능을 수행할 수 있는 모듈이다. | |||
The SIP Max-Forward header is used to prevent loops in a SIP network. Every server that process and forward a SIP request lowers the Max-Forward value with one. When the value reaches zero, the request is not forwarded and an error response is sent to the UAC. | |||
=== Parameters === | |||
==== max_limit(integer) ==== | |||
Set an upper limit for the max-forward value in the outgoing requests. If the header is present, the decremented value is not allowed this max_limits - if it does, the header value will by decreased to "max_limit". This check is done when calling the maxfwd_process() function. | |||
The range of values stretches from 1 to 256, which is the maximum MAX-FORWARDS value allowed by RFC 3261. The value can be changed at runtime. | |||
Default value is "70" | |||
<pre> | |||
modparam("maxfwd", "max_limit", 32) | |||
</pre> | |||
=== Functions === | |||
==== maxfwd_process(max_value) ==== | |||
If no Max-Forward header is present in the received request, a header will be added having the original value equal with "max_value". If a Max-Forward header is already present, its value will be decremented(if not 0). The parameter can be a variable. | |||
This function can be used from REQUEST_ROUTE. | |||
'''Variables''' | |||
* max_value: Value to be added if there is no Max-Forward header field in the message. | |||
'''Return code''' | |||
* 2 (true): header was not found and a new header was successfully added. | |||
* 1 (true): header was found and its value was successfully decremented (had a non-0 value). | |||
* -1(false): the header was found and its value is 0(cannot be decremented). | |||
* -2(false): error during processing. | |||
The return code may be extensivly tested via script variable "retcode" (or "$?"). | |||
[[category:kamailio]] | [[category:kamailio]] |
Revision as of 15:27, 23 July 2019
Overview
Kamailio module들 내용 설명
Dispatcher
Kamailio 에서 트래픽 로드 밸런싱을 수행할 수 있는 모듈이다.
ETC
Kamailio 4.4.7 버전에서 이슈가 있었다. 새롭게 Asteri
Dispatcher 모듈에 여러개의 Asterisk IP 가 설정되어 있는 상황에서, 어느 하나의 IP 가 flag 4(Disabled) 로 설정되게 되면 정상적으로 로드 밸런싱을 수행하지 않는 문제가 있었다.
MAXFWD
Max-Forward SIP header 와 관련된 기능을 수행할 수 있는 모듈이다.
The SIP Max-Forward header is used to prevent loops in a SIP network. Every server that process and forward a SIP request lowers the Max-Forward value with one. When the value reaches zero, the request is not forwarded and an error response is sent to the UAC.
Parameters
max_limit(integer)
Set an upper limit for the max-forward value in the outgoing requests. If the header is present, the decremented value is not allowed this max_limits - if it does, the header value will by decreased to "max_limit". This check is done when calling the maxfwd_process() function.
The range of values stretches from 1 to 256, which is the maximum MAX-FORWARDS value allowed by RFC 3261. The value can be changed at runtime.
Default value is "70"
modparam("maxfwd", "max_limit", 32)
Functions
maxfwd_process(max_value)
If no Max-Forward header is present in the received request, a header will be added having the original value equal with "max_value". If a Max-Forward header is already present, its value will be decremented(if not 0). The parameter can be a variable.
This function can be used from REQUEST_ROUTE.
Variables
- max_value: Value to be added if there is no Max-Forward header field in the message.
Return code
- 2 (true): header was not found and a new header was successfully added.
- 1 (true): header was found and its value was successfully decremented (had a non-0 value).
- -1(false): the header was found and its value is 0(cannot be decremented).
- -2(false): error during processing.
The return code may be extensivly tested via script variable "retcode" (or "$?").