Ignore:
Timestamp:
Apr 26, 2009 11:02:04 AM (15 years ago)
Author:
bennylp
Message:

Fixed ticket #503: Handle the case when CANCEL is responded with 200/OK but 487 is not sent

  • added new API pjsip_tsx_set_timeout()
  • set 64*T1 timeout after CANCEL is initiated
  • also added SIPp scenario to simulate the UAS
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/include/pjsip/sip_transaction.h

    r2394 r2646  
    312312                                           const pjsip_rx_data *rdata ); 
    313313 
    314  
    315314/** 
    316315 * Force terminate transaction. 
     
    331330 * the transaction is cancelled before any provisional response has been 
    332331 * received. 
     332 * 
     333 * @param tsx       The transaction. 
     334 * 
     335 * @return          PJ_SUCCESS or the appropriate error code. 
    333336 */ 
    334337PJ_DECL(pj_status_t) pjsip_tsx_stop_retransmit(pjsip_transaction *tsx); 
     338 
     339 
     340/** 
     341 * Start a timer to terminate transaction after the specified time 
     342 * has elapsed. This function is only valid for INVITE transaction, 
     343 * and only before final response is received for the INVITE transaction. 
     344 * It is normally called after the UAC has sent CANCEL for this 
     345 * INVITE transaction.  
     346 * 
     347 * The purpose of this function is to terminate the transaction if UAS  
     348 * does not send final response to this INVITE transaction even after  
     349 * it sends 200/OK to CANCEL (for example when the UAS complies to RFC 
     350 * 2543). 
     351 * 
     352 * Once this timer is set, the transaction will be terminated either when 
     353 * a final response is received or the timer expires. 
     354 * 
     355 * @param tsx       The transaction. 
     356 * @param millisec  Timeout value in milliseconds. 
     357 * 
     358 * @return          PJ_SUCCESS or the appropriate error code. 
     359 */ 
     360PJ_DECL(pj_status_t) pjsip_tsx_set_timeout(pjsip_transaction *tsx, 
     361                                           unsigned millisec); 
    335362 
    336363 
Note: See TracChangeset for help on using the changeset viewer.