Module: sip-router Branch: treimann/master_tm-extend-callbacks Commit: 9f0e2ebebc9acb10bb92e695c30c74286296c80d URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=9f0e2ebe...
Author: Timo Reimann timo.reimann@1und1.de Committer: Timo Reimann timo.reimann@1und1.de Date: Wed Oct 5 11:15:04 2011 +0200
tm: Provide sent buffer (processed message) in callback to TMCB_RESPONSE_OUT.
---
modules/tm/t_reply.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c index 50ef8c9..1a11038 100644 --- a/modules/tm/t_reply.c +++ b/modules/tm/t_reply.c @@ -649,8 +649,11 @@ static int _reply_light( struct cell *trans, char* buf, unsigned int len, if (likely(SEND_PR_BUFFER( rb, buf, len )>=0)){ if (unlikely(code>=200 && !is_local(trans) && has_tran_tmcbs(trans, TMCB_RESPONSE_OUT)) ) - run_trans_callbacks(TMCB_RESPONSE_OUT, trans, - trans->uas.request, FAKED_REPLY, code); + INIT_TMCB_ONSEND_PARAMS(onsend_params, trans->uas.request, + FAKED_REPLY, rb, &rb->dst, + buf, len, TMCB_LOCAL_F, rb->branch, code); + run_trans_callbacks_off_params(TMCB_RESPONSE_OUT, trans, + &onsend_params); if (unlikely(has_tran_tmcbs(trans, TMCB_RESPONSE_SENT))){ INIT_TMCB_ONSEND_PARAMS(onsend_params, trans->uas.request, FAKED_REPLY, rb, &rb->dst, @@ -1820,8 +1823,8 @@ enum rps relay_reply( struct cell *t, struct sip_msg *p_msg, int branch, if (likely(uas_rb->dst.send_sock && SEND_PR_BUFFER( uas_rb, buf, res_len ) >= 0)){ if (unlikely(!totag_retr && has_tran_tmcbs(t, TMCB_RESPONSE_OUT))){ - run_trans_callbacks( TMCB_RESPONSE_OUT, t, t->uas.request, - relayed_msg, relayed_code); + run_trans_callbacks_with_buf( TMCB_RESPONSE_OUT, uas_rb, t->uas.request, + relayed_msg, relayed_code); } if (unlikely(has_tran_tmcbs(t, TMCB_RESPONSE_SENT))){ INIT_TMCB_ONSEND_PARAMS(onsend_params, t->uas.request,