[Asterisk-Users] DISA

Armin Schindler armin at melware.de
Tue May 10 10:59:39 MST 2005


On Tue, 10 May 2005, Chris Stinson wrote:
> We are using DISA with local SIP users. The user enters in a 2 digit code then
> they get a dialtone and the phone dials out. The problem is that the calls
> waits 10 seconds after the outgoing number is dialed, no matter what I put for
> the timeout values. Anyone else using DISA that has run into this?
> 
> 
> exten => _2X,1,Answer
> exten => _2X,2,DigitTimeout(2)
> exten => _2X,3,ResponseTimeout(2)
> exten => _2X,4,SetAccount(1${EXTEN})
> exten => _2X,5,SetCDRUserField(${SIPCALLID})
> exten => _2X,6,DISA(no-password|<another context>)

I don't know if there is a nice solution available for this.

After a short look into the sources of app_disa.c, I added a patch on my 
system. This will accept '#' as end of number and this trailing '#' will not 
be dialed.

Armin


--- asterisk/apps/app_disa.c.orig	2005-05-04 23:52:40.604834962 +0200
+++ asterisk/apps/app_disa.c	2005-05-05 00:02:53.265561078 +0200
@@ -283,6 +291,12 @@
 			if (!k) continue; /* if getting password, continue doing it */
 			  /* if this exists */
 
+			if (j == '#') { /* user wants end of number, so strip off # */
+				i--;
+				exten[i] = 0;
+				break;
+			}
+
 			if (ast_ignore_pattern(ourcontext, exten)) {
 				play_dialtone(chan);
 				did_ignore = 1;



More information about the asterisk-users mailing list