<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:9pt;font-family:Sans Serif">
<p>I think I understand a little bit more my problem.</p>
<p>&quot;From&quot; Header is corrected in Request Route, but it is another request that will be sent to the UA. The transaction isn't forwarded and From Header is regenerated from transaction memory!</p>
<p></p>
<p>The debug section in request route:</p>
<p></p>
<p>DBG:core:get_hdr_field: content_length=0</p>
<p>DBG:core:get_hdr_field: found end of header</p>
<p>Rewriting From Domain in CANCEL &quot;0227875100&quot; &lt;sip:0227875100@212.147.47.210&gt;;tag=as305154bf</p>
<p>DBG:core:subst_run: running. r=0</p>
<p>DBG:core:subst_run: matched (67, 66): [From: &quot;0227875100&quot; &lt;sip:0227875100@212.147.47.210&gt;;tag=as305154bf^M]</p>
<p>DBG:core:subst_run: running. r=1</p>
<p>DBG:textops:subst_f: textops: replacing at offset 128 [From: &quot;0227875100&quot; &lt;sip:0227875100@212.147.47.210&gt;;tag=as305154bf^M] with [From: &quot;0227875100&quot; &lt;sip:0227875100@</p>
<p>voip-dev.vtx.ch&gt;;tag=as305154bf^M]</p>
<p>DBG:textops:subst_f: lst was 0x77e380</p>
<p></p>
<p></p>
<p>But after, it seems to be another request that is generated wich is built locally:</p>
<p></p>
<p>DBG:tm:matching_3261: RFC3261 transaction matched, tid=5a03baaa</p>
<p>DBG:tm:t_lookupOriginalT: canceled transaction found (0x2b67b0bf6058)!</p>
<p>DBG:tm:t_lookupOriginalT: REF_UNSAFE: after is 1</p>
<p>DBG:tm:t_lookupOriginalT: t_lookupOriginalT completed</p>
<p>DBG:tm:t_newtran: transaction on entrance=0xffffffffffffffff</p>
<p>DBG:core:parse_headers: flags=ffffffffffffffff</p>
<p>DBG:core:parse_headers: flags=78</p>
<p>DBG:tm:t_lookup_request: start searching: hash=47230, isACK=0</p>
<p>DBG:tm:matching_3261: RFC3261 transaction matching failed</p>
<p>DBG:tm:t_lookup_request: no transaction found</p>
<p>DBG:tm:run_reqin_callbacks: trans=0x2b67b0bfdd50, callback type 1, id 1 entered</p>
<p>DBG:tm:run_reqin_callbacks: trans=0x2b67b0bfdd50, callback type 1, id 0 entered</p>
<p>DBG:core:parse_headers: flags=ffffffffffffffff</p>
<p>DBG:core:check_via_address: params 212.147.47.82, 212.147.47.210, 0</p>
<p>DBG:core:_shm_resize: resize(0) called</p>
<p>DBG:tm:cleanup_uac_timers: RETR/FR timers reset</p>
<p>DBG:tm:insert_timer_unsafe: [2]: 0x2b67b0bfddd0 (71)</p>
<p>DBG:tm:_reply_light: reply sent out. buf=0x77e8a0: SIP/2.0 2..., shmem=0x2b67b0bd5460: SIP/2.0 2</p>
<p>DBG:tm:_reply_light: finished</p>
<p>DBG:tm:<span style="font-weight:600">build_local</span>: using FROM=&lt;From: &quot;0227875100&quot; &lt;sip:0227875100@212.147.47.210&gt;;tag=as305154bf^M &gt;, TO=&lt;To: &lt;sip:0225667886@213.162.3.158:5060;user=phone&gt;^M &gt;, CSEQ_N=&lt;CSeq: 102&gt;</p>
<p>DBG:tm:cancel_branch: sending cancel...</p>
<p></p>
<p>Have you got any idea how to modify the generated packet? Or how to change the &quot;From&quot; Header generated locally</p>
<p></p>
<p>Thanks</p>
<p></p>
<p></p>
<p></p>
<p>Le Friday 13 March 2009 10.57:03 Marc Leurent, vous avez écrit :</p>
<p>&gt; Good Morning,</p>
<p>&gt; I'am using a loadbalanced platform with dispatcher module. When a packet is</p>
<p>&gt; sent from a Gateway to a peer, I rewrite the From Header which contains the</p>
<p>&gt; IP of the gateway in order to put the proxy domain because some Hardphones</p>
<p>&gt; like</p>
<p>&gt; Thomson ST2030 will keep the domain in call history to be able to call back</p>
<p>&gt; a person. If the UA use the direct IP of the gateway, the call will failed,</p>
<p>&gt; it has to go through the proxy! So I would like to rewrite From header</p>
<p>&gt; coming from gateways</p>
<p>&gt;</p>
<p>&gt; It's working for INVITE, OPTIONS,... in main route, but CANCEL packets are</p>
<p>&gt; not rewritten and UA sent back a message saying transaction does not exists</p>
<p>&gt; because From header is different from INVITE!</p>
<p>&gt;</p>
<p>&gt; I have put this in main route:</p>
<p>&gt;</p>
<p>&gt; if (ds_is_from_list()) {        # Returns true if the current request comes</p>
<p>&gt; from a host from the dispatcher-list</p>
<p>&gt;          xlog(&quot;L_INFO&quot;, &quot;Rewriting From Domain in $rm $(hdr(From))&quot;);</p>
<p>&gt;        #subst('/^From:(.*)@xxx.xxx.xxx.[0-9]+(.*)$/From:</p>
<p>&gt; \1@xxx-dev.xxx.xx\2/ig');</p>
<p>&gt; }</p>
<p>&gt;</p>
<p>&gt; Have you got any idea how to rewrite CANCEL packet?</p>
<p>&gt; I have tried to put the same thing in failure route but it does not work.</p>
<p>&gt;</p>
<p>&gt; Thanks</p>
<p>&gt;</p>
<p>&gt; Best Regards</p>
<p></p>
<p></p>
<p></p>
<p>-- </p>
<p>-- --</p>
<p>Marc LEURENT</p>
<p>Ingénieur VoIP</p>
<p></p>
<p>DECKPOINT SA</p>
<p>Une société du groupe VTX Telecom</p>
<p>================================================================</p>
<p>Rue Eugène-Marziano 15 - 1227 Les Acacias</p>
<p>http://www.vtx.ch - marc.leurent@vtx-telecom.ch</p>
<p>----------------------------------------------------------------</p>
<p>VTX, votre partenaire telecom proche de vous !</p>
<p>================================================================</p>
</body></html>