Getting Call Boxes to Auto Ring

I picked up a couple of cool Bogden door phones. They connect as a standard phone through an FXS port. I get a dial tone when I press the button on the front. I can use the auto-answer feature to call the box.

I’m trying to get the box to ring the system when it goes off hook. This is the same thing as a “lobby phone” that dials an operator when taken off hook. What I’ve got right now is the extension set to “callboxes” and a custom context in extensions_custom.conf:

;Set context of callbox extensions to this
;Dial ring group 21
[callboxes]
exten => s,1,Answer()
exten => s,n,noop(=== DISTINCTIVE RING TONE ===)
exten => s,n,SIPAddHeader(Alert-Info:;info=ring2) ; use either ring1, ring2 or ring3
exten => s,n,Goto(from-internal,21,1)
exten => s,n,Hangup()

But the call box just gives a dial tone and does not dial ring group 21. What am I missing?

Usually this kind of devices have some sort of programming procedure to tell them which number to dial. Check the manual of the device for more information. If you can program what number they should call when someone presses the button you don’t need to a custom dialplan. It should work as a normal extension.

If for some reason you cannot program the device then you must go in your dahdi extension that you have attached the device and change the immediate option from no to yes. After making that change it should execute the above dialplan.

I have several dozen phones that I can program and several dozen that I can’t. I don’t mess around with trying to get the dialing interface to do anything. I set the phone to “Immediate” every time now, This will cause the phone to pick up and dial a specific extension or number as configured in your DAHDI configuration files…

No, this device has no ability to be programmed. It acts as a standard analog phone. So where do I set “Immediate?” DAHDI, if I understand it, is for device drivers for stuff connected to the system. This is an FXS port on an external, network connected HT-503. It is connected as a SIP device. I have looked through the SIP options and do not see an “Immediate” option.

I found an off-hook auto dial setting in the HT-503. But when I set it to either one of my extensions for testing or the ring group (21), all I get at the device is a busy signal.

I see the messages:

NOTICE[23412][C-00000030] chan_sip.c: Call from '60' 
(10.0.2.21:5060) to extension '10' rejected because extension not found 
in context 'callboxes'.

and

NOTICE[23412][C-0000002f] chan_sip.c: Call from '60' 
(10.0.2.21:5060) to extension '21' rejected because extension not found 
in context 'callboxes'.

Now I was trying to call extension 10 and 21. So what do I need to add to the context to get this to work?

Experimenting with wildcards seemed to get rid of the error in the logs. Changing the first line of my custom context to:

exten => _X.,1,Answer()

Seemed to do it. However I am still getting a busy signal at the call box and no ring at the extension I am trying to call.

EDIT:

Changing every line to “_X.” fixed it. The extension is now ringing.

So by setting the “Off-Hook Auto Dial” in my HT-503 and editing the dial plan the door phone call is working now. However two issues:

  1. The door phone plays the on-hold music assigned to dial group 21 instead of a ringing sound, which is what I want.
  2. The internal phones are still ringing with ring 1 and not ring 2. Do I have that ring selection code wrong?

So my custom dial plan now looks like:

;Set context of callbox extensions to this
;Dial ring group 21
[callboxes]
exten => _X.,1,Answer()
exten => _X.,n,noop(=== DISTINCTIVE RING TONE ===)
exten => _X.,n,SIPAddHeader(Alert-Info:;info=ring2) ; use either ring1, ring2 or ring3
exten => _X.,n,Goto(from-internal,21,1)
exten => _X.,n,Hangup()

and the HT-503 is Off-Hook Auto-dialing extension 21 which is the ring group.

Well, scratch off the distinctive ring thing:

Since I discovered that my distinctive ring function has moved to the phones, I no longer need this custom context. I’ve set the door phone extensions back to the normal “from-internal” context and they work fine, off-hook auto dialing extension 21 which is my ring group for all the phones in the house.

However…

The door phone is still playing my music on hold selection while ringing the phones instead of a ring sound. Now I could create another ring group and set a ring sound as the MOH. But I’d rather figure out why I’m not getting a ring sound at the door phone.

Oh, it’s because I set it that way, The Play Music On Hold option for a ring group:

If you select a Music on Hold class to play, instead of ‘Ring’, they will hear
that instead of Ringing while they are waiting for someone to pick up.

Okay, I set that to ring. Will test when I get a chance.

Yes, that’s the fix. Door phones are ringing normally now. And I now see the Alert-Info box. It looks like that whole custom context was unnecessary. If my phones actually used the Alert-Info header, it looks like it could have been setup there.