Hi,
I am trying the SIP trunk from kamailio with following configurations -
cfg_get.pstn.gw_ip="10.0.x.y
route[PSTN] {
#!ifdef WITH_PSTN
# check if PSTN GW IP is defined
if (strempty($sel(cfg_get.pstn.gw_ip))) {
xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not defined\n");
return;
}
if(!($rU=~"^(\+|00)918884978235"))
return;
# only local users allowed to call
if(from_uri!=myself) {
sl_send_reply("403", "Not Allowed");
exit;
}
$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);
route(RELAY);
exit;
#!endif
return;
}
I am able to see kamailio sending INVITE to SIP Provider but no
response back. Any other, configuration is required which I'm missing.
I have attached the tcpdump snapshot of the above scenario.
Thanks,
Arish
Hi there,
Long time user, 1st time poster - apologies if someone has posted this previously.
We have a product from a vendor that utilizes Kamailio as a SIP router - but we're wanting to extend it a little bit by the use of anycast (we're a small ISP). Basically the scenario is that we want to utilize Quagga via BGP to anycast an address, which addresses a glaring load balancing issue with have with people who use only A records.
Problem is anycast doesn't work so well in this scenario, just by adding the Anycast as a listen address on the proxy. What we'd want to do is rewrite the SIP so that all responses come back out saying to use the 'real ip'.
So I have two variables - say REAL_IP_ADDRESS and ANYCAST_IP_ADDRESS - request will come in via ANYCAST, but I want all responses from then on to be via REAL_IP_ADDRESS. We have six Kamailio boxes in various geographical locations, so the idea is they hit one based on closest, and we rewrite it so they end up with the real ip address to talk to.
Anyone done something similar? I'm guessing possibly, but I can't find anything specific enough for me to use.
Help appreciated!
Regards,
Daniel
Yesterday at Kamailio World there was an interesting question, raising a
concern about replication of user location and DMQ in general, we should
track it in the mailing list and use it as a feature request and I can
share my initial thoughts on the topic.
The concern was about DMQ reordering transactions.
With SIP registration this seems like a minor concern, high responsiveness
at the cost of potential small inconsistency seems like a good option.
Considering that, the state will automatically correct itself and that this
can be controlled using the expiration timer. This will become even more
insignificant when the replicas can only be used as primary server
failover. (it becomes a very small concern only when the primary server
fails)
With other type of data re-ordering may result in more problematic use
cases.
My impression is that DMQ should try to be good only with volatile data,
data that will expire anyway, like caching with expiration, registration,
Dialogs, etc.
I think it may be worth looking at adding support for ordering/queuing in
DMQ.
Performance and simplicity could be maintained by doing mainly transactions
in parallel with a configurable re-ordering best effort to minimize the
impact of the problem.
For example :
1- trying to re-order for a configurable amount of time. (32 seconds to
match the RFC for SIP re-transmissions)
2- adding tractability for failed transactions.
3- the possibility to trigger a re-sync.
Another option is to look at preserving strict ordering but I can imagine
this could add more problems in some cases ...
Hi
I've a question about NAPTR lockup and rewriting the RURI.
Following a little example:
- Alice at location A tries to call Bob at location B
- location A uses the RURI naptr.locationB.com to reach location B
- this NAPTR resolves to hostb.locationB.com and host B is listening on port 5070
hostb has the following alias defined:
- udp:hostb.locationB.com:5070
The problem now is, that the incoming RURI is "sip:bob@naptr.locationB.com" and the check to myself is not True.
Is there a possibility to rewrite the RURI to the result of the NAPTR query?
If I would add a second alias like "udp:naptr.locationB.com:5070" a check to myself would still fail as the RURI does not contain a port.
So I would have to add an alias like "udp:naptr.locationB.com" without port, then it would work.? Is this the way to go? Because the documentation says it is important to include the port, otherwise the loose_route() will not work as expected...
Thanks for your replies!
Mathias
Greetings,
Recently one of my Kamailio's started started answering with a lot of 500
replies to requests because of insufficient private memory.
The service Kamailio had been running for 6 months now. In order to solve
this i increased the private memory settings and restarted the Kamailio.
Before that, when searching a bit about the issue i found an old thread
where Daniel suggested using " kamcmd corex.pkg_summary idx 1" to check for
pkg leaks in the sip worker process. I ran this before doing the restart in
order to identify leaks and found the summary in the logs.
However, i am having a hard time interpreting this summary and being able
to know if i have or not a mem leak. What should i be looking for?
This is the beggining of the summary :
qm_status: (0x7ff3c8cef010):
qm_status: heap size= 8388608
qm_status: used= 928576, used+overhead=1464080, free=6924528
qm_status: max used (+overhead)= 1488472
qm_status: dumping all alloc'ed. fragments:
qm_status: 0. N address=0x7ff3c8d286d8 frag=0x7ff3c8d286a0 size=1024
used=1
qm_status: alloc'd from core: core/str_hash.h: str_hash_alloc(59)
qm_status: start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
qm_status: 1. N address=0x7ff3c8d28b40 frag=0x7ff3c8d28b08 size=256
used=1
qm_status: alloc'd from core: core/str_hash.h: str_hash_alloc(59)
qm_status: start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
qm_status: 2. N address=0x7ff3c8d28ca8 frag=0x7ff3c8d28c70 size=184
used=1
qm_status: alloc'd from core: core/counters.c: cnt_hash_add(332)
qm_status: start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
Any help?
Best Regards,
Duarte Rocha
Hi,
There is any working examples how to configure dispatcher module of
Kamailio? I have working registrations but working in half dialing
function.Signalling are come to asterisk and rtp start sending to my IP but
i cant hear anything.
Asterisk are doing registrar job - i dont know if it is good idea, maybe
not.
Hi,
as a followup to the 5 min 5 slides talk on Tuesday at the Kamailio
world conference, I wanted to send links to that implementation, as I
did get some interest about this afterwards.
This transparent RTP mux gateway implementation in SEMS is a
multiplexing, batching and compression mechanism, which can save quite
some bandwidth on low bitrate codecs - can be useful if you need to
work with very low bitrate links, e.g. on satellite (I tested with 10
G729 calls instead of 5 on a 128kbit sat link).
It's a bit like ROHC (RFC3095) but on application level, only for RTP,
and by using configuration for IP addresses instead of negotiation. Or
as osmux, but without separate negotiation (but in-band), and for all
codecs, and SIP. Or iax2 trunking mode, but with normal SIP/RTP.
https://github.com/sems-server/sems/blob/sayer/rtp-mux/doc/rtp_mux/rtp_mux_…https://github.com/sems-server/sems/blob/sayer/rtp-mux/doc/rtp_mux/rtp_mux.…
For now it's in the sayer/rtp-mux branch, but it's planned to merge it
to master, possibly with simplification of the configuration.
On another note, many thanks to the organizers of the Kamailio World
conference! It's both really nice to meet, and very useful, and I
think as well individually as well as for the community as a whole.
Best Regards,
Stefan
Hi All
Does anyone have any pointers for integrating Kamailio with CRMs (Dynamics / Salesforce / Zoho) or native Windows? We’re looking for basic click to dial / screen pop.
Thanks
Mark
--
Mark Boyce
Dark Origins Ltd
HI
i m gaurav
i have installed kamailio 5.1.x on Ubuntu server 18.4
How can i use Re-invite in kamailio if SIP is active
so that call can reconnect in case of network loss
plz help
--
*Regards:*
Gaurav Kumar