Hello,
I'm trying to use multiple destination sets which may include the same destination.
For instance:
SET ID: 1
sip:10.0.0.1:5060
sip:10.0.0.2:5060
SET ID: 2
sip:10.0.0.1:5060
Whenever a new SIP INVITE is sent to the Kamailio instance it will use SET ID 1. If then for some reason this call attempt fails, failure_route will trigger and SET ID 2 will be used. At first glance this might not make any sense, but there is some business logic behind this, but it's not relevant for this case.
For some reason, the dst_avp variable still contains the destinations of SET ID 1 in failure_route.
Is there a built-in way to reset this variable for every call to ds_select_domain(), such that only the destinations of passed SET ID will be loaded into the avp?
I tried setting the avp to $null before calling ds_select_domain, but that had some undesirable effects.
The reason I'm asking this is the destinations the call is being sent to are Freeswitch instances, which will return a 482 Request Merged when the same INVITE is sent to the same Freeswitch within 4 seconds (default T4 timer).
I'm trying to match the previously selected destination in failure_route with the next destination and skip if they're the same, or stop processing when they are the same and no more destinations are available.
I know I can mess with the T4 timer in Freeswitch and perhaps even sleep in failure route to deal with the 482 failure, but I rather fix this in a normal way.
Regards,
Grant Bagdasarian
Senior Developer
Hello,
I have a strange situation by using xlog module. I don't know for what reason I'm not receiving all logs generated by kamailio.
This is the configuration which I'm using in kamailio.cfg:
log_facility=LOG_LOCAL0
log_name="kamailio"
log_prefix="{$rm ($mt) | Seq=$cs | Source IP=$si ($proto) | Call ID=$ci} "
# ----- xlog -----
modparam("xlog", "buf_size", 8192)
modparam("xlog", "long_format", 0)
modparam("xlog", "force_color", 1)
modparam("xlog", "log_colors", "L_ERR=cr;L_WARN=px,L_INFO=px")
This is rsyslog configuration file:
local0.* /var/log/kamailio/kamailio.log
Kamailio is running under kamailio user, permission for the log file are as shown below:
-rwxrwxr-x 1 kamailio kamailio 252885132 Dec 2 14:51 /var/log/kamailio/kamailio.log
In request_route block this is the first line:
xlog("L_INFO","[START ROUTING]-(Source IP=$si:$sp/Destination IP=$Ri:$Rp)\n");
The problem is that not every request is logged in the log-file. For example, some "INVITES" requests I can find in the log file, but some of them - I cannot, even that in sngrep I see the request and the call is successfully processed by kamailio. Also, for some requests i can see only partial data, not full call-flow as it supposed to be (for ex. i see only BYE requests, or ACK response instead of full call flow).
Does someone have the same issue? If you don't - how are you dealing with kamailio log files? I'm thinking to send them to the central ELK stack, but if I have such problems by saving them locally - I don't see any reason to send them elsewhere.
I may think that the problem could be in rsyslog itself, but how can I troubleshoot that?
The traffic on the server is not very high - 30-50 concurrent calls. As a storage i'm using an SSD disk and xfs filesystem. Load on the disk - according to iostat/iotop - is minimum.
OS: CentOS Linux 7 (Core), Kamailio: 5.2.0 (x86_64/linux) 535e13
Thank You.
Hi,
Currently playing with presence_mwi in kamailio 5.1, and it appears the issue reported by Juha two years ago at https://lists.kamailio.org//pipermail/sr-dev/2016-September/036609.html seems to have appeared again somewhere along the way.
I’m sending a PUBLISH with message-summary event type, however I’m getting this error:
ERROR: presence [presentity.c:283]: check_if_dialog(): failed to parse xml document
As said in the old thread, it’s not an XML document, so it shouldn’t try to treat it as such. Any ideas?
Best,
Andreas
Hello all,
I'm trying to use a naptr address as a dispatcher destination and i'm
facing some issues here.
When i configure a naptr address in dispatcher table, like:
*1:1:sip\:proxy-registrar-ci1.fuze.domain:0:0:'':''*
I see kamailio making a dns query of type A, but since that this name
doesn't have any A record configured in dns, kamailio didn't get any
positive reply from it.
Should't kamailio make dns query by this order?
1. NAPTR
2. SRV
3. A
I noticed also that if the name configured in dispatcher table is resolved
successfully with A record from dns, then kamailio tries to make a query to
NAPTR and then SRV services for the exactly same name used for query
previously done(type A), but only if it gets a positive answer from dns to
the A type query.
I'm using kamailio version 5.1.0 with the following dns parameters
configured:
####### DNS Parameters #########
dns = no
rev_dns = no
dns_try_ipv6 = no
dns_retr_time = 1
dns_retr_no = 1
dns_cache_del_nonexp = no
dns_cache_flags = 1
dns_cache_gc_interval = 120
dns_cache_init = 1
dns_cache_mem = 1000
dns_cache_negative_ttl = 60
dns_try_naptr = yes
use_dns_cache = on
use_dns_failover = on
dns_srv_lb = yes
Is there something wrongly configured here that can make kamailio behaves
like that?
Thank you.
Regards
--
Cumprimentos
José Seabra