Intercom context

Hello all!

Let me first explain what I am trying to do. I have a client that wants to be able to intercom anyone in the office. That’s great! All they have to do is dial *80 first and then the extension. However that can become annoying especially since their current phone system does it by default. So here is what I have done:

[from-intercom]
include => from-internal
exten => _[1-3]X,1,Verbose(Extension state: ${EXTENSION_STATE(${EXTEN})})
exten => _[1-3]X,n,GotoIf($[${EXTENSION_STATE(${EXTEN})} != INUSE]?from-internal,80${EXTEN},1)
exten => _[1-3]X,n,VoiceMail(${EXTEN},u)
exten => _[1-3]X,n,HangUp()
exten => _
.,1,Goto(from-internal,${EXTEN},1)

Basically I am checking the extension state and adding the *80 if it is anything but INUSE.

This poses 2 issues:

  1. When user1 is on the phone and user 1 tries to call user1. User2 is played a fast busy. Is there a way to do a call waiting for User1?

  2. When user1 enables DND and user2 tries to call. User2 gets a fast busy for user1. Anyway to drop into voicemail?

Thoughts or recommendations to my questions?

Thanks in advance

I forgot to say that I thought about programming BLF keys to put the *80 in front but then the BLF function doesn’t work. So I am stuck with this method.

I also tried going back to from-internal and everything works fine except for the intercom function this context provides.

There is a option in FreePBX that does this for you. In each extension you can define if you want that phone to be auto answered for all internal calls.

Your script is missing lots of areas where it wont work.

I did not realize. Where should I be looking for this in FreePBX?

Found it. Amazing what you can find when you upgrade. :slight_smile: Thanks!