t_fwd.h File Reference

TM :: Forward messages. More...

#include "../../proxy.h"
#include "../../str.h"

Include dependency graph for t_fwd.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef int(* taddblind_f )()

Functions

int add_blind_uac (void)
 introduce a new uac, which is blind
void e2e_cancel (struct sip_msg *cancel_msg, struct cell *t_cancel, struct cell *t_invite)
int e2e_cancel_branch (struct sip_msg *cancel_msg, struct cell *t_cancel, struct cell *t_invite, int branch)
unsigned int get_on_branch (void)
int t_forward_ack (struct sip_msg *p_msg)
int t_forward_nonack (struct cell *t, struct sip_msg *p_msg, struct proxy_l *p)
void t_on_branch (unsigned int go_to)
int t_replicate (struct sip_msg *p_msg, str *dst, int flags)
 Relay a replicated message.


Detailed Description

TM :: Forward messages.

Definition in file t_fwd.h.


Typedef Documentation

typedef int(* taddblind_f)()

Definition at line 42 of file t_fwd.h.


Function Documentation

int add_blind_uac ( void   ) 

introduce a new uac, which is blind

This UA only creates the data structures and starts FR timer, but that's it; it does not print messages and send anything anywhere; that is good for FIFO apps -- the transaction must look operationally and FR must be ticking, whereas the request is "forwarded" using a non-SIP way and will be replied the same way

Definition at line 278 of file t_fwd.c.

References cell::flags, get_t(), LM_ERR, MAX_BRANCHES, cell::nr_of_outgoings, REQ_FWDED, ua_client::request, set_kr(), start_retr(), T_BLIND_UAC, T_UNDEFINED, and cell::uac.

Referenced by load_tm(), t_write_req(), and t_write_unix().

void e2e_cancel ( struct sip_msg cancel_msg,
struct cell t_cancel,
struct cell t_invite 
)

int e2e_cancel_branch ( struct sip_msg cancel_msg,
struct cell t_cancel,
struct cell t_invite,
int  branch 
)

unsigned int get_on_branch ( void   ) 

Definition at line 89 of file t_fwd.c.

References goto_on_branch.

Referenced by init_new_t(), and t_forward_nonack().

int t_forward_ack ( struct sip_msg p_msg  ) 

int t_forward_nonack ( struct cell t,
struct sip_msg p_msg,
struct proxy_l p 
)

void t_on_branch ( unsigned int  go_to  ) 

Definition at line 75 of file t_fwd.c.

References BRANCH_ROUTE, get_t(), goto_on_branch, cell::on_branch, route_type, and T_UNDEFINED.

Referenced by script_init(), and w_t_on_branch().

int t_replicate ( struct sip_msg p_msg,
str dst,
int  flags 
)

Relay a replicated message.

Relay a replicated message. We just take the message as is, including Route-s, Record-route-s, and Vias, forward it downstream and prevent replies received from relaying by setting the replication/local_trans bit.

Note:
this is a quite horrible hack - nevertheless, it should be good enough for the primary customer of this function, REGISTER replication. If we want later to make it thoroughly, we need to introduce delete lumps for all the header fields above.
Parameters:
p_msg replicated message
dst destination
flags message flags
Returns:
-1 on errors, otherwise the return value from t_relay_to

Definition at line 750 of file t_fwd.c.

References branch_uri2dset(), GET_RURI, LM_ERR, set_dst_uri(), t_relay_to(), and TM_T_REPLY_repl_FLAG.

Referenced by w_t_replicate().


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