Changeset 2936
- Timestamp:
- Oct 10, 2009 1:36:43 PM (15 years ago)
- Location:
- pjproject/trunk/pjsip/src/pjsip
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip/sip_dialog.c
r2860 r2936 1533 1533 { 1534 1534 status = pjsip_tsx_create_uas(dlg->ua, rdata, &tsx); 1535 PJ_ASSERT_ON_FAIL(status==PJ_SUCCESS,{goto on_return;}); 1535 if (status != PJ_SUCCESS) { 1536 /* Once case for this is when re-INVITE contains same 1537 * Via branch value as previous INVITE (ticket #965). 1538 */ 1539 char errmsg[PJ_ERR_MSG_SIZE]; 1540 pj_str_t reason; 1541 1542 reason = pj_strerror(status, errmsg, sizeof(errmsg)); 1543 pjsip_endpt_respond_stateless(dlg->endpt, rdata, 500, &reason, 1544 NULL, NULL); 1545 goto on_return; 1546 } 1536 1547 1537 1548 /* Put this dialog in the transaction data. */ -
pjproject/trunk/pjsip/src/pjsip/sip_transaction.c
r2932 r2936 546 546 * twice! 547 547 */ 548 pj_assert(pj_hash_get( mod_tsx_layer.htable, 549 tsx->transaction_key.ptr, 550 tsx->transaction_key.slen, 551 NULL) == NULL); 548 if(pj_hash_get(mod_tsx_layer.htable, 549 tsx->transaction_key.ptr, 550 tsx->transaction_key.slen, 551 NULL)) 552 { 553 pj_mutex_unlock(mod_tsx_layer.mutex); 554 PJ_LOG(2,(THIS_FILE, "Unable to register transaction (key exists)")); 555 return PJ_EEXISTS; 556 } 552 557 553 558 TSX_TRACE_((THIS_FILE, … … 1345 1350 PJSIP_ROLE_UAS, &tsx->method, rdata); 1346 1351 if (status != PJ_SUCCESS) { 1352 unlock_tsx(tsx, &lck); 1347 1353 tsx_destroy(tsx); 1348 1354 return status; … … 1372 1378 status = pjsip_get_response_addr( tsx->pool, rdata, &tsx->res_addr ); 1373 1379 if (status != PJ_SUCCESS) { 1380 unlock_tsx(tsx, &lck); 1374 1381 tsx_destroy(tsx); 1375 1382 return status; … … 1394 1401 status = mod_tsx_layer_register_tsx(tsx); 1395 1402 if (status != PJ_SUCCESS) { 1403 unlock_tsx(tsx, &lck); 1396 1404 tsx_destroy(tsx); 1397 1405 return status;
Note: See TracChangeset
for help on using the changeset viewer.