DNIS, Dialed Number Identification Service
From Wikipedia, DNIS is defined as follows:
- "Dialed Number Identification Service (DNIS) is a service sold by telecommunications companies to corporate clients that lets them determine which toll-free telephone number was dialed by a customer. This is useful in determining how to answer an inbound call. With IVR and ACD systems, DNIS is used for dispatching purposes by using it as routing information to determine which script or service should be played based on the number that was dialled to reach the IVR platform."
NOTE: DNIS is not an asterisk variable . DNID is the closest thing.
See also
- Database Systems Corp. ACD, IVR and Voice Broadcasting software performs call routing using DNIS. See IVR Software API libary routines.
- RDNIS
- ANI
- Computer telephony
- Screen pop
Page Changes
DNIS is handy
When using non-PRI T1s for inbound calling, DNIS is generally the DTMF digits dialed ahead of the call to identify the dialed number. In Asterisk, one simply defines an extension in the inbound context to catch this DNIS info and route the call based on the "dialled digits". In many commercial PBXs, this data is not considered an extension, but is a routing number.
It would be handy if DNIS was always set to the very first dialed extension an inbound channel provided. Then one could check back on this in other parts of the dialplan...
The only way to do this now is to use a channel variable for every call:
exten => s,1,SetVar(DNIS=${EXTEN})
exten => s,2,Goto(dnis-routing,${EXTEN},1)
[dnis-routing]
exten => 1234,1,Goto(somewhere,501,1)
[somewhere-else]
exten => s,1,GotoIf( use DNIS for later decisions on call handling )
somebody put up this page because ...