Ignore:
Timestamp:
Aug 11, 2009 4:26:20 PM (15 years ago)
Author:
nanang
Message:

Ticket #833:

  • Renamed pjsip_timer_default_setting() to pjsip_timer_setting_default().
  • Updated session timer settings in pjsua-lib as whole session timer setting struct (pyhton version remains using se & min_se).
  • Added output param SIP status code in pjsip_timer_process_resp() and pjsip_timer_process_req() to specify the corresponding SIP status code when function returning non-PJ_SUCCESS.
  • Fixed print header functions in sip_timer.c to have buffer check.
  • Added PJSIP_SESS_TIMER_DEF_SE setting to specify the default value of session timer interval.
  • Fixed role reference of the refresher, it is transaction role, not dialog role.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_call.c

    r2858 r2859  
    493493 
    494494    /* Init Session Timers */ 
    495     { 
    496         pjsip_timer_setting timer_setting; 
    497  
    498         pjsip_timer_default_setting(&timer_setting); 
    499         timer_setting.sess_expires = acc->cfg.timer_se; 
    500         timer_setting.min_se = acc->cfg.timer_min_se; 
    501  
    502         status = pjsip_timer_init_session(inv, &timer_setting); 
    503         if (status != PJ_SUCCESS) { 
    504             pjsua_perror(THIS_FILE, "Session Timer init failed", status); 
    505             goto on_error; 
    506         } 
     495    status = pjsip_timer_init_session(inv, &acc->cfg.timer_setting); 
     496    if (status != PJ_SUCCESS) { 
     497        pjsua_perror(THIS_FILE, "Session Timer init failed", status); 
     498        goto on_error; 
    507499    } 
    508500 
     
    917909 
    918910    /* Init Session Timers */ 
    919     { 
    920         pjsip_timer_setting timer_setting; 
    921  
    922         pjsip_timer_default_setting(&timer_setting); 
    923         timer_setting.sess_expires = pjsua_var.acc[acc_id].cfg.timer_se; 
    924         timer_setting.min_se = pjsua_var.acc[acc_id].cfg.timer_min_se; 
    925  
    926         status = pjsip_timer_init_session(inv, &timer_setting); 
    927         if (status != PJ_SUCCESS) { 
    928             pjsua_perror(THIS_FILE, "Session Timer init failed", status); 
    929             status = pjsip_inv_end_session(inv, PJSIP_SC_INTERNAL_SERVER_ERROR, 
    930                                            NULL, &response); 
    931             if (status == PJ_SUCCESS && response) 
    932                 status = pjsip_inv_send_msg(inv, response); 
    933  
    934             pjsua_media_channel_deinit(call->index); 
    935  
    936             PJSUA_UNLOCK(); 
    937             return PJ_TRUE; 
    938         } 
     911    status = pjsip_timer_init_session(inv,  
     912                                    &pjsua_var.acc[acc_id].cfg.timer_setting); 
     913    if (status != PJ_SUCCESS) { 
     914        pjsua_perror(THIS_FILE, "Session Timer init failed", status); 
     915        status = pjsip_inv_end_session(inv, PJSIP_SC_INTERNAL_SERVER_ERROR, 
     916                                       NULL, &response); 
     917        if (status == PJ_SUCCESS && response) 
     918            status = pjsip_inv_send_msg(inv, response); 
     919 
     920        pjsua_media_channel_deinit(call->index); 
     921 
     922        PJSUA_UNLOCK(); 
     923        return PJ_TRUE; 
    939924    } 
    940925 
     
    979964        } else { 
    980965            pjsip_inv_send_msg(inv, response); 
    981             pjsip_inv_terminate(inv, PJSIP_ERRNO_TO_SIP_STATUS(status),  
     966            pjsip_inv_terminate(inv, response->msg->line.status.code,  
    982967                                PJ_FALSE); 
    983968        } 
Note: See TracChangeset for help on using the changeset viewer.