[Freeswitch-users] bind_digit_action execute an extension on "peer" the peer target leg, eventhough it is set to "self"

julien terrasson julien.terrasson at gmail.com
Mon Jun 3 15:35:45 MSD 2013


Hi Michael,

This is what i'm trying to do :

Scenario 1 : When *calling party* press the "*" key, i want the *called
party* to execute "debug_bda" extension.
Scenario 2 : When *called party* press the "*" key, i want the *calling
party* to execute "debug_bda" extension.

debug_bda is simply displaying the uuid so i can check from the logs which
peer/party is executing the extension.

I'm using bind_digit_action to do that :

<action application="bind_digit_action" data="my_context,*,
exec:execute_extension,*debug_bda*,self,peer"/>
<action application="bind_digit_action" data="my_context,*,
exec:execute_extension,*debug_bd*a,peer,self"/>

Scenario 1 is working as i was expecting.
But in scenario 2, i can only get the *called party* to execute the
extension (debug infos are hereunder)..
I would like to understand why it doesn't work as expected..

NB : There was a copy/paste issue in my first previous which i corrected
(instead of debug_bda i copied/paste toggle_recording extension).

Regards,

Julien

*************************************************************************************************************************************************************************************
Maybe I'm the one missing something, but I didn't see a question. Can you
clarify what it is you are trying to do with bda and what information you
seek?

-MC

*************************************************************************************************************************************************************************************

On Sun, Jun 2, 2013 at 2:06 PM, julien terrasson <julien.terrasson at gmail.com
> wrote:

Hi,

Either there is something wrong in the way bind_digit_action works, either
i'm missing something..
Would be gratefull is somebody can have a look at the issue hereunder.

0/ Version :

FreeSWITCH Version 1.5.2b+git~20130527T075833Z~f3541e00f4 (git f3541e0
2013-05-27 07:58:33Z)

1/ This is what i defined in the default.xml dialplan

 <action application="bind_digit_action" data="my_context,*,
exec:execute_extension,*debug_bda*,self,peer"/>
 <action application="bind_digit_action" data="my_context,*,
exec:execute_extension,*debug_bd*a,peer,self"/>

Where debug_dba simply display the uuid of the session that is calling the
extension :

    <extension name="*debug_bda*">
        <condition field="destination_number" expression="^debug_bda">
            <action application="log" data="INFO debug_bind_digit_action is
called from uuid : ${uuid} !"/>
        </condition>
    </extension>

2/ After placing, bridging & answering the call, i get the following uuids :

caller uuid = 077a67ec-cbc5-11e2-b73b-85c636846b34
called uuid = 07803d02-cbc5-11e2-b750-85c636846b34

3/ Then if i test the script :

Pressing the "*" key on the caller leg, called uuid is display => TEST
OK(log hereunder)

