Dial Plan / Phone Book

I’m a bit of a neophyte. How do I configure Asterisk to push it’s phone book / Dial plan down to the connected phones?

For example, let’s say I have 3 phones, A, B, and C. Neither of them have been programmed to know about the others, but Asterisk knows what to do when they register.

A and B are already registered. C Comes on line and registers with Asterisk. How does Asterisk push the centralized directory (containing information about A and B) to C?


It doesn’t.

Also, the details of loading the diectory onto the phones is phone specific, although many probably fetch a file using sftp.

I found this in Asterisk: The Definitive Guide:

astbook.asteriskdocs.org/en/2nd_ … ECT-7.html

which states the following in a section about DHCP Servers:

“In our case, we want it to pass some information to the sets that will tell them where to download their config files from”

So while Asterisk itself isn’t doing the work, is the DHCP server?

This is shortly followed by a section on FTP servers:

“FTP is currently our favorite way to configure Polycom sets.”

So if I’m reading this right, a PBX running asterisk could also use a DHCP server that tells the phones where to get their CFG files, and an FTP server that contains the cfg files themselves. These config files would contain the phone books?

Yes. The Linux server can serve multiple roles. If your network does not already have a DHCP server, it can be done. NOTE: Most consumer routers have a DHCP server activated by default. Having two DHCP servers on the same subnet is not really a good thing (without a special configuration, but I digress).

Linux also has a TFTP server that can be setup to hold the configuration files.

Both of the services are completely independent of Asterisk. There are tons of documents on the Internet about setting up DHCP and TFTP and are out of the scope of these forums.

Also, different phones have different requirements for directories. The file format needs to be correct for the phone. There is nothing in Asterisk that will generate the directory for you, you will have to do that yourself. On a small system with little changes, this can probably be handled in a text editor. Larger network would need something else. There may be some third party applications that you could use, search the Internet and see what you come up with. Some phone vendors also provide a tool.

Telling the phone sets where to find a directory is also phone specific. DHCP will not tell the phone where the directory is. It will tell the phone where to find the config file which contains, among other things, the information on where the directory is.

Thanks for all the help.

Agreed, at this point I’m trying to get verification on the fact that this isn’t an asterisk specific thing. I’m not looking for help in setting up those kinds of networks/systems. Not here at least.

I was originally driven to this question by the directory application section of the Dialplan Fundamentals in the Asterisk documentation:

wiki.asterisk.org/wiki/display/ … pplication

“The next application we’ll cover is named Directory(), because it presents the callers with a dial-by-name directory. It asks the caller to enter the first few digits of the person’s name, and then attempts to find matching names in the specified voice mail context in voicemail.conf.”

This seems to be a voicemail specific thing, and yet provides behavior very much like what I am looking for: A directory usable by the caller. Is there a reason why this is limited to voicemail only? I could see a caller performing the same action… entering a few digits of a person’s name, and have the app attempt to find matching names but not in the voicemail context, in the default context. Instead of connecting the caller to voice mail, this could allow the caller to call the target directly. What am I missing here?

Thanks again

The Directory() applications is indeed a feature of the VoiceMail subsystem.

Your original posting sounded to me like a request to utilize the directory function built into many phones, not a Directory() like lookup. When an endpoint registers, Asterisk does not ‘push’ down any information about other registered endpoints. An endpoint may subscribe to a hint for another device (hints are created in dial plan, not automatically), but that is not the same as a Directory().

Would it be possible to have a dialing directory that references extensions defined in the dial plan instead of the voicemail.conf file? I suppose it would, I have never undertaken that exercise, but to the best of my knowledge, that functionality does not exist in a core function.