Sorry about the cross post. I wasn't sure how many people were on both the OpenSIPs and Kamailio mailing lists... and since this is a 'core' issue, I figured it would be good to get input from the most people. In the future I will only post to one.
I will go down the path of the htable, what kind of performance/memory hit am I going to take?
This system has a lot of memory available to it, how would I increase memory appropriately to ensure the htable had enough to live happily?
thanks, Geoff
On Mon, Feb 23, 2009 at 7:14 AM, Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
please do not cross-post on many mailing lists. Will create confusion about available solutions.
Theoretically, this is valid in SIP (e.g., 2 invites with same call-id) -- it is same scenario as parallel forking in upstream.
However, if you know that this shouldn't happen, you can try to fix it from config.
Fist is to identify why the BYE is routed to the wrong server. It should follow the Route set and contact address. Can you provide the pcap file of such call?
As solution to deny new invites with same call id is to use the htable module. Set a key there based on call id (eventually plus from user, from tag, etc.) and check it before processing the invite, if there is one, drop it.
You just set key auto-expire for 30-60sec so it gets automatically deleted.
Note that htable is in devel version (upcoming 1.5.0), but should work out of the box with 1.4: http://kamailio.org/docs/modules/1.5.x/htable.html
Cheers, Daniel
On 02/22/2009 03:24 AM, Geoffrey Mina wrote:
Hello, I have a carrier who provides PSTN gateway services. They have multiple redundant sip gateway devices in their network. The problem occurs when one of their devices starts to have issues. I will receive an INVITE request from both gateways with the same call-id. The problem is that my Kamailio system doesn't detect that I already set a call up for the INVITE once, and forwards the request to another server in the dispatcher list. What I end up with is a call on two asterisk servers, but only one has the actual RTP stream. The BYE request gets routed to the wrong server, and everything just gets screwy. If anyone could provide any hint on how I might be able to deal with this scenario, I would really appreciate it.
I have attached my current config file, and the following is a link to a google spreadsheet which shows the SIP trace.
http://spreadsheets.google.com/ccc?key=pU5i2J6Ck3b519-_M6Et3cw
I have masked my IP addresses for my own sanity.
XX.XX.XX.179 - Kamailio SIP Gateway XX.XX.XX.189 - Asterisk1 XX.XX.XX.186 - Asterisk2
Thanks! Geoff
Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
-- Daniel-Constantin Mierla http://www.asipto.com