How to get the action executed using bind_digit_action ?
Hi Freeswitchers. (Reposting under new thread - previous went to the wrong place.) I am running "FreeSWITCH Version 1.5.15b+git~20141215T224714Z~0b414a8de8~64bit (git 0b414a8 2014-12-15 22:47:14Z 64bit)” - updated this morning. I have the following actions in an extension being executed: <action application="info"/> <action application="bind_digit_action" data="start_echo,##,exec:info,both,self"/> <action application="digit_action_set_realm" data="start_echo"/> <action application="delay_echo" data="10"/> For the ‘info’ action at the top, I see the normal stuff printed in the console log: EXECUTE sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> info() 2014-12-15 20:52:06.137537 [INFO] mod_dptools.c:1647 CHANNEL_DATA: Channel-State: [CS_EXECUTE] Channel-Call-State: [ACTIVE] Channel-State-Number: [4] Channel-Name: [sofia/portaprod/27878881000@10.17.180.204 <mailto:sofia/portaprod/27878881000@10.17.180.204>] Unique-ID: [8218a229-562d-4706-85a2-988d2bae0041] <cut cut> Then follows the ‘bind_digit_action’ and ‘digit_action_set_realm’ to bind ‘##’ to executing the ‘info’ app. The ‘echo' application at the very bottom works as per normal and I get my audio echoed back. When I send “#9” - I get this in the log: 2014-12-15 21:13:32.777537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:13:33.637537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF 9:800 2014-12-15 21:13:33.637537 [DEBUG] mod_dptools.c:132 sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> Digit NOT match binding [#9] So all normal. But here my issue. When I send ‘##’ - I only see this in the log: 2014-12-15 21:14:58.817537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] mod_dptools.c:188 sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> Digit match binding [exec:info][both] 2014-12-15 21:14:59.317537 [DEBUG] switch_core_session.c:1188 Send signal sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> [BREAK] So its finding a match, but the app to be executed never does so. If it had, I would have seen the above ‘info’ stuff printed to the console. I actually want the call transferred to another extension when the user enters ‘##’ - but that similarly does not happen. It seems I can’t get any action to actually be executed. So what do I need to set first, such that the specified ‘action’ gets executed? Hope someone can help me out here. Looking at the code, I see that in mod_dptools.c there seems to be support for “blocking” and “non-blocking” execution modes. I figured out that to ‘activate’ the ’non-blocking mode the above action needs to change to: <action application="bind_digit_action" data="start_echo,##,exec[i]:info,both,self"/> [This sets ‘exec = 2’ such that ‘switch_core_session_execute_application’ is called - otherwise ‘switch_ivr_broadcast_in_thread’ is called.] But when I try this, as soon as I send the ##, I get a core dump. Regards Keith
If you get a core dump file a Jira. Core dumps are always a bug. On 16 December 2014 at 09:17, Keith Laaks <keith@laaks.com> wrote:
Hi Freeswitchers.
(Reposting under new thread - previous went to the wrong place.)
I am running "FreeSWITCH Version 1.5.15b+git~20141215T224714Z~0b414a8de8~64bit (git 0b414a8 2014-12-15 22:47:14Z 64bit)” - updated this morning.
I have the following actions in an extension being executed:
<action application="info"/> <action application="bind_digit_action" data="start_echo,##,exec:info,both,self"/> <action application="digit_action_set_realm" data="start_echo"/> <action application="delay_echo" data="10"/>
For the ‘info’ action at the top, I see the normal stuff printed in the console log: EXECUTE sofia/portaprod/27878881000@10.10.10.10 info() 2014-12-15 20:52:06.137537 [INFO] mod_dptools.c:1647 CHANNEL_DATA: Channel-State: [CS_EXECUTE] Channel-Call-State: [ACTIVE] Channel-State-Number: [4] Channel-Name: [sofia/portaprod/27878881000@10.17.180.204] Unique-ID: [8218a229-562d-4706-85a2-988d2bae0041] <cut cut>
Then follows the ‘bind_digit_action’ and ‘digit_action_set_realm’ to bind ‘##’ to executing the ‘info’ app.
The ‘echo' application at the very bottom works as per normal and I get my audio echoed back.
When I send “#9” - I get this in the log: 2014-12-15 21:13:32.777537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:13:33.637537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF 9:800 2014-12-15 21:13:33.637537 [DEBUG] mod_dptools.c:132 sofia/portaprod/27878881000@10.10.10.10 Digit NOT match binding [#9]
So all normal.
But here my issue.
When I send ‘##’ - I only see this in the log: 2014-12-15 21:14:58.817537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] mod_dptools.c:188 sofia/portaprod/27878881000@10.10.10.10 Digit match binding [exec:info][both] 2014-12-15 21:14:59.317537 [DEBUG] switch_core_session.c:1188 Send signal sofia/portaprod/27878881000@10.10.10.10 [BREAK]
So its finding a match, but the app to be executed never does so. If it had, I would have seen the above ‘info’ stuff printed to the console. I actually want the call transferred to another extension when the user enters ‘##’ - but that similarly does not happen. It seems I can’t get any action to actually be executed.
So what do I need to set first, such that the specified ‘action’ gets executed?
Hope someone can help me out here.
Looking at the code, I see that in mod_dptools.c there seems to be support for “blocking” and “non-blocking” execution modes. I figured out that to ‘activate’ the ’non-blocking mode the above action needs to change to: <action application="bind_digit_action" data="start_echo,##,exec[i]:info,both,self"/> [This sets ‘exec = 2’ such that ‘switch_core_session_execute_application’ is called - otherwise ‘switch_ivr_broadcast_in_thread’ is called.]
But when I try this, as soon as I send the ##, I get a core dump.
Regards
Keith
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Try this (info takes no arguments) <action application="bind_digit_action" data="start_echo,##,exec:info,, both,self"/> Note the double comma On 16 December 2014 at 09:17, Keith Laaks <keith@laaks.com> wrote:
Hi Freeswitchers.
(Reposting under new thread - previous went to the wrong place.)
I am running "FreeSWITCH Version 1.5.15b+git~20141215T224714Z~0b414a8de8~64bit (git 0b414a8 2014-12-15 22:47:14Z 64bit)” - updated this morning.
I have the following actions in an extension being executed:
<action application="info"/> <action application="bind_digit_action" data="start_echo,##,exec:info,both,self"/> <action application="digit_action_set_realm" data="start_echo"/> <action application="delay_echo" data="10"/>
For the ‘info’ action at the top, I see the normal stuff printed in the console log: EXECUTE sofia/portaprod/27878881000@10.10.10.10 info() 2014-12-15 20:52:06.137537 [INFO] mod_dptools.c:1647 CHANNEL_DATA: Channel-State: [CS_EXECUTE] Channel-Call-State: [ACTIVE] Channel-State-Number: [4] Channel-Name: [sofia/portaprod/27878881000@10.17.180.204] Unique-ID: [8218a229-562d-4706-85a2-988d2bae0041] <cut cut>
Then follows the ‘bind_digit_action’ and ‘digit_action_set_realm’ to bind ‘##’ to executing the ‘info’ app.
The ‘echo' application at the very bottom works as per normal and I get my audio echoed back.
When I send “#9” - I get this in the log: 2014-12-15 21:13:32.777537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:13:33.637537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF 9:800 2014-12-15 21:13:33.637537 [DEBUG] mod_dptools.c:132 sofia/portaprod/27878881000@10.10.10.10 Digit NOT match binding [#9]
So all normal.
But here my issue.
When I send ‘##’ - I only see this in the log: 2014-12-15 21:14:58.817537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] mod_dptools.c:188 sofia/portaprod/27878881000@10.10.10.10 Digit match binding [exec:info][both] 2014-12-15 21:14:59.317537 [DEBUG] switch_core_session.c:1188 Send signal sofia/portaprod/27878881000@10.10.10.10 [BREAK]
So its finding a match, but the app to be executed never does so. If it had, I would have seen the above ‘info’ stuff printed to the console. I actually want the call transferred to another extension when the user enters ‘##’ - but that similarly does not happen. It seems I can’t get any action to actually be executed.
So what do I need to set first, such that the specified ‘action’ gets executed?
Hope someone can help me out here.
Looking at the code, I see that in mod_dptools.c there seems to be support for “blocking” and “non-blocking” execution modes. I figured out that to ‘activate’ the ’non-blocking mode the above action needs to change to: <action application="bind_digit_action" data="start_echo,##,exec[i]:info,both,self"/> [This sets ‘exec = 2’ such that ‘switch_core_session_execute_application’ is called - otherwise ‘switch_ivr_broadcast_in_thread’ is called.]
But when I try this, as soon as I send the ##, I get a core dump.
Regards
Keith
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Please file a lira for the crash you are getting. (test on master first to confirm we have not already fixed it please).
On Dec 16, 2014, at 4:17 AM, Keith Laaks <keith@laaks.com> wrote:
Hi Freeswitchers.
(Reposting under new thread - previous went to the wrong place.)
I am running "FreeSWITCH Version 1.5.15b+git~20141215T224714Z~0b414a8de8~64bit (git 0b414a8 2014-12-15 22:47:14Z 64bit)” - updated this morning.
I have the following actions in an extension being executed:
<action application="info"/> <action application="bind_digit_action" data="start_echo,##,exec:info,both,self"/> <action application="digit_action_set_realm" data="start_echo"/> <action application="delay_echo" data="10"/>
For the ‘info’ action at the top, I see the normal stuff printed in the console log: EXECUTE sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> info() 2014-12-15 20:52:06.137537 [INFO] mod_dptools.c:1647 CHANNEL_DATA: Channel-State: [CS_EXECUTE] Channel-Call-State: [ACTIVE] Channel-State-Number: [4] Channel-Name: [sofia/portaprod/27878881000@10.17.180.204 <mailto:sofia/portaprod/27878881000@10.17.180.204>] Unique-ID: [8218a229-562d-4706-85a2-988d2bae0041] <cut cut>
Then follows the ‘bind_digit_action’ and ‘digit_action_set_realm’ to bind ‘##’ to executing the ‘info’ app.
The ‘echo' application at the very bottom works as per normal and I get my audio echoed back.
When I send “#9” - I get this in the log: 2014-12-15 21:13:32.777537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:13:33.637537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF 9:800 2014-12-15 21:13:33.637537 [DEBUG] mod_dptools.c:132 sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> Digit NOT match binding [#9]
So all normal.
But here my issue.
When I send ‘##’ - I only see this in the log: 2014-12-15 21:14:58.817537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] mod_dptools.c:188 sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> Digit match binding [exec:info][both] 2014-12-15 21:14:59.317537 [DEBUG] switch_core_session.c:1188 Send signal sofia/portaprod/27878881000@10.10.10.10 <mailto:sofia/portaprod/27878881000@10.10.10.10> [BREAK]
So its finding a match, but the app to be executed never does so. If it had, I would have seen the above ‘info’ stuff printed to the console. I actually want the call transferred to another extension when the user enters ‘##’ - but that similarly does not happen. It seems I can’t get any action to actually be executed.
So what do I need to set first, such that the specified ‘action’ gets executed?
Hope someone can help me out here.
Looking at the code, I see that in mod_dptools.c there seems to be support for “blocking” and “non-blocking” execution modes. I figured out that to ‘activate’ the ’non-blocking mode the above action needs to change to: <action application="bind_digit_action" data="start_echo,##,exec[i]:info,both,self"/> [This sets ‘exec = 2’ such that ‘switch_core_session_execute_application’ is called - otherwise ‘switch_ivr_broadcast_in_thread’ is called.]
But when I try this, as soon as I send the ##, I get a core dump.
I'm not getting the crash, but I am getting the exec:info no-op, please file the JIRA. On Tue, Dec 16, 2014 at 11:37 AM, Michael Jerris <mike@jerris.com> wrote:
Please file a lira for the crash you are getting. (test on master first to confirm we have not already fixed it please).
On Dec 16, 2014, at 4:17 AM, Keith Laaks <keith@laaks.com> wrote:
Hi Freeswitchers.
(Reposting under new thread - previous went to the wrong place.)
I am running "FreeSWITCH Version 1.5.15b+git~20141215T224714Z~0b414a8de8~64bit (git 0b414a8 2014-12-15 22:47:14Z 64bit)” - updated this morning.
I have the following actions in an extension being executed:
<action application="info"/> <action application="bind_digit_action" data="start_echo,##,exec:info,both,self"/> <action application="digit_action_set_realm" data="start_echo"/> <action application="delay_echo" data="10"/>
For the ‘info’ action at the top, I see the normal stuff printed in the console log: EXECUTE sofia/portaprod/27878881000@10.10.10.10 info() 2014-12-15 20:52:06.137537 [INFO] mod_dptools.c:1647 CHANNEL_DATA: Channel-State: [CS_EXECUTE] Channel-Call-State: [ACTIVE] Channel-State-Number: [4] Channel-Name: [sofia/portaprod/27878881000@10.17.180.204] Unique-ID: [8218a229-562d-4706-85a2-988d2bae0041] <cut cut>
Then follows the ‘bind_digit_action’ and ‘digit_action_set_realm’ to bind ‘##’ to executing the ‘info’ app.
The ‘echo' application at the very bottom works as per normal and I get my audio echoed back.
When I send “#9” - I get this in the log: 2014-12-15 21:13:32.777537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:13:33.637537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF 9:800 2014-12-15 21:13:33.637537 [DEBUG] mod_dptools.c:132 sofia/portaprod/27878881000@10.10.10.10 Digit NOT match binding [#9]
So all normal.
But here my issue.
When I send ‘##’ - I only see this in the log: 2014-12-15 21:14:58.817537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] switch_rtp.c:6045 RTP RECV DTMF #:800 2014-12-15 21:14:59.317537 [DEBUG] mod_dptools.c:188 sofia/portaprod/27878881000@10.10.10.10 Digit match binding [exec:info][both] 2014-12-15 21:14:59.317537 [DEBUG] switch_core_session.c:1188 Send signal sofia/portaprod/27878881000@10.10.10.10 [BREAK]
So its finding a match, but the app to be executed never does so. If it had, I would have seen the above ‘info’ stuff printed to the console. I actually want the call transferred to another extension when the user enters ‘##’ - but that similarly does not happen. It seems I can’t get any action to actually be executed.
So what do I need to set first, such that the specified ‘action’ gets executed?
Hope someone can help me out here.
Looking at the code, I see that in mod_dptools.c there seems to be support for “blocking” and “non-blocking” execution modes. I figured out that to ‘activate’ the ’non-blocking mode the above action needs to change to: <action application="bind_digit_action" data="start_echo,##,exec[i]:info,both,self"/> [This sets ‘exec = 2’ such that ‘switch_core_session_execute_application’ is called - otherwise ‘switch_ivr_broadcast_in_thread’ is called.]
But when I try this, as soon as I send the ##, I get a core dump.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- *Brian West* brian@freeswitch.org *Twitter: @FreeSWITCH , @briankwest* http://www.freeswitchbook.com http://www.freeswitchcookbook.com *T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378) *iNUM:*+883 5100 1420 9001 | *ISN:*410*543 | *Skype:*briankwest
participants (4)
-
Brian West
-
Keith Laaks
-
Michael Jerris
-
Steven Ayre