login | register
Tue 07 of Oct, 2008 [13:34 UTC]

voip-info.org

History

Asterisk cmd DISA

Created by: oej,Last modification on Sat 27 of Sep, 2008 [03:23 UTC] by dodgly

Synopsis

 DISA (Direct Inward System Access)

Description

  • DISA(passcode[|context])
  • DISA(password file)

DISA (Direct Inward System Access) allows someone calling in from outside the telephone switch (PBX) to obtain an "internal" system dialtone and dial calls as if from one of the extensions attached to the telephone switch. Frequently the user calls a number DISA number with invokes the DISA application. The DISA application in turn requires the user to enter his passcode, followed by the pound sign (#). If the passcode is correct, the user will hear dialtone on which a call may be placed. Obviously, this type of access has SERIOUS security implications, and GREAT care must be taken NOT to compromise your security.

If the password parameter is "no-password", then the DISA application will provide dial tone without first requiring a password. Obviously, this should only be done if the user's identity has already been proved by some other means or the set of numbers which can be dialed is tightly controlled.

Alternatives

If all you want is an immediate dialtone you could also dial your gateway technology (Zaptel, Dadhi, Capi, Srx...) with no target specified (see the double // in the example), e.g.:

 exten => s,1,Dial(Srx/tgExternalPtP//${CALLERIDNUM})  ; example for Sirrix cards

In the CAPI world the term "early B3" can be used for a closely related - but not similar - way to arrange your configuration.

Example 1


 exten => s,1,DISA(no-password|local)

Example 2


 exten => s/XXXXXXXXXX,1,Answer
 exten => s/XXXXXXXXXX,2,Set(TIMEOUT(digit)=3)
 exten => s/XXXXXXXXXX,3,Set(TIMEOUT(response)=5)
 exten => s/XXXXXXXXXX,4,Authenticate(XXXXX)
 exten => s/XXXXXXXXXX,5,DISA(no-password|mycontext)

Replace the XXXXX's with the appropriate Caller ID number and PIN and DISA will give you a dial tone which can be used to dial any number in mycontext. Just remember that seemingly trivial errors can grant free-for-all access to your outgoing trunks and cost you a lot of money!

The arguments to this application (in extensions.conf ) allow either specification of a single global password (that everyone uses), or individual passwords contained in a file. It also allows specification of the context on which the user will be dialing. If no context is specified, the DISA application defaults the context to "disa" presumably that a normal system will have a special context set up for DISA use with some or a lot of restrictions. The arguments are one of the following:

  • numeric-passcode
  • numeric-passcode|context
  • full-pathname-of-file-that-contains-passcodes

The file that contains the passcodes (if used) allows specification of either just a passcode (defaulting to the "disa" context, or passcode|context on each line of the file. The file may contain blank lines, or comments starting with "#" or ";". In addition, the above arguments may have |new-callerid-string appended to them, to
specify a new (different) callerid to be used for this call, for example:

 numeric-passcode|context|"My Phone" <(234) 123-4567> 

or

  full-pathname-of-passcode-file|"My Phone" <(234) 123-4567>

Note that in the case of specifying the numeric-passcode, the context must be specified if the callerid is specified also

Return codes

If login is successful, the application parses the dialed number in the specified (or default) context, and returns 0 with the new extension context filled-in and the priority set to 1, so that the PBX may re-apply the routing tables to it and complete the call normally.




Example 3


Modified by G. Powell

[default]
include => voicemail
include => from-sip

[from-sip]
exten => 123,1,Dial(Sip/123)
exten => 1234,1,Dial(Sip/1234)

[voicemail]
exten => 5000,1,VoiceMailMain


[incoming]
exten => s,1,Answer
exten => s,2,Background(Sound-file)
exten => 000,1,DISA(no-password|default)


(Image Link broken)

  • Call comes from PSTN
  • Asterisk answers it (incoming context)
  • The person decides to call 000, which would give them a second dial tone generated by asterisk
  • From there they could dial anyone of the sip phones or access Voicemail.

Note
A setup like this really compromises security, so i suggest using a password. Don't watch the fact that i didn't use a password.

See also:


Asterisk | Applications | Functions | Variables | Expressions | Asterisk FAQ


Comments

Comments Filter
222

333On the subject of Quicknet cards...

by , Monday 13 of December, 2004 [18:20:40 UTC]
I appear to be getting the exact issue as described above. If I use a pattern template with a fixed number of digits, that will work. But if I use a pattern which allows for any of a number of digits, e.g. _393. as given in FWD's Asterisk setup page, it'll take the 393 sequence, then immediately place the call upon receipt of the first digit afterward. I'm out of ideas here.
222

333Use DISA for pesky phone cards

by k0fcc, Tuesday 15 of June, 2004 [00:43:37 UTC]
One good use of DISA is to enable calling from oddball phone cards like Quicknet. Sometimes DigitTimeout is bypassed and you only get the first digit you dial.

Setup phone.conf to use the context phone and in extensions.conf do this:

[phone]]
exten => s,1,Disa(no-password|local)

where local = your local context that has all of your dialing extensions.