t_cancel.c File Reference

TM :: CANCEL processing. More...

#include "t_funcs.h"
#include "../../dprint.h"
#include "../../ut.h"
#include "t_reply.h"
#include "t_fwd.h"
#include "t_cancel.h"
#include "t_msgbuilder.h"
#include "t_lookup.h"

Include dependency graph for t_cancel.c:

Go to the source code of this file.

Functions

char * build_cancel (struct cell *Trans, unsigned int branch, unsigned int *len)
void cancel_branch (struct cell *t, int branch)
void cancel_uacs (struct cell *t, branch_bm_t cancel_bm)
 cancel branches scheduled for deletion
unsigned int t_uac_cancel (str *headers, str *body, unsigned int cancelled_hashIdx, unsigned int cancelled_label, transaction_cb cb, void *cbp)
 This function cancels a previously created local invite transaction.
void which_cancel (struct cell *t, branch_bm_t *cancel_bm)
 Determine which branches should be canceled.


Detailed Description

TM :: CANCEL processing.

Definition in file t_cancel.c.


Function Documentation

char* build_cancel ( struct cell Trans,
unsigned int  branch,
unsigned int *  len 
)

Definition at line 124 of file t_cancel.c.

References build_local(), CANCEL, CANCEL_LEN, and cell::to.

Referenced by cancel_branch().

void cancel_branch ( struct cell t,
int  branch 
)

void cancel_uacs ( struct cell t,
branch_bm_t  cancel_bm 
)

cancel branches scheduled for deletion

Definition at line 69 of file t_cancel.c.

References cancel_branch(), and cell::nr_of_outgoings.

Referenced by _reply_light(), cancel_invite(), local_reply(), mi_tm_cancel(), relay_reply(), reply_received(), and t_cancel_branches().

unsigned int t_uac_cancel ( str headers,
str body,
unsigned int  cancelled_hashIdx,
unsigned int  cancelled_label,
transaction_cb  cb,
void *  cbp 
)

void which_cancel ( struct cell t,
branch_bm_t cancel_bm 
)

Determine which branches should be canceled.

Do it only from within REPLY_LOCK, otherwise collisions could occur (e.g., two 200 for two branches processed by two processes might concurrently try to generate a CANCEL for the third branch, resulting in race conditions during writing to cancel buffer

Definition at line 56 of file t_cancel.c.

References cell::first_branch, and should_cancel_branch().

Referenced by _reply_light(), cancel_invite(), local_reply(), t_cancel_branches(), and t_should_relay_response().


Generated on Thu May 24 20:00:44 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6