unavailable state not reported to Cisco SPA50X phone

Home » Asterisk Users » unavailable state not reported to Cisco SPA50X phone
Asterisk Users 1 Comment

Hello,

 
(using trixbox with Asterisk 1.6.0.26)

 
I am looking for information about how Asterisk should notify the unavailable (SIP) state of a SIP device.

 
I found out that the phone (SPA504G with attendant console) sends a SUBSCRIBE request with an Accept: application/dialog-info+xml.

 
The situation is that the BLF leds are green even for phones that are currently not “online”. This leads to wrong call transfers from the attendant console into not connected phones by an operator.

 
Tracing the activity using both sip debug and tcpdump revealed that Asterisk does not send something like an unavailable state for the device in a NOTIFY.

 
I tried to understand the rfc4235 which states the following:

“However, using this package to model state for non-
session dialog usages is out of the scope of this specification.”

Does this actually mean that the device state of being “offline” is not part of this standard and as such can not be used to reflect the unavailable state in BLF?

 
If it indeed is, I can stop searching for a solution in this direction.

 
BTW I tested with Twinkle softphone and this does reflect correctly the unavailable state, but it uses Accept: application/pidf+xml and is a different method.

 
Help is much appreciated.

 
 
Thanks,

 
 
Hans Feringa

One thought on - unavailable state not reported to Cisco SPA50X phone

  • Am 14.11.11 06:54, schrieb Linux:

    Hello Hans,

    Thats exactly the problem you hit. Even the RFC or the phones support
    something like an “offline” state for not available phones.

    In asterisk 1.2 this worked but it was changed after this version to be
    RFC conform. I have solved this problem by using a proxy in front which
    checkes if a phone is registered and set back a 404 if its not online
    (registered) but this is not a solution for you.

    Maybe you can build some solution with an external script and setting
    custom device states.

    best regards

    Stefan