During the configuration of an ivr menu and test i just realized that if you have multiple actions with the same "digits" it executes the both actions. The execution of the multiple actions is normal? The normal behavior should executed only the action that is match first, reading the priority of the entries in the menu. I look at the code, and in the function, switch_ivr_menu_execute, looks like the loop that searches for the match/action should need a break after a success match, to avoid the continues search for other matches. Thanks, António /* configuration */ <menu name="ivr" greet-long="/home/system/telephony/sounds/buraka.mp3" exit-sound="/home/system/telephony/sounds/prompt/en/conf-invalid.gsm" timeout ="2000" inter-digit-timeout="2000" max-failures="10" digit-len="4"
<entry action="menu-exec-app" digits="/^(10[0-9])$/" param="transfer $1 XML local"/> <entry action="menu-exec-app" digits="9" param="transfer 9 XML ivr-[1]"/> <entry action="menu-exec-app" digits="9" param="transfer 8 XML ivr-[1]"/> </menu> /* some log from fs */ 2010-08-24 17:07:47.888057 [DEBUG] switch_ivr_menu.c:777 building menu 'ivr' 2010-08-24 17:07:47.888057 [DEBUG] switch_ivr_menu.c:838 binding menu action 'menu-exec-app' to '/^(10[0-9])$/' 2010-08-24 17:07:47.888057 [DEBUG] switch_ivr_menu.c:838 binding menu action 'menu-exec-app' to '9' 2010-08-24 17:07:47.888057 [DEBUG] switch_ivr_menu.c:838 binding menu action 'menu-exec-app' to '9' 2010-08-24 17:07:47.888057 [DEBUG] switch_ivr_menu.c:414 Executing IVR menu ivr 2010-08-24 17:07:52.616160 [DEBUG] switch_rtp.c:2892 RTP RECV DTMF 9:480 2010-08-24 17:07:52.617160 [DEBUG] switch_ivr_play_say.c:1468 done playing file 2010-08-24 17:07:52.617160 [DEBUG] switch_ivr_menu.c:329 waiting for 3/4 digits t/o 2000 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr_menu.c:376 digits '9' 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr_menu.c:488 IVR action on menu 'ivr' matched '9' param 'transfer 8 XML ivr-[1]' 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr_menu.c:492 switch_ivr_menu_execute todo=[2] EXECUTE sofia/192.168.10.25/101@192.168.10.25 transfer(8 XML ivr-[1]) 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr.c:1470 (sofia/192.168.10.25/101@192.168.10.25) State Change CS_EXECUTE -> CS_ROUTING 2010-08-24 17:07:54.635190 [DEBUG] switch_core_session.c:1039 Send signal sofia/192.168.10.25/101@192.168.10.25 [BREAK] 2010-08-24 17:07:54.635190 [DEBUG] switch_core_session.c:658 Send signal sofia/192.168.10.25/101@192.168.10.25 [BREAK] 2010-08-24 17:07:54.635190 [NOTICE] switch_ivr.c:1476 Transfer sofia/192.168.10.25/101@192.168.10.25 to XML[8@ivr-[1]] 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr_menu.c:488 IVR action on menu 'ivr' matched '9' param 'transfer 9 XML ivr-[1]' 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr_menu.c:492 switch_ivr_menu_execute todo=[2] EXECUTE sofia/192.168.10.25/101@192.168.10.25 transfer(9 XML ivr-[1]) 2010-08-24 17:07:54.635190 [DEBUG] switch_core_session.c:658 Send signal sofia/192.168.10.25/101@192.168.10.25 [BREAK] 2010-08-24 17:07:54.635190 [NOTICE] switch_ivr.c:1476 Transfer sofia/192.168.10.25/101@192.168.10.25 to XML[9@ivr-[1]] 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr_menu.c:470 action regex [9] [/^(10[0-9])$/] [0] 2010-08-24 17:07:54.635190 [DEBUG] switch_ivr_menu.c:580 exit-sound '/home/system/telephony/sounds/prompt/en/conf-invalid.gsm' 2010-08-24 17:07:54.635190 [DEBUG] switch_core_state_machine.c:348 (sofia/192.168.10.25/101@192.168.10.25) State EXECUTE going to sleep 2010-08-24 17:07:54.635190 [DEBUG] switch_core_state_machine.c:314 (sofia/192.168.10.25/101@192.168.10.25) Running State Change CS_ROUTING 2010-08-24 17:07:54.635190 [DEBUG] switch_channel.c:1512 (sofia/192.168.10.25/101@192.168.10.25) Callstate Change ACTIVE -> RINGING 2010-08-24 17:07:54.635190 [DEBUG] switch_core_state_machine.c:341 (sofia/192.168.10.25/101@192.168.10.25) State ROUTING 2010-08-24 17:07:54.635190 [DEBUG] mod_sofia.c:142 sofia/192.168.10.25/101@192.168.10.25 SOFIA ROUTING 2010-08-24 17:07:54.635190 [DEBUG] switch_core_state_machine.c:77 sofia/192.168.10.25/101@192.168.10.25 Standard ROUTING 2010-08-24 17:07:54.635190 [INFO] mod_dialplan_xml.c:331 Processing 101->9 in context ivr-[1]