Ignore:
Timestamp:
Oct 20, 2009 1:56:26 PM (15 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-apps/src/pjsua/pjsua_app.c

    r2907 r2956  
    26202620    pjsua_buddy_get_info(buddy_id, &info); 
    26212621 
    2622     PJ_LOG(3,(THIS_FILE, "%.*s status is %.*s (subscription state is %s)", 
     2622    PJ_LOG(3,(THIS_FILE, "%.*s status is %.*s, subscription state is %s " 
     2623                         "(last termination reason code=%d %.*s)", 
    26232624              (int)info.uri.slen, 
    26242625              info.uri.ptr, 
    26252626              (int)info.status_text.slen, 
    26262627              info.status_text.ptr, 
    2627               info.sub_state_name)); 
     2628              info.sub_state_name, 
     2629              info.sub_term_code, 
     2630              (int)info.sub_term_reason.slen, 
     2631              info.sub_term_reason.ptr)); 
    26282632} 
    26292633 
Note: See TracChangeset for help on using the changeset viewer.