How install older version of module?

Hi, can someone give me some a.b.c steps how to install an older version of a module?

I have a trixbox (asterisk v1.2.13) installation with freePBX 2.2.0rc1, and I’m trying to rollback the IVR module from current version (2.5.15 which has broken tone detection and IVR) to older version (which worked fine).

I have, using freePBX, uninstalled the dud module, and I have uploaded the older version of the IVR module to the machine (it was actually already in the cache directory).

I’ve spent the last 4 hours trying to work out how to install the older module but, not being a UNIX guru, I cannot work this out! Please… can some kind soul explain how to install the older module?

Thanks in advance,

How about a bit more info wrt to dtmf detection not working. We have not seen any reports on that and for something as critical as that, we usually get flooded. There really is not anything that would change in the IVR that would effect DTMF detection.

I would suggest you seek help on your issue. Maybe best to just upgrade to 2.3.0 which has dozens of fixes from bugs that are from 2.2 and only fixed in 2.3.0 anyhow.

Otherwise, provide more info about your issue to seek help because I assure you , if the issue was DTMF being broken from the IVR upgrade you would see people screaming all over the place.

Philippe Lindheimer - FreePBX Project Lead
http// - IRC #freepbx

Thanks Phillipe. Your response is greatly appreciated.

I do want to upgrade to freePBX 2.3.0 - but I don’t want to compound the problem with more variables. Once I can get IVR to work again (hopefully by rolling back the IVR Module), then I will try out the shiny new freePBX (I can’t wait).

More info regarding dtmf problem…

On 6 August 2007, I used the freePBX module upgrade facility to upgrade the following…

