03-18-2010 11:13 AM - edited 03-21-2019 02:19 AM
I have several SPA509G running SIP on asterisk. I have two line keys setup on each. My problem is when someone is on the phone if another person intercoms them the active call is placed on hold and the second line key picks up the intercom. Is there a way to block intercom when a extension is active on the SPA phones?
03-18-2010 12:09 PM
Setting up intercom, or paging, on the SPA50x phones: Please refer to the admin guide at the following link:
The section on Paging starts on page 47, or page 58 of the pdf...
Hope this helps,
Darren
03-18-2010 12:55 PM
Thanks for the quick reply. I have read the admin doc however my problem is not getting paging to work, in fact paging and intercom work great. The issue is the intercom picking up even when the user is active on a call. It picks up on the other line key and holds the active phone call. Any insight into that scenario?
04-07-2010 07:22 PM
I had a user let me know today that we have the same issue on our SPA504g phones (running 7.4.4). Paging works fine, it just puts the active call on hold and plays the page. The active call needs to take precedence over anything coming in and should not be cut off unless the extension user so chooses.
04-08-2010 05:57 AM
I put together a solution from various other forums online. Basically you cannot use the built in paging group in freepbx, you have to create your own.
Edit extensions_custom.conf and add this script. It checks to see if the phone is active instead of available. It will take some modifying depending on your extentions length of digits.
[ext-paging-custom]
exten => _PAGE.,1,GotoIf($[ ${AMPUSER} = ${EXTEN:4} ]?skipself)
exten => _PAGE.,n,GotoIf($[ ${FORCE_PAGE} != 1 ]?AVAIL)
exten => _PAGE.,n,Set(AVAILSTATUS=not checked)
exten => _PAGE.,n,Goto(SKIPCHECK)
exten => _PAGE.,n(AVAIL),GotoIf($[${DEVICE_STATE(SIP/${EXTEN:4})} = INUSE]?skipself)
exten => _PAGE.,n(SKIPCHECK),Noop(Seems to be available (state = ${AVAILSTATUS})
exten => _PAGE.,n,GotoIf($["${DB(DND/${DB(DEVICE/${EXTEN:4}/user)})}" = "YES"]?skipself)
exten => _PAGE.,n,Macro(autoanswer,${EXTEN:4})
exten => _PAGE.,n,Dial(${DIAL},${DTIME},${DOPTIONS})
exten => _PAGE.,n(skipself),Noop(Not paging originator)
exten => _PAGE.,n,Hangup
exten => _PAGE.,AVAIL+101,Noop(Channel ${AVAILCHAN} is not available (state = ${AVAILSTATUS}))
exten => Debug,1,Noop(dialstr is LOCAL/PAGE10@ext-paging-custom&LOCAL/PAGE11@ext-paging-custom) <--- ADD YOUR EXTENSIONS HERE
exten => 80,1,Answer
exten => 80,n,Set(_FORCE_PAGE=0)
exten => 80,n,Macro(user-callerid,)
exten => 80,n,Set(_AMPUSER=${AMPUSER})
exten => 80,n,Page(LOCAL/PAGE10@ext-paging-custom&LOCAL/PAGE11@ext-paging-custom)<--- ADD YOUR EXTENSIONS HERE
If you are having a similar problem with phone to phone intercom this is the solution that worked for me:
[from-internal-custom]
exten => _*1x,1,GotoIf($[${DEVICE_STATE(SIP/${EXTEN:1})} = INUSE]?inuse)
exten => _*1x,2,SIPAddHeader(Call-Info:\; answer-after=0)
exten => _*1x,3,Dial(${DB(DEVICE/${EXTEN:1}/dial)},5, A(beep))
exten => _*1x,4,Hangup()
exten => _*1x,5(inuse),Voicemail(${EXTEN:1}@default)
exten => _*1x,6,Hangup()
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide