[Asterisk-Users] Snom Programmable button Mini Howto and ring
state patch
John Todd
jtodd at loligo.com
Mon Aug 30 14:20:38 MST 2004
At 1:23 PM -0500 on 8/30/04, David Hinkle wrote:
>The snom 200 and 220 have five programmable buttons. Each button has a
>led that can be used to indecate if an extension is idle, in use, or
>ringing. A button pannel for the 220 is also comming out soon that will
>have 20'ish programmable buttons on board.
>
>This is a killer app for any company that has receptionists handle
>calls, and pretty usefull for everyone else.
>
>As a matter of fact, Asterisk already supports phone idle/in use states
>for the buttons, and at the bottom of this message you will find a patch
>to enable the ring state.
>
>Howto:
>
>1. Configure the programable buttons as "destination" and enter the
>extension in the field. After saving the page the phone will convert
>the extension to a sip url, which is fine.
>
>2. Modify your asterisk dialplan to provide "hints" that map a given
>extension to a channel. (In asterisk, a channel can be busy or ringing,
>but an extension is just a string of numbers that activate one or more
>applications). Asterisk seems to provide syntax for allowing more than
>one channel to be mapped to any particular extension with the hint
>system, but I did not investigate that.
>
>Example:
>
>exten => 200,hint,SIP/RonC
>exten => 200,1,Macro(stdexten,SIP/RonC)
>
>exten => 201,hint,SIP/JeanK
>exten => 201,1,Macro(stdexten,SIP/JeanK)
>
>exten => 202,hint,SIP/JeffT
>exten => 202,1,Macro(stdexten,SIP/JeffT)
>
>3. You must reload the dialplan and then reboot the phone for it's
>subscriptions to take effect. After that, you should have working
>lights.
>
>4. If you want the lights to blink on ringing, apply the following
>patch to the asterisk code.
>
>You can not pick up a call by hitting the blinking button, I was going
>to do this work but I decided to just train the receptionists to hit *8
>instead. I have not studied this extensivly, but to implement it, i
>think it would just require asterisk to have support for sip "replaces"
>(I don't know if asterisk supports this or not) and the ringing notify
>needs to go out with a few more fields. (It seems that the snom phone
>contacts the sip device listed in one of the ring notify message fields
>with an invite including a "replaces" header to pick up a call)
>
>I have also included a sip trace of a snom phone picking up a call
>placed to another phone using the blinking button in case anybody out
>there wants to tackle this problem themselves (Sample trace was
>collected when using snom phones with snom's sip proxy software).
>Please note that it seems like we must include the extra fields in the
>ring notify before the snom phone will procude the proper "replaces"
>invite in order to do a standards compliant call pickup.
>
>Notes on patch:
>If this patch is not in the proper format for submissions please provide
>me a link to the asterisk submission policies. It has been tested here
>at DerbyTech for about a week on our live phone system.
>
>I submit this patch to the asterisk project under the GPL with hope that
>it will be resubmited to CVS.
>
>Thankyou,
>David Hinkle
>Sr. Linux Engineer
>DerbyTech
>
This is pretty cool! I might get a Snom phone just to try them out.
You asked for comments, so here are a few:
1) Send the patch in "diff -u" format; that's the format used in the
bugtracker.
2) You'll need to sign the disclaimer on the http://bugs.digium.com/
interface. This disclaimer doesn't have much of a downside, and all
patches to Asterisk for the public CVS have to be disclaimed in this
way (avoids SCO-type lawsuits, etc.)
3) Have you looked at the configuration options for the Polycom IP600
phones? I don't know if this trick works with them, but they are
pretty slick and have very programmable interfaces which may be
almost compatible (or completely compatible) with this method. I
haven't looked, but that would be a very cool addition to those
phones as well.
4) I'd say you've got 25% of the feature done. Putting the extra
effort into having the system pick up the call from any phone when
one hits the flashing button would be I think another 25%. Then, the
final 50% would be if the button was pressed from a third-party phone
while a call was already in progress that all three callers would be
bridged together. (more work than it seems, so I give it 50%.) Bit
by bit, Asterisk is getting there.
Asterisk in general needs to support more PBX-like features. While
it says it's an iPBX, it's still falling a bit short when compared to
features found in even the most basic key system. See my long posts
over time on feature ideas that I've sent to -dev and -users.
JT
More information about the asterisk-users
mailing list