On Mar 26, 2009, at 10:27 AM, Rodrigo P. Telles wrote:
Hi Guys,
I'm trying to do some string matching against a created var and looks
like I am doing something wrong but I can't find whats it.
I'm wrote an extension just for tests purposes on dialplan/default.xml:
<extension name="nat_detect" continue="true">
<condition>
<action application="set" data="nated=${cond(${network_addr}
!= ${sip_contact_host} ? 1 : 0)}"/>
</condition>
<condition field="${nated}" expression="1">
<action application="log" data="Action=${nated}"/>
<action application="set" data="proxy_media=true"/>
<action application="set" data="sip_nat_detected=true"/>
<anti-action application="log"
data="Anti-Action=${nated}"/>
</condition>
</extension>
Using two SIP extensions (1000 and 1001) behind NAT and I expected too
see "Action=1" on the logs/console, but I'm seeing "Anti-Action=1".
2009-03-26 11:02:57 [DEBUG] switch_core_state_machine.c:152
switch_core_standard_on_execute() sofia/internal/1001@x.x.x.x
Execute set(nated=${cond(${network_addr} != ${sip_contact_host} ? 1 :
0)})
2009-03-26 11:02:57 [DEBUG] switch_core_session.c:1286
switch_core_session_exec() sofia/internal/1001@x.x.x.x
Expanded String set(nated=1)
2009-03-26 11:02:57 [DEBUG] mod_dptools.c:711 set_function() sofia/internal/1001@x.x.x.x
SET [nated]=[1]
2009-03-26 11:02:57 [DEBUG] switch_core_state_machine.c:152
switch_core_standard_on_execute() sofia/internal/1001@x.x.x.x
Execute log(Anti-Action=${nated})
2009-03-26 11:02:57 [DEBUG] switch_core_session.c:1286
switch_core_session_exec() sofia/internal/1001@x.x.x.x
Expanded String log(Anti-Action=1)
2009-03-26 11:02:57 [DEBUG] mod_dptools.c:895 log_function()
Anti-Action=1
2009-03-26 11:02:57 [DEBUG] switch_core_state_machine.c:152
switch_core_standard_on_execute() sofia/internal/1001@x.x.x.x
Execute set(dialed_extension=1000)
....
I really appreciate any inputs.
I'm using FS 1.0.3 stable.
regards,
Rodrigo Telles