Hello ,
im using kamailio with two interfaces external and internal.
i need a way either to :
* enable topoh hiding only when outgoing interface is external ( mask contact and Via ip only when ougoing interface is external
* or if it is not possible to enable it only in one direction.i want to know how to configure dynamic(for example in xavp or avp) ip to put in Contact and Via when topoh is enabled.
i see that the 'mask_ip' parameter of topoh module is a string. so we can not set a dynamic value here unfortunately.
Thanks
Hi Kamailio community,
I am running an IPsec server beside Kamailio, so I am interested to know if there is any method to create a SIP listener on a specific port on the fly. I mean, when I create the IPsec SAs through the IPsec server, I ask Kamailio to create a listener/handler for that port too.This case might be very rare, but it is always good to hear community ideas.
Thank you.
Regards,Hossein
Hello!
I'm trying to use app_python module to perform periodic actions.
This is a simple python code
def _update():
while True:
_action()
time.sleep(60)
class noop_handler:
def child_init(self, rank):
return 0
def ksr_request_route(self, msg):
return 1
def mod_init():
# signal.signal(signal.SIGTERM, signal.default_int_handler)
proc = multiprocessing.Process(target=_update)
# proc.daemon = True
proc.start()
ksr.notice('Forked process {} to update\n'.format(proc.pid))
return noop_handler()
After killing kamailio processes with SIGTERM signal (killall kamailio) I
see zombie process.
And if I try to process the signal in daemon mode (see the comments in the
snippet above), I get critical errors in the logs and still see processes:
0(37001) NOTICE: <core> [core/kemi.c:124]: sr_kemi_core_notice(): Forked
process 37002 to update
1(37003) ERROR: <core> [core/udp_server.c:464]: udp_rcv_loop(): recvfrom:[4]
Interrupted system call
Process Process-1:
Traceback (most recent call last):
File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in
_bootstrap
self.run()
File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "/tmp/script.py", line 155, in _update
time.sleep(period)
KeyboardInterrupt
0(37001) ALERT: <core> [main.c:774]: handle_sigs(): child process 37002
exited normally, status=1
0(37001) INFO: <core> [main.c:802]: handle_sigs(): terminating due to
SIGCHLD
1(37003) ERROR: <core> [core/udp_server.c:464]: udp_rcv_loop(): recvfrom:[4]
Interrupted system call
8(37014) CRITICAL: <core> [core/pass_fd.c:277]: receive_fd(): EOF on 4
1(37003) ERROR: <core> [core/udp_server.c:464]: udp_rcv_loop(): recvfrom:[4]
Interrupted system call
So, how I can kill child process by SIGTERM signal?
Greetings,
I've been using the pipelimit module and the pl_check function to control
users rates in my proxy.
if (!pl_check("$var(UserID)", "TAILDROP", "$var(UserRate)")) {
pl_drop();
exit;
}
In this case $var(UserID) is the pipe and $var(UserRate) is the maximum
rate.
The value of the rate is retrieved on every call via query to a DB.
If I change the UserRate value to 0 CPS on the DB calls are not rejected
unless they go over 1 CPS. However, if I restart Kamailio all calls are
correctly rejected.
Why does this happen? Can I change this behaviour?
Cheers,
Duarte
Hi,
Is there a means of appending new branches from config script for a transaction which is already proceeding in the background, without using `tsilo`?
That is to say, I have an async transaction which is resumed in an async worker and is t_relay()’d away to some destination. Meanwhile, I have learned about new destinations for it to try via an incoming registration, and would like to append additional parallel forking branches to that transaction, even though it is already proceeding.
ts_append() does this for me; the issue I have is that it is mediated through a registrar, but I am not a registrar. My registrar is upstream, and my proxy is just a front-end to it. So, in essence, I require something like `tsilo` at a more general level, where contacts can be populated by some other mechanism rather than being learned via callbacks out of `usrloc`.
Is there a way to accomplish this?
Cheers,
— Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Hi List
I noticed, that one of our CPE copies the Proxy-Authorization HF in
almost all messages sent.
As PRACK were not authenticated, those headers were potentially sent on
to the destination disclosing the authentication username and realm.
So assuming, if credentials are present, the client wishes them to be
validated, I added:
if (has_credentials("$fd")) {
xlog("L_INFO", "$cfg(route): got $rm with credentials. Validate them!\n");
route(AUTH);
}
and in route[AUTH] I call:
pv_auth_check() which returns 1 thus success upon which I use:
if(!is_method("REGISTER|PUBLISH"))
consume_credentials();
If the method is INVITE:
Proxy-Authorization HF is removed by consume_credentials()
if the method is PRACK:
Proxy-Authorization HF is still present on the outbound leg.
Mit freundlichen Grüssen
-Benoît Panizzon-
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________
Hello,
I need to route SIP INVITE towards a specific node based on the MSISDN of the Request URI.
I saw that the dispatcher module should be able to make this with the function ds_select_dst and the algorithm "hash over request-URI user" but I don't understand how the routing is done if we can't associate the request-URI user with the destination address in the dispatcher DB.
Maybe my understanding of this module is wrong. Could you help me to achieve this?
Thanks
Anthony
Hello,
I'm using Kamailio in stateless mode to send redirect responses.
I've noticed that the responses are sent to the packet source IP address, and to the port found in the Via header.
I'm a bit confused. I was expecting the response to be sent to the address and port found in the Via header.
Is it the expected behaviour ?
I'm using Kamailio 5.5.2.
Thanks for your help !
Regards,
Nicolas.
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.