read application in dialplan is notworking when I use bind_meta_app application ( FXS, TDM 400P with DAHDI )
To whom it may concern, I just hit the wall when I test the atended transfer. Here's my simple dialplan: test.xml: <extension name="DID-Call"> <condition field="destination_number" expression="^(382)$"> <action application="bind_meta_app" data="1 b s execute_extension::att_xfer XML features"/> <action application="bridge" data="freetdm/myFXS/1"/> </condition> </extension> features.xml: <extension name="att_xfer"> <condition field="destination_number" expression="^att_xfer$"> <action application="answer"/> <action application="read" data="4 4 'tone_stream://%(5000,0,350,440)' digits 5000 #"/> <action application="att_xfer" data="user/${digits}"/> </condition> </extension> And the test environment configuration is like this: As you can see, when you dial number "382" from phone 282, the Diguim telephony card will get ring signal at once. Then the freeSWITCH server starts a thread to handle dialplan. While in the execute-state, it will get in the test.xml and match the condition, so FreeSwitch will help bridging two channels together (freetdm/myFXO and freetdm/myFXS/1). After bridging, you'll hear the ring from phone 4001 and pick up the phone, then you can dial "*1" to activate the action and transfer to call featurs.xml immediately. You're now in features.xml and matched the exact condition "att_xfer", so you will hear the generated dial tone by tone_stream and need to dial 4 digits in the moment. The BIG problem is, I can't get any DTMF tone while hitting the digit keys on the phone 4001. But when I change the dialplan like this: test.xml <extension name="DID-Call"> <condition field="destination_number" expression="^(382)$"> <action application="bind_meta_app" data="1 b s execute_extension::att_xfer XML features"/> <action application="bridge" data="user/1001"/> </condition> </extension> The "read" works just fine and really do the addended transfer as expect. And I do some tests to make sure the read function work well in normal context, which means, I discard the "bind_meta_app" application, just use "read" when phone has been answered as follow: test.xml <extension name="DID-Call"> <condition field="destination_number" expression="^(382)$"> <action application="answer"/> <action application="read" data="4 4 'tone_stream://%(5000,0,350,440)' digits 5000 #"/> <action application="log" data="The number you dialed is : ${digits}"/> </condition> </extension> and it works well when I dialed 382 and reach out the freeswitch server, I could see the DTMF tone show on console. After I dialed "4001", the "log" application shows "The number you dialed is : 4001", just likes I expected. So, why would I get involved with situation like this? I was checked the mod_dptools.c and nothing is found in there, since the arguments are not the trouble maker. Maybe the critical part came from FreeTDM( samgoma ) Module, but I gotta figure out which direction of thought is the most probable. If you guys could give me some advice I'll be very thankful, thanks in advance! Kind Regard, Jack Huang
https://freeswitch.org/confluence/display/FREESWITCH/Reporting+Bugs+to+JIRA <https://freeswitch.org/confluence/display/FREESWITCH/Reporting+Bugs+to+JIRA>
On Mar 17, 2015, at 1:24 AM, jack <jack@yosin.com.tw> wrote:
To whom it may concern,
I just hit the wall when I test the atended transfer. Here's my simple dialplan:
test.xml:
<extension name="DID-Call"> <condition field="destination_number" expression="^(382)$"> <action application="bind_meta_app" data="1 b s execute_extension::att_xfer XML features"/> <action application="bridge" data="freetdm/myFXS/1"/> </condition> </extension>
features.xml:
<extension name="att_xfer"> <condition field="destination_number" expression="^att_xfer$"> <action application="answer"/> <action application="read" data="4 4 'tone_stream://%(5000,0,350,440)' digits 5000 #"/> <action application="att_xfer" data="user/${digits}"/> </condition> </extension>
And the test environment configuration is like this:
<test configuration.bmp>
As you can see, when you dial number "382" from phone 282, the Diguim telephony card will get ring signal at once. Then the freeSWITCH server starts a thread to handle dialplan. While in the execute-state, it will get in the test.xml and match the condition, so FreeSwitch will help bridging two channels together (freetdm/myFXO and freetdm/myFXS/1).
After bridging, you'll hear the ring from phone 4001 and pick up the phone, then you can dial "*1" to activate the action and transfer to call featurs.xml immediately. You're now in features.xml and matched the exact condition "att_xfer", so you will hear the generated dial tone by tone_stream and need to dial 4 digits in the moment. The BIG problem is, I can't get any DTMF tone while hitting the digit keys on the phone 4001. But when I change the dialplan like this:
test.xml <extension name="DID-Call"> <condition field="destination_number" expression="^(382)$"> <action application="bind_meta_app" data="1 b s execute_extension::att_xfer XML features"/> <action application="bridge" data="user/1001"/> </condition> </extension>
The "read" works just fine and really do the addended transfer as expect.
And I do some tests to make sure the read function work well in normal context, which means, I discard the "bind_meta_app" application, just use "read" when phone has been answered as follow:
test.xml <extension name="DID-Call"> <condition field="destination_number" expression="^(382)$"> <action application="answer"/> <action application="read" data="4 4 'tone_stream://%(5000,0,350,440)' digits 5000 #"/> <action application="log" data="The number you dialed is : ${digits}"/> </condition> </extension>
and it works well when I dialed 382 and reach out the freeswitch server, I could see the DTMF tone show on console. After I dialed "4001", the "log" application shows "The number you dialed is : 4001", just likes I expected.
So, why would I get involved with situation like this? I was checked the mod_dptools.c and nothing is found in there, since the arguments are not the trouble maker. Maybe the critical part came from FreeTDM( samgoma ) Module, but I gotta figure out which direction of thought is the most probable. If you guys could give me some advice I'll be very thankful, thanks in advance!
Kind Regard, Jack Huang
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <http://www.cluecon.com/>
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/>
participants (2)
-
jack
-
Michael Jerris