[Home]

Summary:ASTERISK-07507: [patch] Increasing the maximum number of persistent members per queue
Reporter:Matthew Roth (matthew roth)Labels:
Date Opened:2006-08-10 13:22:27Date Closed:2006-08-11 12:49:54
Priority:TrivialRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) app_queue-pm_max_len-1.0.patch
Description:This trivial patch increases the maximum number of persistent members per queue by a factor of 4.

****** ADDITIONAL INFORMATION ******

The maximum number of persistent members per queue is limited by the constant PM_MAX_LEN.  It is used to define character arrays in the dump_queue_members() and reload_queue_members() functions, which are used as buffers for writing/reading data about all persistent members to/from the astdb.

The format of the data for each persistent member is as follows:

 interface;penalty;paused|

With a typical entry looking like:

 SIP/134605;0;0|

The interface length can vary, but in this situation each persistent member requires 15 characters of the buffer.  Given the current value of PM_MAX_LEN (2048), this limits each queue to a maximum of 136 persistent members.  This is inadequate for the call center environment in which I have Asterisk deployed.

By increasing the value of PM_MAX_LEN to 8192, the maximum number of persistent members per queue is increased to 546 for interfaces with a length of 10 characters.  I have been running Asterisk in production for months under heavy load with this modification and I have not encountered any problems related to it.
Comments:By: BJ Weschke (bweschke) 2006-08-11 12:49:54

Commited to /trunk. Thanks!