|
@@ -30,9 +30,9 @@ Muhammad Shahzad Shafi
|
|
3. Parameters
|
|
3. Parameters
|
|
|
|
|
|
3.1. alias_subdomains (string)
|
|
3.1. alias_subdomains (string)
|
|
- 3.2. network_io_intercept (int)
|
|
|
|
- 3.3. min_msg_len (int)
|
|
|
|
- 3.4. msg_avp (string)
|
|
|
|
|
|
+ 3.2. nio_intercept (int)
|
|
|
|
+ 3.3. nio_min_msg_len (int)
|
|
|
|
+ 3.4. nio_msg_avp (string)
|
|
|
|
|
|
4. Functions
|
|
4. Functions
|
|
|
|
|
|
@@ -78,9 +78,9 @@ Muhammad Shahzad Shafi
|
|
List of Examples
|
|
List of Examples
|
|
|
|
|
|
1.1. Set alias_subdomains parameter
|
|
1.1. Set alias_subdomains parameter
|
|
- 1.2. Set network_io_intercept parameter
|
|
|
|
- 1.3. Set min_msg_len parameter
|
|
|
|
- 1.4. Set msg_avp parameter
|
|
|
|
|
|
+ 1.2. Set nio_intercept parameter
|
|
|
|
+ 1.3. Set nio_min_msg_len parameter
|
|
|
|
+ 1.4. Set nio_msg_avp parameter
|
|
1.5. append_branch usage
|
|
1.5. append_branch usage
|
|
1.6. send_udp usage
|
|
1.6. send_udp usage
|
|
1.7. send_tcp usage
|
|
1.7. send_tcp usage
|
|
@@ -120,9 +120,9 @@ Chapter 1. Admin Guide
|
|
3. Parameters
|
|
3. Parameters
|
|
|
|
|
|
3.1. alias_subdomains (string)
|
|
3.1. alias_subdomains (string)
|
|
- 3.2. network_io_intercept (int)
|
|
|
|
- 3.3. min_msg_len (int)
|
|
|
|
- 3.4. msg_avp (string)
|
|
|
|
|
|
+ 3.2. nio_intercept (int)
|
|
|
|
+ 3.3. nio_min_msg_len (int)
|
|
|
|
+ 3.4. nio_msg_avp (string)
|
|
|
|
|
|
4. Functions
|
|
4. Functions
|
|
|
|
|
|
@@ -178,14 +178,14 @@ Chapter 1. Admin Guide
|
|
Contributions to this module must be done under the BSD license, to
|
|
Contributions to this module must be done under the BSD license, to
|
|
follow the requirements of the core contributions.
|
|
follow the requirements of the core contributions.
|
|
|
|
|
|
- This module now also provides access to network input / output data
|
|
|
|
- through event_route[network:msg]. The raw data received from a remote
|
|
|
|
- host or about to be sent to a remote host is available in variable $mb.
|
|
|
|
- The script writer may manipulate this data and save the final result in
|
|
|
|
- an AVP defined by msg_avp module parameter. The content of this AVP
|
|
|
|
- will then be processed by SIP worker as normal, i.e. a received message
|
|
|
|
- will be parsed and sent to appropriate route block while a sent message
|
|
|
|
- is forwarded to remote host.
|
|
|
|
|
|
+ This module now also provides access to network input / output (nio)
|
|
|
|
+ data through event_route[network:msg]. The raw data received from a
|
|
|
|
+ remote host or about to be sent to a remote host is available in
|
|
|
|
+ variable $mb. The script writer may manipulate this data and save the
|
|
|
|
+ final result in an AVP defined by msg_avp module parameter. The content
|
|
|
|
+ of this AVP will then be processed by SIP worker as normal, i.e. a
|
|
|
|
+ received message will be parsed and sent to appropriate route block
|
|
|
|
+ while a sent message is forwarded to remote host.
|
|
|
|
|
|
2. Dependencies
|
|
2. Dependencies
|
|
|
|
|
|
@@ -206,9 +206,9 @@ Chapter 1. Admin Guide
|
|
3. Parameters
|
|
3. Parameters
|
|
|
|
|
|
3.1. alias_subdomains (string)
|
|
3.1. alias_subdomains (string)
|
|
- 3.2. network_io_intercept (int)
|
|
|
|
- 3.3. min_msg_len (int)
|
|
|
|
- 3.4. msg_avp (string)
|
|
|
|
|
|
+ 3.2. nio_intercept (int)
|
|
|
|
+ 3.3. nio_min_msg_len (int)
|
|
|
|
+ 3.4. nio_msg_avp (string)
|
|
|
|
|
|
3.1. alias_subdomains (string)
|
|
3.1. alias_subdomains (string)
|
|
|
|
|
|
@@ -225,7 +225,7 @@ modparam("corex", "alias_subdomains", "kamailio.org")
|
|
modparam("corex", "alias_subdomains", "udp:sip-router.org:5060")
|
|
modparam("corex", "alias_subdomains", "udp:sip-router.org:5060")
|
|
...
|
|
...
|
|
|
|
|
|
-3.2. network_io_intercept (int)
|
|
|
|
|
|
+3.2. nio_intercept (int)
|
|
|
|
|
|
If set to non-zero then raw data received from a remote host or about
|
|
If set to non-zero then raw data received from a remote host or about
|
|
to be sent to a remote host is made available in
|
|
to be sent to a remote host is made available in
|
|
@@ -234,36 +234,36 @@ modparam("corex", "alias_subdomains", "udp:sip-router.org:5060")
|
|
|
|
|
|
Default value is 0, i.e. do not allow access to network io data.
|
|
Default value is 0, i.e. do not allow access to network io data.
|
|
|
|
|
|
- Example 1.2. Set network_io_intercept parameter
|
|
|
|
|
|
+ Example 1.2. Set nio_intercept parameter
|
|
...
|
|
...
|
|
-modparam("corex", "network_io_intercept", 1)
|
|
|
|
|
|
+modparam("corex", "nio_intercept", 1)
|
|
...
|
|
...
|
|
|
|
|
|
-3.3. min_msg_len (int)
|
|
|
|
|
|
+3.3. nio_min_msg_len (int)
|
|
|
|
|
|
Minimum content length of the packet to execute the
|
|
Minimum content length of the packet to execute the
|
|
- event_route[network:msg]. This only works if network_io_intercept
|
|
|
|
- parameter is set to non-zero.
|
|
|
|
|
|
+ event_route[network:msg]. This only works if nio_intercept parameter is
|
|
|
|
+ set to non-zero.
|
|
|
|
|
|
Default value is 0.
|
|
Default value is 0.
|
|
|
|
|
|
- Example 1.3. Set min_msg_len parameter
|
|
|
|
|
|
+ Example 1.3. Set nio_min_msg_len parameter
|
|
...
|
|
...
|
|
-modparam("corex", "min_msg_len", 32)
|
|
|
|
|
|
+modparam("corex", "nio_min_msg_len", 32)
|
|
...
|
|
...
|
|
|
|
|
|
-3.4. msg_avp (string)
|
|
|
|
|
|
+3.4. nio_msg_avp (string)
|
|
|
|
|
|
AVP name to store modified content to be set in the packet. If not set
|
|
AVP name to store modified content to be set in the packet. If not set
|
|
in event_route[network:msg], then all changes are lost and original
|
|
in event_route[network:msg], then all changes are lost and original
|
|
- contents are used. This only works if network_io_intercept parameter is
|
|
|
|
- to set non-zero.
|
|
|
|
|
|
+ contents are used. This only works if nio_intercept parameter is to set
|
|
|
|
+ non-zero.
|
|
|
|
|
|
Default value is empty.
|
|
Default value is empty.
|
|
|
|
|
|
- Example 1.4. Set msg_avp parameter
|
|
|
|
|
|
+ Example 1.4. Set nio_msg_avp parameter
|
|
...
|
|
...
|
|
-modparam("corex", "msg_avp", "$avp(msg)")
|
|
|
|
|
|
+modparam("corex", "nio_msg_avp", "$avp(msg)")
|
|
...
|
|
...
|
|
|
|
|
|
4. Functions
|
|
4. Functions
|
|
@@ -383,7 +383,7 @@ s");
|
|
Returns true if contents of message buffer $mb are the data received
|
|
Returns true if contents of message buffer $mb are the data received
|
|
from remote host, otherwise false indicating that the contents of $mb
|
|
from remote host, otherwise false indicating that the contents of $mb
|
|
are data that is about to be sent out to remote host. This only works
|
|
are data that is about to be sent out to remote host. This only works
|
|
- if network_io_intercept parameter is set to non-zero.
|
|
|
|
|
|
+ if nio_intercept parameter is set to non-zero.
|
|
|
|
|
|
This function can be used from event_route[network:msg].
|
|
This function can be used from event_route[network:msg].
|
|
|
|
|
|
@@ -801,7 +801,7 @@ event_route[dispatcher:dst-down] {
|
|
messages encrypted by server can be decrypted at client app.
|
|
messages encrypted by server can be decrypted at client app.
|
|
|
|
|
|
Next is a basic usage example where encoding and decoding is done using
|
|
Next is a basic usage example where encoding and decoding is done using
|
|
- PERL,
|
|
|
|
|
|
+ PERL.
|
|
|
|
|
|
Example 1.28. event_route[network:msg] use cases
|
|
Example 1.28. event_route[network:msg] use cases
|
|
...
|
|
...
|
|
@@ -813,9 +813,9 @@ modparam("app_perl", "filename", "/usr/local/etc/kamailio/custom_compress.pl")
|
|
modparam("app_perl", "modpath", "/usr/local/lib64/kamailio/perl")
|
|
modparam("app_perl", "modpath", "/usr/local/lib64/kamailio/perl")
|
|
|
|
|
|
# ----- corex params -----
|
|
# ----- corex params -----
|
|
-modparam("corex", "network_io_intercept", 32)
|
|
|
|
-modparam("corex", "min_msg_len", 32)
|
|
|
|
-modparam("corex", "msg_avp", "$avp(msg)")
|
|
|
|
|
|
+modparam("corex", "nio_intercept", 32)
|
|
|
|
+modparam("corex", "nio_min_msg_len", 32)
|
|
|
|
+modparam("corex", "nio_msg_avp", "$avp(msg)")
|
|
...
|
|
...
|
|
event_route[network:msg] {
|
|
event_route[network:msg] {
|
|
if (is_incoming()) {
|
|
if (is_incoming()) {
|