Ignore:
Timestamp:
Oct 20, 2009 1:56:26 PM (13 years ago)
Author:
bennylp
Message:

Initial commit for ticket #937: Revamping of presence management to make it more efficient

Presence enhancements:

  • finer grained buddy lock object, instead of using global PJSUA-LIB's mutex
  • individual resubscription timer for buddies and also add random delay interval so that resubscriptions don't happen simultaneously (may hog processing and bandwidth).
  • in general reduced the use of global PJSUA-LIB's mutex for more efficiency
  • added last termination code in buddy info
  • use the RPID note's text for buddy's offline status rather than the default "offline" status, if available
  • resubscribe automatically on several termination causes as explained in the ticket (still untested)

General enhancements:

  • added pjsua_schedule_timer() and pjsua_cancel_timer() APIs
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/include/pjsua-lib/pjsua_internal.h

    r2945 r2956  
    186186    pjsip_dialog        *dlg;       /**< The underlying dialog.         */ 
    187187    pjsip_evsub         *sub;       /**< Buddy presence subscription    */ 
     188    unsigned             term_code; /**< Subscription termination code  */ 
    188189    pj_str_t             term_reason;/**< Subscription termination reason */ 
    189190    pjsip_pres_status    status;    /**< Buddy presence status.         */ 
    190  
     191    pj_timer_entry       timer;     /**< Resubscription timer           */ 
    191192} pjsua_buddy; 
    192193 
Note: See TracChangeset for help on using the changeset viewer.