[OpenSIPS-Users] Dialog module - profile replication not working
Liviu Chircu
liviu at opensips.org
Fri May 12 09:20:54 EDT 2017
For your setup, profile replication between the two boxes should
suffice, with the following usage by and large:
* modparam("dialog", "profiles_with_value", "concurrent/b")
* set_dlg_profile("concurrent/b");
* opensipsctl fifo profile_get_values concurrent/b
It should work without problems on 2.2 as well. Please let me know if
you run into any sort of issues.
Regards,
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 12.05.2017 12:01, John Quick wrote:
> Hello Liviu,
>
> Thanks for responding to my query.
>
> The setup we have is active-active. The cluster size is 2.
> The requirement is to be able to count, and limit, the total number of calls made by each user account.
> So if a particular user is allowed to make a total of 15 concurrent calls, this limit needs to be enforced as soon as the total number of calls through *both* servers exceeds 15.
>
> I have no need to replicate dialogs and can most certainly omit the modparam lines that initiate dialog replication.
>
> However, I now wonder if my method of testing is valid?
> I was thinking that "opensipsctl fifo profile_get_values concurrent" would show me values for both servers as soon as a call was established on either server.
>
> We might be able to upgrade to v2.3 if it is essential, but we had standardised deployment and server builds using debian packages from the repository "deb http://apt.opensips.org jessie 2.2-releases". Version 2.2 was the most up-to-date stable release when we started this project and it is still a supported version. I can see that a complex backport is not desireable for the developers but please can you help us to at least work around the known issues if possible.
>
> Regards
> John Quick
> Smartvox Limited
>
>
>> Hi, John!
>>
>> First of all, this is a known issue [1] with the 2.2 clusterer, where
>> you cannot use both replication mechanisms of dialog concurrently. This
>> has been fixed in 2.3 and above, and required a significant code
>> refactoring, which is unlikely to get backported soon.
>>
>> Secondly, what you are trying to do is unlikely to solve your problem
>> even with 2.3+, as the dialog replication mechanism __already__
>> broadcasts the profiles of each box throughout its cluster.
>> Consequently, reusing the same cluster id to share the profiles between
>> boxes (yet again) will effectively double the value of each profile. If
>> I correctly understand your intention, simply enabling dialog
>> replication (profile included) will solve your problem. Please correct
>> me if I'm wrong.
>>
>> The documentation could use some improvements in order to reflect the
>> following (I will take care of this):
>>
>> * dialog replication allows you to have "hot backups". Profiles are
>> included. Recommended cluster size: 2
>>
>> * profile replication is meant to be used in
>> active-active-...-active setups, in order to easily achieve whatever
>> platform-wide limitations you may think of. The OpenSIPS cluster size
>> can grow indefinitely here.
>>
>> Some food for thought: currently in OpenSIPS 2.3+, although merging the
>> above two concepts will work, the profiles are likely to be counted more
>> than once, and your limits will hit faster. The clusterer needs more
>> love in order to support "profile sharing between highly available
>> clusters".
>>
>> Best regards,
>>
>> [1]: https://github.com/OpenSIPS/opensips/issues/938
>>
>> Liviu Chircu
>> OpenSIPS Developer
>> http://www.opensips-solutions.com
More information about the Users
mailing list