queues… from to
recordings… from 3.3.2 to
ringgroups… from 2.2.13 to
voicemail… from 1.6.1 to (and then also upgraded to
ivr… from to 2.5.15

Before these upgrades… everything worked fine. NOTHING ELSE HAS CHANGED. Since these upgrades, I have two problems…

(1) dtmf is not detected on any incoming external trunks, whether this is in connection with the IVR system or with voicemail menus (external number dials into voicemail system). However, dtmf IS detected from internal extensions.

(2) during an incoming call (from an external trunk) to IVR… when no dtmf tones are detected, the IVR timeout option is configured to transfer the call to a nominated extension. However, since the upgrades, instead of transferring to the extension, the call is termininated.

Does this help? Further suggestions would be appreciated.


If you can call the IVR from an internal extension and get detection, then there is nothing wrong with your IVR. Something changed either with your provider or with your configuration wrt to DTMF detection.That is the case 99% of the time in a situation like you describe. As far as the timeout, resubmit your IVR and make sure that the destination is set right. Then as mentioned, post the config here to see how the IVR is setup.

Philippe Lindheimer - FreePBX Project Lead
http// - IRC #freepbx

Hi Philippe. Thanks once again.

Firstly, I have repeatedly changed the IVR timeout destination to various different values and resubmitted IVR - but the call still ignores dtmf tones and hangs up.

Secondly, and I hadn’t noticed this previously, the timeout period is ignored… the call hangs up IMMEDIATELY the greeting message has finished playing. The message itself is not at fault, as I have now also tried without playing a message, and even with a 30 second timeout set, the call hangs up immediately.

Thirdly, as a test, I removed the “t” destination. Still the call hangs up immediately the greeting message has played.

As I’ve mentioned before, I’m not a UNIX guru (I’m a Windows developer… UNIX is way too clever for me :wink: - so I’m not sure which config file you mean. I’m guessing you mean this bit within extensions_additional.conf (please advise if you need something different/more)…

include => ivr-2-custom
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = “ANSWERED”]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=30)
exten => s,n,Background(custom/ivrProspectGreeting)
exten => s,n,
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(ext-queues,300,1)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(timeconditions,3,1)
exten => t,1,dbDel(${BLKVM_OVERRIDE})
exten => t,n,Set(__NODEST=)
exten => t,n,Goto(ext-queues,300,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-2,s,begin)
exten => return,1,Set(IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(IVR_CONTEXT${CONTEXT}=${IVR_CONTEXT
exten => return,n,Goto(ivr-2,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

Hope you can help.

Thanks again,

first off:

exten => s,n,

that is part of the problem, not sure why nothing is getting generated there. You appear to have some sort of corruption. You should have a line that looks like:

$ext->add($id, 's', '', new extension('WaitExten()'));

on line 164 of /var/www/html/admin/modules/ivr/ which generates the required statement. You are hitting the background command and then hitting this bogus line which makes Asterisk hangup at that point. You may want to consider uninstalling the IVR module, then deleting it from the module directory, then reinstalling to see if it clears things up.
Philippe Lindheimer - FreePBX Project Lead
http// - IRC #freepbx


A kind person on the trixbox forums just told me how to re-install the older version of the IVR Module. Very helpful! Now that I have done this I can tell you two things:

(1) IVR Module v2.5.15 is definitely faulty. My IVR now correctly does the timeout (it no longer hangs calls!).


(2) the old module still ignores dtmf tones!

I will now try rolling back all the other modules I upgraded on 6th August to see which one stopped dtmf tones from working. Any guesses at which module is causing the ignoring of dtmf tone on incoming trunks?!

I’ll post back here in around 10-12 hours time with my conclusion.

Meanwhile, someone might perhaps like to have a go at fixing the IVR Module v2.5.15 so that it doesn’t hang the call immediatey after playing greeting message.


Thanks Philippe. Our posts crossed. I’ll try your suggestion (clean install) tomorrow (in around 12 hours time).

Still not sure about the loss of dtmf recognition on incoming trunks though. I do know that my SIP provider changed from info to rfc2833 at around the same time, but I have changed trunk settings and outbound dtmf works okay.



The loss of your dtmf detection is most likely your configuration. None of the modules that you would have loaded have anything to do with dtmf. Take a look at what you have, post it here for others to look at or talk with your provider. Trying to mess with the modules to solve that will only take more of your time.

Philippe Lindheimer - FreePBX Project Lead
http// - IRC #freepbx

Hi Philippe.

Thank you again for your time.

I have done what you suggested… uninstalled IVR Module, deleted IVR directory from module directory, re-installed module v2.5.15 afresh. IVR incorrectly hangs up the call immediately the Announcement finishes.

Uninstalled v2.5.15, re-installed v2.5.13.1. IVR now does not hang up the call - but proceeds correctly to timeout and the correct destination.

IVR Module v2.5.15 is definitely buggy when installed on my system.

Hope this helps.


You were certainly correct - in that I have now reverted all 5 modules to their pre-6th August versions - yet DTMF tones are still ignored by the IVR system.

It would seem that there’s something else weird about my system. Not sure where to look though.

The dtmf problem is definitely related to my SIP Provider (sipgate). Today I configured a SIP trunk via another provider (Pipecall) who also use rfc2833… dtmf tone detection works fine in IVR.

Why should dtmf work from one provider but not another? Other people using this forum appear to be using dtmf on incoming sipgate trunks. Where in the asterisk system do I look to find out why dtmf is not being recognised on sipgate incoming trunks (I have around ten) - yet is fine on a Pipecall trunk?

Thanks in advance. You have been very sympathetic and helpful so far, Philippe.


You best bet is your provider. Assuming you are configured correctly, then they are not sending it as you are expecting it and you probably want to give them a call. You can always try inband and info to see if they are sending it one of those ways prior to calling them so you have that info.

Philippe Lindheimer - FreePBX Project Lead
http// - IRC #freepbx

Update… incoming DTMF tones are now being recognised by my trixbox IVR.

I upgraded to trixbox 2.2.3 (asterisk 1.2.22). Tones still being ignored by IVR.

Upgraded freepbx to Still no tones being recognised by IVR.

I’ve been in dialogue with the Sipgate technical team all week and, miraculously, without me making any changes, dtmf tones suddenly started being recognised by my IVR.

Not sure what Sipgate changed, but they did change various things during the week without effect. If I find out what they changed to finally make it work, then I’ll post back here.

Thanks, Philippe, for your help.