[Freeswitch-users] transfer and freetdm variables

Karl Schmidt karl at xtronics.com
Sun Jul 28 20:39:41 MSD 2013


 From what I've read the transfer application should just change destination_number and context, but 
this is not what I'm seeing happen if the call starts with freetdm.

I have logged the span info in the answering extension - which works - but after the transfer it 
looks like the data is not available for the regex?  But after it fails the Regex it executes the 
log lines but because it didn't see the variable it fails..

...
EXECUTE FreeTDM/2:1/ log(chan_name [FreeTDM/2:1/])
2013-07-28 11:29:25.677884 [DEBUG] mod_dptools.c:1539 [FreeTDM/2:1/]
EXECUTE FreeTDM/2:1/ log(freetdm_span_name FXO)
2013-07-28 11:29:25.677884 [DEBUG] mod_dptools.c:1539 FXO
EXECUTE FreeTDM/2:1/ log(freetdm_span_number 2)
2013-07-28 11:29:25.677884 [DEBUG] mod_dptools.c:1539 2
EXECUTE FreeTDM/2:1/ log(freetdm_chan_number 1)
2013-07-28 11:29:25.677884 [DEBUG] mod_dptools.c:1539 1
EXECUTE FreeTDM/2:1/ transfer(my_voicemail XML features)
2013-07-28 11:29:25.677884 [DEBUG] switch_ivr.c:1815 (FreeTDM/2:1/) State Change CS_EXECUTE -> 
CS_ROUTING
2013-07-28 11:29:25.677884 [DEBUG] switch_core_session.c:1334 Send signal FreeTDM/2:1/ [BREAK]
2013-07-28 11:29:25.677884 [DEBUG] switch_core_session.c:854 Send signal FreeTDM/2:1/ [BREAK]
2013-07-28 11:29:25.677884 [NOTICE] switch_ivr.c:1822 Transfer FreeTDM/2:1/ to 
XML[my_voicemail at features]
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:477 (FreeTDM/2:1/) State EXECUTE 
going to sleep
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:415 (FreeTDM/2:1/) Running State 
Change CS_ROUTING
2013-07-28 11:29:25.677884 [DEBUG] switch_channel.c:2034 (FreeTDM/2:1/) Callstate Change ACTIVE -> 
RINGING
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:470 (FreeTDM/2:1/) State ROUTING
2013-07-28 11:29:25.677884 [DEBUG] mod_freetdm.c:453 FreeTDM/2:1/ CHANNEL ROUTING
2013-07-28 11:29:25.677884 [DEBUG] mod_freetdm.c:456 [s2c1][1:3] Indicating PROCEED in state UP
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:117 FreeTDM/2:1/ Standard ROUTING
2013-07-28 11:29:25.677884 [INFO] mod_dialplan_xml.c:557 Processing  <0000000000>->my_voicemail in 
context features
Dialplan: FreeTDM/2:1/ parsing [features->dx] continue=false
Dialplan: FreeTDM/2:1/ Regex (FAIL) [dx] destination_number(my_voicemail) =~ /^dx$/ break=on-false
Dialplan: FreeTDM/2:1/ parsing [features->att_xfer] continue=false
Dialplan: FreeTDM/2:1/ Regex (FAIL) [att_xfer] destination_number(my_voicemail) =~ /^att_xfer$/ 
break=on-false
Dialplan: FreeTDM/2:1/ parsing [features->is_transfer] continue=false
Dialplan: FreeTDM/2:1/ Regex (FAIL) [is_transfer] destination_number(my_voicemail) =~ 
/^is_transfer$/ break=on-false
Dialplan: FreeTDM/2:1/ parsing [features->cf] continue=false
Dialplan: FreeTDM/2:1/ Regex (FAIL) [cf] destination_number(my_voicemail) =~ /^cf$/ break=on-false
Dialplan: FreeTDM/2:1/ parsing [features->please_hold] continue=false
Dialplan: FreeTDM/2:1/ Regex (FAIL) [please_hold] destination_number(my_voicemail) =~ 
/^([1-2][0-9])$/ break=on-false
Dialplan: FreeTDM/2:1/ parsing [features->is_zrtp_secure] continue=true
Dialplan: FreeTDM/2:1/ Regex (FAIL) [is_zrtp_secure] ${zrtp_secure_media_confirmed}() =~ /^true$/ 
break=on-false
Dialplan: FreeTDM/2:1/ ANTI-Action eval(not_secure)
Dialplan: FreeTDM/2:1/ parsing [features->is_secure] continue=true
Dialplan: FreeTDM/2:1/ Regex (FAIL) [is_secure] ${sip_via_protocol}() =~ /tls/ break=on-false
Dialplan: FreeTDM/2:1/ parsing [features->my_voicemail] continue=false
Dialplan: FreeTDM/2:1/ Regex (PASS) [my_voicemail] source(mod_freetdm) =~ /(.*)/ break=never
Dialplan: FreeTDM/2:1/ Action log(source ${source})
Dialplan: FreeTDM/2:1/ Action log(freetdm_span_number ${freetdm_span_number})
Dialplan: FreeTDM/2:1/ Action log(destination_number ${destination_number})
Dialplan: FreeTDM/2:1/ Regex (FAIL) [my_voicemail] freetdm_span_number() =~ /2/ break=on-true
Dialplan: FreeTDM/2:1/ Regex (FAIL) [my_voicemail] source(mod_freetdm) =~ /^mod_sofia$/ break=on-false
Dialplan: FreeTDM/2:1/ parsing [features->flite] continue=false
Dialplan: FreeTDM/2:1/ Regex (FAIL) [flite] destination_number(my_voicemail) =~ /^99$/ break=on-false
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:167 (FreeTDM/2:1/) State Change 
CS_ROUTING -> CS_EXECUTE
2013-07-28 11:29:25.677884 [DEBUG] switch_core_session.c:1334 Send signal FreeTDM/2:1/ [BREAK]
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:470 (FreeTDM/2:1/) State ROUTING 
going to sleep
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:415 (FreeTDM/2:1/) Running State 
Change CS_EXECUTE
2013-07-28 11:29:25.677884 [DEBUG] switch_channel.c:2036 (FreeTDM/2:1/) Callstate Change RINGING -> 
ACTIVE
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:477 (FreeTDM/2:1/) State EXECUTE
2013-07-28 11:29:25.677884 [DEBUG] mod_freetdm.c:473 FreeTDM/2:1/ CHANNEL EXECUTE
2013-07-28 11:29:25.677884 [DEBUG] switch_core_state_machine.c:209 FreeTDM/2:1/ Standard EXECUTE
EXECUTE FreeTDM/2:1/ eval(not_secure)
EXECUTE FreeTDM/2:1/ log(source mod_freetdm)
2013-07-28 11:29:25.677884 [DEBUG] mod_dptools.c:1539 mod_freetdm
EXECUTE FreeTDM/2:1/ log(freetdm_span_number 2)
2013-07-28 11:29:25.677884 [DEBUG] mod_dptools.c:1539 2
EXECUTE FreeTDM/2:1/ log(destination_number my_voicemail)


This might be a bug --

  I tried matching with both   <condition field="freetdm_span_number" expression="2" break="on-true">
and
   <condition field="freetdm_span_number" expression="^2$" break="on-true">



The bigger question is just what does transfer do with a freetdm call? My understanding is transfer 
should simply change destination_number and context and reparse the dialplan?




--------------------------------------------------------------------------------
Karl Schmidt                                  EMail Karl at xtronics.com
Transtronics, Inc.                              WEB http://secure.transtronics.com
3209 West 9th Street                             Ph (785) 841-3089
Lawrence, KS 66049                              FAX (785) 841-0434

The Prius: A car for people that don't have math skills.
The Volt: A car for people with even worse math skills.
kps
--------------------------------------------------------------------------------



Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list