inline static int w_t_replicate_to( struct sip_msg *p_msg , char *proto_par, char *addr_par ) { struct proxy_l *proxy; int r = -1; proxy = t_protoaddr2proxy(proto_par, addr_par); if (proxy) { r = t_replicate(p_msg, proxy, proxy->proto); free_proxy(proxy); } return r; }
inline static int w_t_replicate(struct sip_msg *p_msg, char *dst, char *flags) { str dest; if(((pv_elem_p)dst)->spec.getf!=NULL) { if(pv_printf_s(p_msg, (pv_elem_p)dst, &dest)!=0 || dest.len <=0) return -1; } else { dest = ((pv_elem_p)dst)->text; } return t_replicate( p_msg, &dest, (int)(long)flags); }
inline static int w_t_replicate_tls( struct sip_msg *p_msg , char *proxy, /* struct proxy_l *proxy expected */ char *_foo /* nothing expected */ ) { return t_replicate(p_msg, ( struct proxy_l *) proxy, PROTO_TLS ); }
inline static int w_t_replicate( struct sip_msg *p_msg , char *proxy, /* struct proxy_l *proxy expected */ char *_foo /* nothing expected */ ) { return t_replicate(p_msg, ( struct proxy_l *) proxy, p_msg->rcv.proto ); }