How to get back the old directory module?


After installing version 2.8 and the new directory module, I can’t reverse back to the old directory module.

How can we do that ?

The main reason is that the new directory module has to many problems for us, like :
1- No french prompts
2- Bug when it return 9 names
3- Call directly the extension when returning 1 name only (problem if it’s not the person wanted)
4- Option 0 doesn’t work

I tried removing the module but the IVR doen’t give me the option for the old module anymore.

Anybody please…

Thank you



Thank you both for answering.

For Philippe, if the caller enter 7 2 8, the directory module find 9 possible names. Seems easy to fix, I tried it and it work. I mentionned the possible solution in the bug ticket.

Thanks again


I suggest that you record the voices you want and save them with the same name as those in the Directory but place them in the file directory structure as you use for the French Asterisk sounds. There is no plan for recording Directory prompts in foreign language. I am from Sweden and that is how I would have done it if I wanted Swedish prompts

Please file a ticket for that with details how to duplicate this

Please file a ticket for that with details how to duplicate this, you can use the same ticket if you want.

Please file a ticket for that with details how to duplicate this, you can use the same ticket if you want.

are you saying you have exactly 9 names that match? (and note, you can keep typing past the first/last name into the next name if it has not narrowed it down.

As far as the old directory module, it is actually still there. It’s simply that the IVR won’t display it unless it was previously selected with an IVR when migrated form an earlier release.

If you put “CHECKED” into the MySQL field enable_directory for the given IVR you will get it back and you will see the option checked.

However, it would be preferable if we can make the appropriate changes to the new directory module that may be necessary (thus file the appropriate bugs) since overall it is a much better and easier to use directory with much more flexibility though being new, there are obviously still glitches…


then they should be able to keep entering letters beyond the 3 to narrow down the choice.

That is one of the big benefits of the new directory over the old one.

In the case of the old one, they had to enter 3 and that is all they could enter, and then it would list off one at a time…

With the new directory, it’s very much like an ‘ajax-ized’ search box, as they keep entering ‘letters’ the search gets narrowed down until it is a reasonable number of choices and ideally, until there is only one choice…

Hi Philippe,

In the module,

When matches are found, the line of code is :

while($matches > 1 && $matchesloop < $dir->dir['repeat_loops'] && substr($search,-1)!='#')
		if ($matches < 10) 
  		$compound = array('silence/1','cdir-there-are',(integer)$matches,'cdir-matching-entries-or-pound');
  		$validdigits = '1234567890#';
  		// don't allow #, get new recording that indicates such
  		$compound = array('silence/1','cdir-there-are',(integer)$matches,'cdir-matching-entries-continue');
  		$validdigits = '1234567890';

Notice the “matches < 10”

If the number of matches are 9, it followed the first condition and the # is allowed to access the list

But, later in the code, the condition is

if($matches > 1 && $matches < 9)  
	//draw up variable of valid key presses

If the caller pressed the #, it goes nowhere because of the “$matches < 9” , that’s why I suggested to change the 9 for a 10.

I agree with you and this new module will be much better than the old one and I’ll be happy to contribute a bit in making it the best possible.

Thanks again


if you haven’t already done so, please put the above information into a/the ticket so that it can be reviewed since it will end up getting lossed in this forum thread.

We’ll have a look at your comments above when we go over the tickets. From a quick scan it sounds reasonable but I really have to have a look a the code as a whole to make sure I’m following you right and there is not something else that sticks out.