| 1440 | |
| 1441 | |
| 1442 | static int t_cancel_trans(struct cell *t, str *extra_hdrs) |
| 1443 | { |
| 1444 | branch_bm_t cancel_bitmap = BRANCH_BM_ZERO; |
| 1445 | |
| 1446 | if (t==NULL || t==T_UNDEFINED) { |
| 1447 | /* no transaction */ |
| 1448 | LM_ERR("cannot cancel with no transaction"); |
| 1449 | return -1; |
| 1450 | } |
| 1451 | |
| 1452 | LOCK_REPLIES(t); |
| 1453 | which_cancel( t, cancel_bitmap ); |
| 1454 | UNLOCK_REPLIES(t); |
| 1455 | |
| 1456 | /* send cancels out */ |
| 1457 | if (extra_hdrs) |
| 1458 | set_cancel_extra_hdrs( extra_hdrs->s, extra_hdrs->len); |
| 1459 | cancel_uacs(t, cancel_bitmap); |
| 1460 | set_cancel_extra_hdrs( NULL, 0); |
| 1461 | |
| 1462 | return 0; |
| 1463 | } |
| 1464 | |
| 1465 | extern int _tm_branch_index; |
| 1466 | static int w_t_cancel_branch(struct sip_msg *msg, void *sflags) |
nothing calls this directly
no test coverage detected