Hello,

On 3/24/12 2:35 PM, Krishna Kurapati wrote:
Thanks Daniel for the suggestions. To make the script manageable, I am thinking of implementing last option.
Have another flag to "save". May be 0x8?
yes, it is ok.

Perhaps this should have lower priority than 0x4, just in case someone sets both of them.


We will still use max_contacts = 2 in mod params.
And when the save("location", "0x08") is called, the oldest contact is removed and the new contact is
added. This can apply to any number of max_contacts...

Perfect. As said in previous email, this value can be set per registration right now, with devel version.

Cheers,
Daniel


This way everything else remains the same.

Krish Kura

On Sat, Mar 24, 2012 at 3:48 AM, Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,


On 3/23/12 3:21 PM, Krishna Kurapati wrote:
Hi,

Is there a way to set up maximum of 2 active roll over contacts per user? Currently when I setup max contacts param as 2,
The third one is responding with 503 error for 3rd Register. How can we remove one of the contacts and replace it with the
new one.

I need it when the device is switching over from Wifi to 3G and back. or Wifi network to Wifi network switching.
the master branch support setting number of contacts per registration, but it is the old fashion of rejecting new contacts.

Some ideas coming in my mind, not sure if all get to a proper solution:
- play with two tables for usrloc, like location1 and location2, each with save(...) last registration and you do round robing with the registration (use htable to keep which location table to use next). Then do lookup/append_branch over the table one, revert the uri and do lookup over the second table -- combine these operations as you need
- use database mode only and then sqlops to remove entries that are no longer useful for you. defining location table in memory (possible with mysql), gives you good performances

Of course, an extension to c code to have such functionality would be another option, contributions will be accepted as usual.

Cheers,
Daniel

--
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/



-- 
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/