Summary:ASTERISK-08952: [patch] Eyebeam cannot renew subscriptions for presence info
Reporter:Steve Murphy (murf)Labels:
Date Opened:2007-03-06 12:50:29.000-0600Date Closed:2007-03-06 17:24:51.000-0600
Versions:Frequency of
Environment:Attachments:( 0) eyebeamfix
( 1) eyebeamfix2
( 2) eyebeamfix3
Description:According to rfc 3265, section 3.1.3, eyebeams behavior of not sending
the accept/allow headers on re-subscription to extension states is

I looked, and luckily, the subscription format gleaned from the Accept: header is stored in the sip_pvt struct, so I added some code to allow the p->subscribed field to remain as-is instead of a 489 Bad Event status being returned. I restricted the condition to: accept header blank or non-existent, and the subscribed field is non-zero (already set to some format).

****** STEPS TO REPRODUCE ******

Just run eyebeam with some extensions to monitor for presence. (You'll have to set hints, etc in the asterisk dialplan, of course). It looks like the default subscription timeout is set to 1 hour in the eyebeam config. I turned mine down to 10 minutes to speed up checking.

Without the patch, it's 10 minutes, and you lose all state info, and no tracking status from there forward, unless the phone is restarted.

With the patch, it keeps track of state with no probems.
Comments:By: Serge Vecher (serge-v) 2007-03-06 13:46:04.000-0600

typo in "sprintf(mybuf,"489 Bad Event4a");"?

By: Steve Murphy (murf) 2007-03-06 15:47:51.000-0600

Oh, so true! uploaded eyebeamfix; straightened up the sloppiness.

By: Russell Bryant (russell) 2007-03-06 16:15:34.000-0600

ast_strlen_zero()  ;)

By: Steve Murphy (murf) 2007-03-06 16:30:18.000-0600

oops! right! see eyebeamfix3...

By: Steve Murphy (murf) 2007-03-06 17:24:50.000-0600

OK, this issue is closed via:

1.2 r.58115
1.4 r.58121
trnk  58122

Thanks to the reviewers!

Hopefully, this may end up applying to more than just the eyebeam.