Forrest Beck wrote:
Does anyone have a working implementation of SIP Presence?  I have a new
Grandstream GX-2000 phone with the supported hardware and I am not sure how
to setup presence with asterisk.

I've just been through this myself. It is relatively simple once you manage to figure it out but really hard until you do!

1) Upgrade to the latest beta firmware for the gpx-2000.
(details here: http://www.voip-info.org/wiki/view/GXP-2000)

2) Assign a speed dial button as type "Asterisk BLF" in the drop down in the Basic page of the grandstream web config system and have it watch a particular extension. Lets call it extension 100 for the purposes of this example. It does not matter what name you give this speed dial entry - it is just a label.

In the above step you are effectively telling the grandstream to "watch" a special "hint" extension, number 100.

3) Now here's the confusing bit. In extensions.conf you need to use a "hint" priority which you need to define in the same section as you have your normal extensions defined (you can do it elsewhere but for the purposes of this explanation we'll keep things simple).

We are using 100 as our example in step 2. BUT extension 100 does not have to exist in your current dial plan! This is a key thing to get in your head. And if you do have 100 in your current dial-plan it doesn't matter either because adding a hint for that extension will not harm the existing extension. You do not need to have your "hint" priority anywhere near the lines where you define extension 100 in your dial-plan either -- you can have a block of hints anywhere (as long as they are in the same section as your normal extensions)

The syntax is:

exten => xxx,hint,sip/yyyyy

where xxx would be 100 in our example.

But what is yyyyy? Basically it is the name of the phone/device you want to monitor, as defined between the [ and ] in your sip.conf for that device.

You can monitor more than one phone/device at a time by using a syntax like this:

exten => xxx,hint,sip/yyyyy&sip/zzzz

(add as many as you like on that line with a & inbetween)


But lets get specific:

In extension.conf, in the same [heading] as your other sip extensions are defined, add:

exten => 100,hint,sip/phone1

(where phone1 is a phone as defined in sip.conf and is what you want to watch)

IMPORTANT: It is not necessary for phone1 to be configured as extension 100 in extensions.conf. "hint" extensions and "real" extensions are separate entities. This is crucial to understand. There is no link between them. As mentioned previously it is not even necessary for extension 100 to be defined previously in extensions.conf at all.

Now, at this point, any device set to watch "hint" extension 100 will be alerted to the status of phone1. (In step 2 we set the grandstream to watch 100, so it will respond to changes in status on that "hint" extension).

It is THAT simple. Only it isn't, because there are some "gotchas".

First of all, in sip.conf you need to have type=peer in your phone's definition, NOT type=friend. It just doesn't work if you have type=friend for Grandstream phones (polycom phones, on the other hand, won't work if you have type=friend -- they have to be type=peer but at least hints work with them when set to type=peer)

The other thing you need for granstreams at least is call-limit=1 in your phone's definition in sip.conf. You may like to experiment with this though, as I'm not 100% sure it really is required. In any case it prevents more than one call ever going into the phone at the same time, which may not be what you want.

So, having done all this, restart asterisk, then reboot your phones (an asterisk restart confuses hints/presence on grandstream phones sometimes)

At the asterisk command line, enter the command: show hints

You should see that extension 100 is shown, and that it was status Idle and 1 watcher.

If you use the phone (you have to dial something not just lift the handset) and then use "show hints" again you should see status = InUse and the red light next to the speed dial button on the "watching" phone will light up like magic.

It is wondrous when it works.

Additional info:

When setting up a speed dial in the grandstream gxp-2000 as "asterisk BLF" you can also define which "account" you want this to work on. If each of the four possible accounts (sip registrations) is connected to different asterisk servers (as opposed to all being configured to register on the same one), depending on which account you select in the Basic page when defining the speed dial, the grandstream will watch the extension defined on that account. This allows you to monitor presence on up to four different asterisk servers.

In contrast (and VERY annoyingly), Polycom phones always use the account defined in in the first account (Line 1) - there does not seem to be any way at all to get them to watch extensions on multiple asterisk servers.


Faris.

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to