FreePBX | Register | Issues | Wiki | Portal | Support

Configure FXS extension to use Bogen ADP1 door phone

(Jeffrey Angus) #1

Which drop down menus do I have to use and what do I have to do to get door phone to automatically dial a group of extensions when you push the call button?



You need to set the extension as a “hot-line/ring-down” you can’t do it with drop down menus.

(Jeffrey Angus) #4

That’s a start. Thank you.
Where do I find extension_custom_config?

I’m familiar with linux and can handle using vim.
where would I find the place to change/add the hot-line/ring-down


You have to create it in /etc/asterisk, if you are “customizing” and to save you a whole bunch of blood sweat and tears,you really need to get a little more familiar with how asterisk and FreePBX relate to each other and where and when custom files are included , I would consume the wiki linked to above a few times to start with

(Jeffrey Angus) #6

Surprisingly, I had already figured out the immediate=yes part.
While waiting for a response, I found the /etc/asterisk directory
And found extensions_custom.conf
Is this where I add (to the currently empty file)
exten => s,1,Dial(SIP/101&SIP/103&SIP/405,30)
exten => s,n,Hangup()

Secondly, this example is for SIP channels, what would I type for FXS (DAHDI) channels? Or a ring group?


Ether the TECH(DAHDI)/EXT Local/{RG as a number)@from-internal, that’s all in the wiki or here in the fora start with both resources.

(Jeffrey Angus) #8

Please excuse my ignorance.
I can’t find it in the wiki.
Maybe I just don’t know what I’m looking for or how to search for it correctly.

Is there a link that explains the syntax of exten => in the extensions_custom.conf

I’m trying to get extension 401 to automatically dial extension 302 when it’s picked up.


It would take quite some time to explain how dialplans work , but If you google for

Asterisk complete guide ,

you should find a very complete book on how to use and construct dialplans of any sort.

(Jeffrey Angus) #10

Ok, this is what I have so far in extensions_custom.conf:

; Door Phone
[Bogen ADP1]
exten => 401,1,Dial(DAHDI/302)
same => n,Hangup()

Then I realized that [Bogen ADP1] has to be called from somewhere.
Under the Extensions menu when I edit Extension 401 is that under Extension Options and Asterisk Dial options?
It is currently ttf.
Do I uncheck that and enter Bogen ADP1?

“Inch by inch, step by step, slowly I turned…”


if your door phone is 401, what is 302?
if your door phone is 302 what is 401?

(Jeffrey Angus) #12

The door phone is on extension 401
302 is another extension I want the door phone to call


ah, I see you tried DAHDI/302,
The TECHKNOLEGY/extension is not the same as an extension, it is a map to an extension

So that should be DAHDI/(port number) to call a dahdi extension, and add a custom extension that ‘dials’ the door DAHDI/(other port number)

you could also use goto(from-internal,EXT,1) in the door phone context

(Jeffrey Angus) #14

So should change from
; Door Phone
[Bogen ADP1]
exten => 401,1,Dial(DAHDI/302)
same => n,Hangup()
; Door Phone
[Bogen ADP1]
exten => 401,1,Dial(DAHDI/12) ; Extension 302
same => n,Hangup()

If I wanted it to ring two extensions, would this be correct?
exten => 401,1,Dial(DAHDI/12&DAHDI/10) ; Extension 302 & 101

I also changed
[Bogen ADP1]
Excluding the spaces and adding 01 so I can add a second door phone later if needed.

(Dave Burgess) #15

Another approach for this line is to use the LOCAL “technology family”. So, if you wanted to, you could set up the your “302” reference as “LOCAL/302”, which should work with any tech.

Also, your context probably won’t work as written. Assuming your context for the Bogen phone is “Bogen-ADP1-01”, your phone will have to dial 401 to get hold of extension 302, which is probably not what’s going to happen. So, given that, something like the example below might work:

exten=>s,1,Dial(LOCAL/302) ; Extension 302

The advantage here is 302 could now be a Ring Group (or a Queue if you wanted to get really tricky) that you assign extensions to.


if your context is



exten => s,2,Dial(local/302@from-internal)

would work better, an ‘immediate’ dahdi channel has no extension on off hook you need to use the s extension, there is no extension 302 in the Bogen-ADP1-01 context

(Jeffrey Angus) #17

Ok, let’s back up a bit.
The way I have things currently set up is:
Extension 302 is on DAHDI port 12 and part of ring group 300 a regular analog phone set.
Extension 101 is on DAHDI port 10 and part of ring group 100 a regular analog phone set
Extension 401 is on DAHDI port 5 a Bogen ADP1 door phone. Looks like a regular analog phone set.

Both 302 and 101 can call extension 401 (the door phone.) And can have a two-way conversation.
Pushing to button on the door phone gets the prompt “follow me on/off” alternately.

Extension 401 (the door phone) has “immediate” set in the configuration.

For hot dial/ring down apparently I need something in the extensions_custom.conf file.
Where does it get told to execute [Bogen-ADP1-01] Is that specified in the DAHDI Extensions under extension 401?

What am I missing?

(Dave Burgess) #18

The context of the extension should be set to ‘Bogen-ADP1-01’ (it’s probably ‘from-internal’) so that the custom code will be invoked.

(Jeffrey Angus) #19

“Inch by inch, step by step. Slowly I turned…”

Changing the context from “from-internal” to “Bogen-ADP1-01”

Made how it not works different. At least now I get a busy signal.

I’ll play some with the extensions_custom.conf file after I get back from dinner.


Again, whatever context you have your door phone in, it will NEED an ‘s’ extension to process an outgoing call because that is the only place IMMEDIATE understands.

Incoming can call that extension directly if the context of the door phone is available or directly included in the calling extension’s context, adding an ‘s’ extension override to from-internal is possible and would fulfill that requirements, but I would not advise it.

The custom extension available to the rest of the system can be arranged to dial any other context, namely your Bogen thingy, and conversely the Bogen thingy can call into the system, either directly to a TECH/numeration or by availing the local channel, but that channel will need to be fully defined with @context.

To diagnose you can

dialplan show 401@from-internal
dialplan show s@from-internal

dialplan show 302@Bogen-ADP1-01
dialplan show s@Bogen-ADP1-01

the dialplan s@from-internal will show why the FM is toggling on hook actions and that is exactly what the immediate can do, i.e. be on or off hook . . . .

I hope you get the concept, local channels are a different thing altogether and can bypass the dialplan.

All this is why I said it “ain’t simple” and RTFM, Hopefully everyone in this thread will so RTM and fully understands the whys and the whats of DAHDI ring-downs/hot-lines