[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