I posted this on the Trixbox forums earlier in the week and have received no response as of yet. I think that the FreePBX forums may be more appropriate so here goes.
I have a system running Trixbox 2.2.12 with FreePBX 2.4. There are many VM Blast groups on the system. There is an “All Company” blast group that contains 101 extensions. When a message is left for this group only the first 79 extensions actually receive the message.
I have gone through the code in extensions_additional.conf and figured out that a channel variable called GRPLIST is created containing a concatenated list of voicemail extensions that is then set in the VoiceMail application to send the message to the list. This particular system is using 4 digit extensions with the voicemail context of “default” for all extensions. Each voicemail extension is concatenated to the GRPLIST in the following format:
&xxxx@default , where xxxx is the extension number. (13 characters long)
Therefore I have calculated that the GRPLIST works when its length is 79x13=1027 characters. I am presupposing that the 80th extension adds another 13 characters to the GRPLIST variable and therefore makes the variable too long and so does not get concatenated to the GRPLIST. The problem is that I cannot find any documentation on the maximum length of a channel variable.
I am posting an example of the context that I am talking about from extensions_additional.conf just in case I have not made myself clear enough.
Here is an example of the GRPLIST being created. You can clearly see the extensions being concatenated. In this example the extensions are only 3 digits in length.
[vmblast-grp]
include => vmblast-grp-custom
exten => 501,1,Macro(user-callerid,)
exten => 501,n,Answer
exten => 501,n,Wait(1)
exten => 501,n,Set(GRPLIST=)
exten => 501,n,Macro(get-vmcontext,210)
exten => 501,n,Set(GRPLIST=${GRPLIST}&210@${VMCONTEXT})
exten => 501,n,Macro(get-vmcontext,220)
exten => 501,n,Set(GRPLIST=${GRPLIST}&220@${VMCONTEXT})
exten => 501,n,Macro(get-vmcontext,231)
exten => 501,n,Set(GRPLIST=${GRPLIST}&231@${VMCONTEXT})
exten => 501,n,Macro(get-vmcontext,234)
exten => 501,n,Set(GRPLIST=${GRPLIST}&234@${VMCONTEXT})
exten => 501,n,Macro(get-vmcontext,246)
exten => 501,n,Set(GRPLIST=${GRPLIST}&246@${VMCONTEXT})
exten => 501,n,Set(DIGITS=501)
exten => 501,n,Goto(app-vmblast,vmblast,digits)
; end of [vmblast-grp]
This next example illustrates how the GRPLIST is set as a parameter for the VoiceMail command.
[app-vmblast]
include => app-vmblast-custom
exten => vmblast,1(digits),ExecIf($["${DIGITS}" != “”],SayDigits,${DIGITS})
exten => vmblast,n(msg),ExecIf($["${MSG}" != “”],Background,${MSG})
exten => vmblast,n,Background(if-correct-press&digits/1)
exten => vmblast,n,WaitExten(20,)
exten => vmblast,n,Playback(sorry-youre-having-problems&goodbye)
exten => vmblast,n,Hangup
exten => 1,1,VoiceMail(${GRPLIST:1},s)
exten => 1,n,Hangup
; end of [app-vmblast]
So…has anyone experienced this issue where the number of voicemail extensions in a VM Blast group is capped at some specific number? If so, have you found a way around this issue? Does anyone know what the maximum length of a channel variable is?
Thanks in advance,
Ron