freeswitch at debian> 2013-06-02 22:43:59.414932 [DEBUG] switch_rtp.c:4908 RTP
RECV DTMF *:800
2013-06-02 22:43:59.414932 [DEBUG] mod_dptools.c:186 sofia/external5090/
sip:1003 at 89.88.82.75:52810 Digit match binding
[exec:execute_extension][debug_bda]
2013-06-02 22:43:59.414932 [DEBUG] switch_core_session.c:1141 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:43:59.434933 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:43:59.554961 [DEBUG] switch_core_session.c:1141 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]
2013-06-02 22:43:59.574934 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]
2013-06-02 22:43:59.694963 [DEBUG] switch_ivr.c:612 sofia/external5090/
1001 at mydomain.no-ip.org Command Execute playback(local_stream://moh)
EXECUTE sofia/external5090/1001 at mydomain.no-ip.orgplayback(local_stream://moh)
2013-06-02 22:43:59.694963 [DEBUG] switch_ivr.c:612 sofia/external5090/
sip:1003 at 89.88.82.75:52810 Command Execute execute_extension(debug_bda)
EXECUTE sofia/external5090/sip:1003 at 89.88.82.75:52810execute_extension(debug_bda)
2013-06-02 22:43:59.694963 [DEBUG] mod_local_stream.c:479 Opening Stream
[moh/8000] 8000hz
2013-06-02 22:43:59.694963 [DEBUG] switch_ivr_play_say.c:1308 Codec
Activated L16 at 8000hz 1 channels 20ms
2013-06-02 22:43:59.694963 [INFO] mod_dialplan_xml.c:558 Processing 1001
<1001>->debug_bda in context default
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 parsing
[default->unloop] continue=false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (PASS)
[unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (FAIL)
[unloop] ${sip_looped_call}() =~ /^true$/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 parsing
[default->Local_Extension] continue=false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (FAIL)
[Local_Extension] destination_number(debug_bda) =~ /^(1003)$/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 parsing
[default->debug_bda] continue=false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (PASS)
[debug_bda] destination_number(debug_bda) =~ /^debug_bda/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Action log(INFO
debug_bind_digit_action is called from uuid : ${uuid} !)
2013-06-02 22:43:59.694963 [NOTICE] switch_core_session.c:2838 Execute
log(INFO debug_bind_digit_action is called from uuid : ${uuid} !)
EXECUTE sofia/external5090/sip:1003 at 89.88.82.75:52810 log(INFO
debug_bind_digit_action is called from uuid :
07803d02-cbc5-11e2-b750-85c636846b34 !)
2013-06-02 22:43:59.694963 [INFO] mod_dptools.c:1539
debug_bind_digit_action is called from uuid :
07803d02-cbc5-11e2-b750-85c636846b34 !
2013-06-02 22:43:59.714996 [DEBUG] switch_ivr_play_say.c:1694 done playing
file local_stream://moh
2013-06-02 22:43:59.714996 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]
2013-06-02 22:43:59.714996 [DEBUG] switch_ivr_bridge.c:349 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:43:59.714996 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:43:59.714996 [DEBUG] switch_ivr_bridge.c:349 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]


Pressing the "*" key on the called leg, called uuid is display => TEST
FAILED (log hereunder)


freeswitch at debian> 2013-06-02 22:44:19.754933 [DEBUG] switch_rtp.c:4908 RTP
RECV DTMF *:1280
2013-06-02 22:44:19.754933 [DEBUG] switch_channel.c:419 RECV DTMF *:1280
2013-06-02 22:44:19.754933 [DEBUG] mod_dptools.c:186 sofia/external5090/
sip:1003 at 89.88.82.75:52810 Digit match binding
[exec:execute_extension][debug_bda]
2013-06-02 22:44:19.754933 [DEBUG] switch_ivr_bridge.c:419 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]
2013-06-02 22:44:19.754933 [DEBUG] switch_core_session.c:1141 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:44:19.774938 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:44:19.894950 [DEBUG] switch_core_session.c:1141 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]
2013-06-02 22:44:19.914960 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]
2013-06-02 22:44:20.034916 [DEBUG] switch_ivr.c:612 sofia/external5090/
1001 at mydomain.no-ip.org Command Execute playback(local_stream://moh)
EXECUTE sofia/external5090/1001 at mydomain.no-ip.orgplayback(local_stream://moh)
2013-06-02 22:44:20.034916 [DEBUG] switch_ivr.c:612 sofia/external5090/
sip:1003 at 89.88.82.75:52810 Command Execute execute_extension(debug_bda)
EXECUTE sofia/external5090/sip:1003 at 89.88.82.75:52810execute_extension(debug_bda)
2013-06-02 22:44:20.034916 [DEBUG] mod_local_stream.c:479 Opening Stream
[moh/8000] 8000hz
2013-06-02 22:44:20.034916 [DEBUG] switch_ivr_play_say.c:1308 Codec
Activated L16 at 8000hz 1 channels 20ms
2013-06-02 22:44:20.034916 [INFO] mod_dialplan_xml.c:558 Processing 1001
<1001>->debug_bda in context default
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 parsing
[default->unloop] continue=false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (PASS)
[unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (FAIL)
[unloop] ${sip_looped_call}() =~ /^true$/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 parsing
[default->Local_Extension] continue=false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (FAIL)
[Local_Extension] destination_number(debug_bda) =~ /^(1003)$/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 parsing
[default->debug_bda] continue=false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Regex (PASS)
[debug_bda] destination_number(debug_bda) =~ /^debug_bda/ break=on-false
Dialplan: sofia/external5090/sip:1003 at 89.88.82.75:52810 Action log(INFO
debug_bind_digit_action is called from uuid : ${uuid} !)
2013-06-02 22:44:20.034916 [NOTICE] switch_core_session.c:2838 Execute
log(INFO debug_bind_digit_action is called from uuid : ${uuid} !)
EXECUTE sofia/external5090/sip:1003 at 89.88.82.75:52810 log(INFO
debug_bind_digit_action is called from uuid :
07803d02-cbc5-11e2-b750-85c636846b34 !)
2013-06-02 22:44:20.034916 [INFO] mod_dptools.c:1539
debug_bind_digit_action is called from uuid :
07803d02-cbc5-11e2-b750-85c636846b34 !
2013-06-02 22:44:20.054921 [DEBUG] switch_ivr_play_say.c:1694 done playing
file local_stream://moh
2013-06-02 22:44:20.054921 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]
2013-06-02 22:44:20.054921 [DEBUG] switch_ivr_bridge.c:349 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:44:20.054921 [DEBUG] switch_core_session.c:861 Send signal
sofia/external5090/sip:1003 at 89.88.82.75:52810 [BREAK]
2013-06-02 22:44:20.054921 [DEBUG] switch_ivr_bridge.c:349 Send signal
sofia/external5090/1001 at mydomain.no-ip.org [BREAK]

Thanks for your help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130603/31dabf77/attachment-0001.html 


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