On Wednesday 20 November 2013, Samuel Ware wrote:
I am currently working on building a type of outbound proxy. I am having an issue with t_check_trans() not finding the associated transaction. I thought maybe this was because I was manipulating the RURI and other headers
First, make your proxy work without messing with headers. After that incrementally add changes.
so I turned on the called_matching parameter and turned off ruri_matching and via1_matching. I get the same result as before making that change of the t_check_trans() not returning a positive value.
# Check source address/port of request if ($si != "xxx.xxx.xxx.xxx")
<snip> This part of the script has nothing to do with matching the replies to the requests.
U 2013/11/20 17:08:16.87387 yyy.yyy.yyy.yyy:5060 -> zzz.zzz.zzz.zzz:5060 INVITE sip:DST_PHONE_NUMBER@zzz.zzz.zzz.zzz:5060 SIP/2.0 Record-Route: sip:yyy.yyy.yyy.yyy;lr=on Via: SIP/2.0/UDP yyy.yyy.yyy.yyy;branch=z9hG4bK9dcc.06fa6927.0 ;rport=5060Max-Forwards: 14
This is a messed-up Via header. The request is also missing the Via header from the previous hop (Freeswitch).
From: "" sip:SRC_PHONE_NUMBER@xxx.xxx.xxx.xxx;tag=Ug3cBSK17a9Ng To: sip:DST_PHONE_NUMBER@yyy.yyy.yyy.yyy