Hi all,
I am wondering if it is possible for the dispatcher module to monitor multiple endpoints that resolve from a single hostname using DNS. Can I configure a single DNS name in the dispatcher table which resolves to 3 IP addresses and have them monitored by OPTIONS pings, and then select the first one that is marked as active to route requests to? I haven't found much help online to know if this is possible/supported.
i.e. Does the dispatcher module support monitoring of multiple results returned from DNS NAPTR records?
Thanks,
Tom
Hi,
On 4.4.7, since switching to db_mode 2 for usrloc with the following settings:
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "timer_procs", 2)
modparam("usrloc", "skip_remote_socket", 1)
modparam("usrloc", "timer_interval", 30)
modparam("usrloc", "matching_mode", 0)
I seem to run into a situation where, despite starting from zero local
registrations and an empty DB `location` table, out of ~1700
registrations visible in the runtime usrloc table, about 60-80 never
make it into the database.
This is because they're being continuously UPDATE'd rather than
INSERT'd, so there is some presumption that they should already be in
the Postgres database. But they're not.
This gap seems to very slowly grow over time.
I understand that this option is intended to deal with a scenario like
that:
https://kamailio.org/docs/modules/5.3.x/modules/usrloc.html#usrloc.p.db_che…
but the documentation doesn't say it needs to be on for db_mode 2 to
work correctly, and it's off by default.
I'm wondering what causes certain registrants to get into this state in
the first place, where the registrar presumes that they've already been
synced to the DB and only need to be update'd on renewal, where in fact
they have not been synced.
Causes I've ruled out:
1) The contacts being ignored due to non-local socket or other
invalidation;
2) Contacts being explicitly deleted by an outside process.
Any ideas appreciated!
-- 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, I installed kamailio and siremis.
I receive incoming calls from gateway and all is ok.
but about sending out calls using dynamic routes I have problem, always I
get "not found" error on calling out phone numbers.
1.I need to send my did number with call to approved by gateway
2.do drouting module needs to enabled by config file?
3. if any better solution than drouting, write please, all I need is every
subscriber have its did number and route on outgoing calls too.
Thanks
Hi, I installed kamailio and siremis.
I receive incoming calls from gateway and all is ok.
but about sending out calls using dynamic routes I have problem, always I
get "not found" error on calling out phone numbers.
1.I need to send my did number with call to approved by gateway
2.do drouting module needs to enabled by config file?
3. if any better solution than drouting, write please, all I need is every
subscriber have its did number and route on outgoing calls too.
Thanks
Hi,
we are facing the issue with automated failover in same SIP dialog in rtpengine module. This issue occurs after we upgraded version 4.4.7 to 5.3.2 and only for rtpengines that are in another datacenter with latency higher than about 100ms.
configuration
modparam("rtpengine", "rtpengine_sock", "1 == udp:10.0.0.1:2222 udp:10.0.0.2:2222")
modparam("rtpengine", "rtpengine_sock", "1 == udp:10.0.0.3:2222 udp:10.0.0.4:2222")
INVITE request from kamailio to 10.0.0.1:2222
3:ICE6:remove5:flagsl13:trust-address16:always-transcode17:asymmetric-codecs12:loop-protecte7:replacel6:origin18:session-connectione18:transport-protocol7:RTP/AVP8:rtcp-muxl5:demuxe7:call-id20:xxx:received-froml3:IP414:x.x.x.xe8:from-tag10:naluniuntp7:command5:offere
RESPONSE
6:result2:oke
ANSWER request is than send to 10.0.0.2:2222 with error
3:ICE5:force5:flagsl13:trust-address16:always-transcode17:asymmetric-codecs12:loop-protecte7:replacel6:origin18:session-connectione18:transport-protocol9:RTP/SAVPF8:rtcp-muxl6:accept5:offere7:call-id20:l63nam58lomphlpvli9o13:received-froml3:IP414:18.212.137.170e8:from-tag10:naluniuntp6:to-tag10:as297c65177:command6:answere
RESPONSE
d6:result5:error12:error-reason15:Unknown call-ide
Only possible fix is to have only one setid with only one server.
First RTPengine is not marked as failed in list of rtpengine servers after the first response.
Hello,
We've been using the uac_replace_from function to anonymize the From header to anonymous(a)anonymous.invalid<mailto:anonymous@anonymous.invalid>. The uac module makes use of the dialog module for restoring the original URI.
Everything works fine, except when the callee sends the BYE request (replaced uri is present in To header): the 200 OK received by the callee of the BYE suddenly contains the original URI in the To header.
We're running Kamailio 5.1.
Is this a known bug or limitation of the uac module?
Any way to have this replaced correctly (preferably automatically by uac module)?
Regards,
Grant
Hello,
We are using Kamailio as a register freeswitch as a Media server for SIP its working fine with out any issue. But when we use Websocket module (WebRTC) i can able to register and make call , Even call also connected from browser to PSTN but call will disconnect after 30 seconds look like ICE gathering issue can i know its NAT issue Proxy issue.
Regard's
Murugan Panidan
Hello,
We have several SIP domains coming into our SBC. I need to build a
Kamailio box that will 302 the call to the appropriate server based on the
domain. If the call does not come in with a recognized domain I would like
for it to 404 the call. Not sure how to do this. Can someone point me in
the right direction?
Hi,
During some tests with the module tmrec, we stumble upon an unexpected
behavior of the monthly recurrence with days of the week.
The last week does not match our expected date.
For example, the last Monday of March 2020 is day 30 (fifth Monday of the
month) however, neither the 5MO or -1MO configuration on the bday parameter
match with a timestamp configured to day 30. The same situation is verified
on months with only 4 weeks.
To easily explain the behavior we create this configuration:
$var(ts)="1584355625"; # Monday, March 16, 2020 10:47:05
if(tmrec_match("20200101T090000|PT8H|monthly||1|3MO||||","$(var(ts){s.int})"))
{
xlog("L_INFO","Epoch $var(ts) matches with 3MO\n");
}else{
xlog("L_INFO","Epoch $var(ts) doesn't match with 3MO\n");
}
$var(ts)="1584960425"; # Monday, March 23, 2020 10:47:05
if(tmrec_match("20200101T090000|PT8H|monthly||1|4MO||||","$(var(ts){s.int})"))
{
xlog("L_INFO","Epoch $var(ts) matches with 4MO\n");
}else{
xlog("L_INFO","Epoch $var(ts) doesn't match with 4MO\n");
}
$var(ts)="1585565225"; # Monday, March 30, 2020 10:47:05
if(tmrec_match("20200101T090000|PT8H|monthly||1|5MO||||","$(var(ts){s.int
})")){
xlog("L_INFO","Epoch $var(ts) matches with 5MO\n");
}else{
xlog("L_INFO","Epoch $var(ts) doesn't match with 5MO\n");
}
$var(ts)="1584960425"; # Monday, March 23, 2020 10:47:05
if(tmrec_match("20200101T090000|PT8H|monthly||1|-1MO||||","$(var(ts){s.int
})")){
xlog("L_INFO","Epoch $var(ts) matches with -1MO\n");
}else{
xlog("L_INFO","Epoch $var(ts) doesn't match with -1MO\n");
}
The results were:
Epoch 1584355625 matches with 3MO
Epoch 1584960425 matches with 4MO
Epoch 1585565225 doesn't match with 5MO
Epoch 1584960425 matches with -1MO
Are we configuring the tmrec_match wrongly?
--
Cumprimentos / Best regards,
*David Gonçalves*
Research and Development Technician
Phone: +351 256 370 980
Email: david.goncalves(a)itcenter.com.pt