Hi all,
I have just installed a new site where the receptionist has a CISCO SPA phone and 32 key extended keypad. The buttons on the keypad are used like an operator console for various extensions. They provide Busy
Line Feature (BLF or BLA) and Speed Dial (sd). I will update the CISCO SPA section of the WIKI to document how to do this as soon as I get an email with my username and password back!
However, I think I need some clarification on “pickup” verses “intercept”. To me these two dialplans are exactly equivalent, please correct me if I missed something. Note, I have restricted the pickup “group”
to the dialed extension, eliminating the problem of multiple incoming calls when picking up in a “group”.
Scenario 1:
Main dialplan routes call to extension “10” (simplified version):
<extension
name="2digit_internal"
>
<condition
field="destination_number"
expression="^(10)$"
>
[SNIP …]
<action
application="db"
data="insert/call_pickup_uuid/${destination_number}/${uuid}"/>
<action
application="bridge"
data="{sip_invite_domain=[REDECTED]}user/${destination_number}@[REDECTED]"
/>
<action
application="answer"/>
<action
application="voicemail"
data="default
voicemail_ESTA $1"/>
<action
application="hangup"/>
</condition>
</extension>
The application “db” line is the key to link to the events.
Now when the receptionist sees extension 10 blinking and unanswered, she can press that key to “pickup” that ringing line.
(The Cisco phone dials **10) That dialplan is:
<extension
name="directed-call-pickup">
<condition
field="destination_number"
expression="^\*\*(\d\d)$">
<action
application="answer"/>
<action
application="intercept"
data="${db(select/call_pickup_uuid/$1)}"/>
<action
application="sleep"
data="2000"/>
</condition>
</extension>
The receptionist “intercepts” the call by uuid stored in the above dialplan.
Scenario 2: (same, but different dial plan)
<extension
name="2digit_internal"
>
<condition
field="destination_number"
expression="^(10)$"
>
[SNIP …]
<action
application="bridge"
data="{sip_invite_domain=[REDECTED]}user/${destination_number}@[REDECTED],
pickup/$1" />
<action
application="answer"/>
<action
application="voicemail"
data="default
voicemail_ESTA $1"/>
<action
application="hangup"/>
</condition>
</extension>
No application “db” line, instead added “, pickup/10” to the bridge line.
Now when the receptionist sees extension 10 blinking and unanswered, she can press that key to “pickup” that ringing line.
(The Cisco phone dials **10) That dialplan is:
<extension
name="directed-call-pickup">
<condition
field="destination_number"
expression="^\*\*(\d\d)$">
<action
application="answer"/>
<action
application="pickup"
data="$1)}"/>
<action
application="sleep"
data="2000"/>
</condition>
</extension>
So, is this just two different ways to skin a cat or are there subtleties that make one a preferred implementation?