Am 16.09.2010 10:31, schrieb Daniel-Constantin Mierla:
Hi Klaus,
if you print the value of this avp before and after t_relay(), do you get different values?
t_relay does not even return for ACK:
if (is_method("INVITE")) { $avp(revdir) = 11; }
if (is_method("ACK")) { $avp(revdir) = 12; }
xlog("L_NOTICE","$rm before t_relay(): $$avp(revdir) = $avp(revdir) ...\n"); if (!t_relay()) { xlog("L_NOTICE"," t_relay() failed, sending stateless reply ...\n"); sl_reply_error(); } xlog("L_NOTICE","$rm after t_relay(): $$avp(revdir) = $avp(revdir) ...\n"); exit;
results in:
INVITE before t_relay(): $avp(revdir) = 11 ... INVITE after t_relay(): $avp(revdir) = 11 ... ACK has totag ... ACK has totag and is loose-routed ... ACK before t_relay(): $avp(revdir) = 12 ...
Thus, the xlog after t_relay() is not executed for ACK.
following is the log output of debug=4 during t_relay() of the ACK.
notice: NOTICE: <script>: ACK before t_relay(): $avp(revdir) = 12 ... debug: DEBUG: tm [t_lookup.c:1375]: DEBUG: t_newtran: msg id=1 , global msg id=0 , T on entrance=0xffffffff debug: DEBUG: tm [t_lookup.c:528]: t_lookup_request: start searching: hash=59956, isACK=1 debug: DEBUG: tm [t_lookup.c:720]: DEBUG: t_lookup_request: e2e proxy ACK found debug: DEBUG: tm [t_reply.c:276]: DEBUG: totag for e2e ACK found: 0 debug: DEBUG: tm [t_hooks.c:288]: DBG: trans=0xb323aa68, callback type 4, id 0 entered debug: DEBUG: pv [pv_core.c:853]: no destination URI debug: DEBUG: tm [t_funcs.c:315]: SER: forwarding ACK statelessly debug: DEBUG: <core> [msg_translator.c:200]: check_via_address(83.136.33.3, 10.10.0.51, 0) debug: DEBUG: <core> [forward.c:509]: Sending: ACK sip:123@83.136.32.20 SIP/2.0 Via: SIP/2.0/UDP 88.198.53.113;branch=0 Via: SIP/2.0/UDP 10.10.0.51:20854;received=83.136.33.3;branch=z9hG4bK-d8754z-e157d00da261e52b-1---d8754z-;rport=20854 Max-Forwards: 69 Contact: sip:user1@83.136.33.3:20854;transport=udp To: "123"sip:123@foobar;tag=as55bbb5b5 From: sip:user1@foobar;tag=5c57523a Call-ID: NGViYTU2MjFmZjgyYjA0YWMzNTMyNjU2NjFlYjM1MjI. CSeq: 1 ACK User-Agent: eyeBeam release 1102q stamp 51814 Content-Length: 0 . debug: DEBUG: <core> [forward.c:511]: orig. len=460, new_len=483, proto=1 debug: DEBUG: <core> [usr_avp.c:639]: DEBUG:destroy_avp_list: destroying list 0xb323c178 debug: DEBUG: <core> [usr_avp.c:639]: DEBUG:destroy_avp_list: destroying list (nil) debug: DEBUG: <core> [usr_avp.c:639]: DEBUG:destroy_avp_list: destroying list (nil) debug: DEBUG: <core> [usr_avp.c:639]: DEBUG:destroy_avp_list: destroying list (nil) debug: DEBUG: <core> [usr_avp.c:639]: DEBUG:destroy_avp_list: destroying list (nil) debug: DEBUG: <core> [usr_avp.c:639]: DEBUG:destroy_avp_list: destroying list (nil) debug: DEBUG: <core> [receive.c:280]: receive_msg: cleaning up
regards Klaus