Hi;
I'm using the received parameter to send a MESSAGE to unregsiter the first
user that is registered to register the second one.
Using:
*modparam("usrloc", "received_column"*
*modparam("registrar|nathelper", "received_avp",*
and when I do a:
select received from location;
as you can see is null.
+----------+
| received |
+----------+
| NULL |
+----------+
In IPV4 is working fine, but in IPV6 is not. Can you tell me how can I get
this value?
Im going crazy with that.
reg_fetch_contacts("location", "$fu", "existingContact");
if( $(ulc(existingContact=>user_agent)[0]) =~ "SPI/v"){
$var(oldDeviceId) =
$(ulc(existingContact=>callid)[0]{s.substr,9,0});
$var(newDeviceId) = $(hdr(Call-ID){s.substr,9,0});
if($var(oldDeviceId) != $var(newDeviceId) ){
xlog("L_INFO","New device id is
different:warn previous user another user overide him");
$var(address) = $(ulc(existingContact=>
*received*)[0]);
$var(ruri) = $(var(address){s.substr,4,0});
#Send a SIP Request signalling the problem
and its reason on the body
$uac_req(method)="MESSAGE";
$uac_req(ruri) = "sip:"+ $au + "@" +
$var(ruri);
$uac_req(furi) = "sip:kamailio@sip_domain";
$uac_req(turi) = $fu;
$uac_req(hdrs)="Max-Forwards: 70\r\nEvent:
reg\r\nContent-Type:
text/plain\r\nAccept-Contact:*;+g.ext.app.registration\r\n";
$uac_req(body)="Already registered with
another device id";
uac_req_send();
drop;
}
}
Thank you.
Hello all,
I'm facing one of those cases where I need to edit the body of a SIP
message, which is then to be fed to rtpengine for processing. Although I've
taken every precaution I've read about on this list and elsewhere, I can't
prevent the edited line from appearing twice in the outgoing message.
The configuration file used is huge, so I'm going to try to provide a
high-level overview here. But first, the things (I think) I know to be
requirements, and which I have striven to meet:
- If SDP is to be edited, then all such processing is to be carried out
in such a way in the script, so that msg_apply_changes() is run as many
times as needed before rtpengine offer/answer/manage is called.
- rtpengine offer/answer/manage is to be called only once per script
iteration
- msg_apply_changes can only be called in a request route, or in the
core reply_route (i.e. *not* in tm-managed on_reply_route[XXX] blocks)
In my case, additionally the following are true:
- SDP processing (other than the one performed by rtpengine) takes place
in one common route for all cases where it needs to happen. These are two
at the moment in my scenario:
- Early in the WITHINDLG route (of the example config file)
- After the sanity checks in the reply_route (of the example config
file)
- msg_apply changes() is called once, for each script iteration:
- right before rtpengine_manage() is called, provided that
t_is_request_route() returns true (so that I don't accidentally call it
from a branch route or anything)
- rtpengine_manage() is called in its own route, which is very
similar to the example config file's "NATMANAGE" route. Since
NATMANAGE is
called in all branch and on_reply_routes, I employ
t_is_request_route()
here to make sure it won't execute in those cases.
- at the end of the "core" reply_route
Now regarding the actual config-file-controlled SDP manipulation, it only
consists of a single call to replace_body_str(). The purpose is to edit a
line in the message body from something like:
- a=fmtp:101 0-16
to something along the lines of:
- a=fmtp:101 0-15
For replies, this works as expected.
For in-dialog requests, however, I end up with both the original and the
edited lines:
a=fmtp:101 0-16 (the original line)
... other SDP stuff ...
a=fmtp:101 0-15 (the edited line)
If anyone could point out any misconceptions I have about
msg_apply_changes, SDP rewriting from the script and rtp_engine_X()
interoperability, I would be more than grateful.
Thank you in advance and I apologize for the long read.
Best regards,
George Diamantopoulos
Hello all,
I've recently been experimenting with dmq, and I've noticed something that
seemed a little odd. shmem use would often be abnormally high on otherwise
idle kamailio nodes (literally, only dispatcher module OPTIONS were
exchanged at the time besides KDMQ messages).
After disabling the "enable_dmq" parameter for the dialog module, this sort
of absurd behaviour ceased. To get a quantified idea of this change's
effect, check out the following screenshot from our monitoring system:
https://pasteboard.co/Jb430lD.png
As you can see, the spikes stopped manifesting at around 05:00, when dmq
was disabled for dialog (albeit still employed for htable). shmem use then
grew as traffic was introduced to these nodes, and htables began filling
with data.
I was wondering if this to be expected, which I find highly odd given that
at the time other productive systems in the DMQ cluster were also idle
(given the time of the day), not to mention that their shmem usage was not
nearly as high.
Could this be attributed to some configuration error, with updates looping
endlessly (or until some counter reaches zero or something) among nodes? Or
could memory be used for other housekeeping purposes unrelated to dmq
dialog sharing?
Lastly, what is the meaning (and differences) of these shmem stats?
- real_used_size
- used_size
- max_used_size
Max used size I get (I'm guessing maximum seen since server was started?)
but what's the difference between real_used and used? Thanks!
Best regards,
George
hi
i m using kamailio 5.3 ans install rtpengine on different server
kindly help me what will be the configuration in case of kamailio
and rtpengine
thank you
--
*Regards:*
Gaurav Kumar
Hello @everybody
i can't load http_client module, can someone advice ?
ERROR: No module matching <http_client> found, failed to load module
version: kamailio 5.3.3 ( installed from GIT )
libcurl4-openssl-dev is installed too in Debian 9
thank for your attention