cell Struct Reference

transaction context More...

#include <h_table.h>

Collaboration diagram for cell:

Collaboration graph
[legend]

Data Fields

str callid
str cseq_n
struct timer_link dele_tl
void * dialog_ctx
int first_branch
unsigned int flags
str from
 needed for generating local ACK/CANCEL for local transactions
struct totag_elemfwded_totags
 to-tags of 200/INVITEs which were received from downstream and forwarded or passed to UAC; note that there can be arbitrarily many due to downstream forking;
unsigned int hash_index
unsigned int label
char md5 [MD5_LEN]
str method
 method shortcut
struct cellnext_cell
int nr_of_outgoings
unsigned int on_branch
unsigned int on_negative
unsigned int on_reply
struct cellprev_cell
volatile unsigned int ref_count
 how many processes are currently processing this transaction?
int relayed_reply_branch
ser_lock_t reply_mutex
struct tmcb_head_list tmcb_hl
str to
struct ua_client uac [MAX_BRANCHES]
struct ua_server uas
struct usr_avpuser_avps
struct timer_link wait_tl

Detailed Description

transaction context

Definition at line 197 of file h_table.h.


Field Documentation

struct timer_link dele_tl [read]

binding to delete timer

Definition at line 237 of file h_table.h.

Referenced by build_cell(), and delete_cell().

void* dialog_ctx

holders for higher contexts

Definition at line 266 of file h_table.h.

Referenced by dlg_new_dialog(), and get_current_dialog().

first branch - when serial forking is performed, keeps the first branch for each step ; it allows proper branch selection

Definition at line 239 of file h_table.h.

Referenced by cancel_invite(), cleanup_uac_timers(), get_redirect(), ospTmcbFunc(), t_forward_nonack(), t_local_replied(), t_pick_branch(), and which_cancel().

unsigned int flags

needed for generating local ACK/CANCEL for local transactions

all but cseq_n include the entire header field value, cseq_n only Cseq number; with local transactions, pointers point to outbound buffer, with proxied transactions to inbound request

Definition at line 225 of file h_table.h.

Referenced by build_dlg_ack(), build_local(), build_uac_cancel(), init_new_t(), print_from(), and t_lookup_request().

struct totag_elem* fwded_totags [read]

to-tags of 200/INVITEs which were received from downstream and forwarded or passed to UAC; note that there can be arbitrarily many due to downstream forking;

Definition at line 262 of file h_table.h.

Referenced by action_stat(), as_relay_stat(), event_stat(), free_cell(), unmatched_totag(), and update_totag_set().

unsigned int hash_index

unsigned int label

char md5[MD5_LEN]

MD5checksum (meaningful only if syn_branch=0)

Definition at line 253 of file h_table.h.

Referenced by init_synonym_id(), t_calc_branch(), and t_reply_matching().

method shortcut

for local transactions, pointer to outbound buffer, for proxies transactions pointer to original message; needed for reply matching

Definition at line 232 of file h_table.h.

Referenced by create_as_action_reply(), init_new_t(), t_reply_matching(), t_uac(), t_uac_cancel(), trace_onreply_in(), trace_onreply_out(), and trace_onreq_out().

struct cell* next_cell [read]

unsigned int on_branch

the branch_route to be processed separately for each branch

Definition at line 251 of file h_table.h.

Referenced by init_new_t(), pre_print_uac_request(), t_forward_nonack(), and t_on_branch().

unsigned int on_negative

the route to take if no final positive reply arrived

Definition at line 249 of file h_table.h.

Referenced by init_new_t(), run_failure_handlers(), t_on_negative(), and t_should_relay_response().

unsigned int on_reply

the onreply_route to be processed if registered to do so

Definition at line 250 of file h_table.h.

Referenced by init_new_t(), reply_received(), and t_on_reply().

struct cell* prev_cell [read]

Definition at line 201 of file h_table.h.

Referenced by insert_into_hash_table_unsafe(), and remove_from_hash_table_unsafe().

volatile unsigned int ref_count

how many processes are currently processing this transaction?

note that only processes working on a request/reply belonging to a transaction increase ref_count -- timers don't, since we rely on transaction state machine to clean-up all but wait timer when entering WAIT state and the wait timer is the only place from which a transaction can be deleted (if ref_count==0); good for protecting from conditions in which wait_timer hits and tries to delete a transaction whereas at the same time a delayed message belonging to the transaction is received

Definition at line 216 of file h_table.h.

Referenced by delete_cell().

nr of replied branch; 0..MAX_BRANCHES=branch value, -1 no reply, -2 local reply

Definition at line 242 of file h_table.h.

Referenced by _reply_light(), acc_onreply(), ack_matching(), build_cell(), populate_leg_info(), relay_reply(), set_final_timer(), t_local_replied(), and t_lookup_request().

protection against concurrent reply processing

Definition at line 247 of file h_table.h.

Referenced by init_cell_lock().

struct tmcb_head_list tmcb_hl [read]

head of callback list

Definition at line 234 of file h_table.h.

Referenced by build_cell(), free_cell(), register_tmcb(), run_failure_handlers(), run_trans_callbacks(), t_uac(), and t_uac_cancel().

struct ua_client uac[MAX_BRANCHES] [read]

struct ua_server uas [read]

struct usr_avp* user_avps [read]

struct timer_link wait_tl [read]

binding to wait timer

Definition at line 236 of file h_table.h.

Referenced by build_cell(), delete_cell(), and put_on_wait().


The documentation for this struct was generated from the following file:

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