How to configure for FS playing voice prompt in case the called extension is in a call.
Hi Gurus, Could anyone advise how to realize have FS to play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call... the details is below, When calling to FS, the FS will play IVR "welcome to call us, please input the extension number, for operator please press 0", then the caller input the extension number, in case the extension is in a call, the caller will hear busy tone... it needs the system play "the extension you dailed is busy, please dial the other extension", currently my dial plan as following, could anyone advise how to change based on below dial plan or any other new dail plan can realize it... Thanks a lot! <extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/> <!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=false"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/> <action application="sleep" data="1000"/> <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/> </condition> </extension> <extension name="IVR" > <condition field="destination_number" expression="^888$"> <action application="answer"/> <action application="sleep" data="2000"/> <action application="ivr" data="IVR"/> </condition> </extension> <!-- --> <menu name="IVR" greet-long="C:/VSWITCH/recordings/greeting_tts.wav" greet-short="C:/VSWITCH/recordings/greeting_tts.wav" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="5"> <entry action="menu-exec-app" digits="/(^\*\d{3,5}$|^\d{3,5}$)/" param="transfer $1 XML default"/> </menu> Regards, Charles
There are two ways.... Most phones will return a USER_BUSY release code if you bridge to a phone that's busy. If the phone does then you can continue_on_fail so that you (pre-)answer the call and play that message after the bridge. Something like: <extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/> <!-- Hangup on successful call --> <action application="set" data="continue_on_fail=true"/> <!-- Don't hangup on failed call, continue to IVR prompt --> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="user/${dialed_extension}%${domain_name}"/> <!-- Put the IVR prompt here, see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_get_digits --> </condition> </extension> The 2nd option is that you use Limit to determine if another person is already on a call to the phone. That only really works if you run the the only servers that call the phone since it requires tracking all calls to the phone. It will sometimes work better though - especially if the phone has multiple lines. http://wiki.freeswitch.org/wiki/Limit -Steve On 11 July 2011 03:25, fieldpeak <fieldpeak@gmail.com> wrote:
Hi Gurus,
Could anyone advise how to realize have FS to play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call...
the details is below,
When calling to FS, the FS will play IVR "welcome to call us, please input the extension number, for operator please press 0", then the caller input the extension number, in case the extension is in a call, the caller will hear busy tone... it needs the system play "the extension you dailed is busy, please dial the other extension", currently my dial plan as following, could anyone advise how to change based on below dial plan or any other new dail plan can realize it...
Thanks a lot!
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=false"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/> </condition> </extension>
<extension name="IVR" > <condition field="destination_number" expression="^888$"> <action application="answer"/> <action application="sleep" data="2000"/> <action application="ivr" data="IVR"/> </condition> </extension>
<!-- --> <menu name="IVR" greet-long="C:/VSWITCH/recordings/greeting_tts.wav" greet-short="C:/VSWITCH/recordings/greeting_tts.wav" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="5"> <entry action="menu-exec-app" digits="/(^\*\d{3,5}$|^\d{3,5}$)/" param="transfer $1 XML default"/> </menu>
Regards, Charles
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
Hi Steve, Thanks for your kindly help, it works with below dial plan... However, for both user busy or no answer, it played the voice prompt... i would like it only prompts in case user busy but not no answer, although i configured the "failure_causes=USER_BUSY" as below dialplan, it looks not help...attached is a log... <extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="failure_causes=USER_BUSY"/> <action application="set" data="hangup_after_bridge=true"/> <!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=true"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/> <action application="sleep" data="1000"/> <!-- play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call... --> <action application="play_and_get_digits" data="2 5 3 4000 # $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav /invalid.wav other_ext_var \d+"/> <action application="transfer" data="${other_ext_var} XML default"/> </condition> </extension> Regards, Charles 2011/7/11 Steven Ayre <steveayre@gmail.com>
There are two ways....
Most phones will return a USER_BUSY release code if you bridge to a phone that's busy. If the phone does then you can continue_on_fail so that you (pre-)answer the call and play that message after the bridge. Something like:
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/> <!-- Hangup on successful call --> <action application="set" data="continue_on_fail=true"/> <!-- Don't hangup on failed call, continue to IVR prompt -->
<action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="user/${dialed_extension}%${domain_name}"/> <!-- Put the IVR prompt here, see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_get_digits--> </condition> </extension>
The 2nd option is that you use Limit to determine if another person is already on a call to the phone. That only really works if you run the the only servers that call the phone since it requires tracking all calls to the phone. It will sometimes work better though - especially if the phone has multiple lines. http://wiki.freeswitch.org/wiki/Limit
-Steve
On 11 July 2011 03:25, fieldpeak <fieldpeak@gmail.com> wrote:
Hi Gurus,
Could anyone advise how to realize have FS to play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call...
the details is below,
When calling to FS, the FS will play IVR "welcome to call us, please input the extension number, for operator please press 0", then the caller input the extension number, in case the extension is in a call, the caller will hear busy tone... it needs the system play "the extension you dailed is busy, please dial the other extension", currently my dial plan as following, could anyone advise how to change based on below dial plan or any other new dail plan can realize it...
Thanks a lot!
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=false"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/> </condition> </extension>
<extension name="IVR" > <condition field="destination_number" expression="^888$"> <action application="answer"/> <action application="sleep" data="2000"/> <action application="ivr" data="IVR"/> </condition> </extension>
<!-- --> <menu name="IVR" greet-long="C:/VSWITCH/recordings/greeting_tts.wav" greet-short="C:/VSWITCH/recordings/greeting_tts.wav" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="5"> <entry action="menu-exec-app" digits="/(^\*\d{3,5}$|^\d{3,5}$)/" param="transfer $1 XML default"/> </menu>
Regards, Charles
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
Check what your phone sends back when busy. David Ponzone Direction Technique email: david.ponzone@ipeva.fr tel: 01 74 03 18 97 gsm: 06 66 98 76 34 Service Client IPeva tel: 0811 46 26 26 www.ipeva.fr - www.ipeva-studio.com Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. IPeva décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur. Le 12/07/2011 à 10:31, fieldpeak a écrit :
Hi Steve,
Thanks for your kindly help, it works with below dial plan... However, for both user busy or no answer, it played the voice prompt... i would like it only prompts in case user busy but not no answer, although i configured the "failure_causes=USER_BUSY" as below dialplan, it looks not help...attached is a log...
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/>
<action application="set" data="failure_causes=USER_BUSY"/>
<action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=true"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <!-- play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call... --> <action application="play_and_get_digits" data="2 5 3 4000 # $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav /invalid.wav other_ext_var \d+"/> <action application="transfer" data="${other_ext_var} XML default"/>
</condition> </extension>
Regards, Charles
2011/7/11 Steven Ayre <steveayre@gmail.com> There are two ways....
Most phones will return a USER_BUSY release code if you bridge to a phone that's busy. If the phone does then you can continue_on_fail so that you (pre-)answer the call and play that message after the bridge. Something like: <extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/> <!-- Hangup on successful call --> <action application="set" data="continue_on_fail=true"/> <!-- Don't hangup on failed call, continue to IVR prompt -->
<action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="user/${dialed_extension}%${domain_name}"/> <!-- Put the IVR prompt here, see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_get_digits --> </condition> </extension> The 2nd option is that you use Limit to determine if another person is already on a call to the phone. That only really works if you run the the only servers that call the phone since it requires tracking all calls to the phone. It will sometimes work better though - especially if the phone has multiple lines. http://wiki.freeswitch.org/wiki/Limit
-Steve
On 11 July 2011 03:25, fieldpeak <fieldpeak@gmail.com> wrote: Hi Gurus,
Could anyone advise how to realize have FS to play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call...
the details is below,
When calling to FS, the FS will play IVR "welcome to call us, please input the extension number, for operator please press 0", then the caller input the extension number, in case the extension is in a call, the caller will hear busy tone... it needs the system play "the extension you dailed is busy, please dial the other extension", currently my dial plan as following, could anyone advise how to change based on below dial plan or any other new dail plan can realize it...
Thanks a lot!
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=false"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/> </condition> </extension>
<extension name="IVR" > <condition field="destination_number" expression="^888$"> <action application="answer"/> <action application="sleep" data="2000"/> <action application="ivr" data="IVR"/> </condition> </extension>
<!-- --> <menu name="IVR" greet-long="C:/VSWITCH/recordings/greeting_tts.wav" greet-short="C:/VSWITCH/recordings/greeting_tts.wav" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="5"> <entry action="menu-exec-app" digits="/(^\*\d{3,5}$|^\d{3,5}$)/" param="transfer $1 XML default"/> </menu>
Regards, Charles
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
<log_no_answer.txt>_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
My phone sends back '486 Busy Here'. 2011/7/12 David Ponzone <david.ponzone@ipeva.fr>
Check what your phone sends back when busy.
David Ponzone Direction Technique email: david.ponzone@ipeva.fr tel: 01 74 03 18 97 gsm: 06 66 98 76 34
Service Client IPeva tel: 0811 46 26 26 www.ipeva.fr - www.ipeva-studio.com
*Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. **IPeva** décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.* * *
Le 12/07/2011 à 10:31, fieldpeak a écrit :
Hi Steve,
Thanks for your kindly help, it works with below dial plan... However, for both user busy or no answer, it played the voice prompt... i would like it only prompts in case user busy but not no answer, although i configured the "failure_causes=USER_BUSY" as below dialplan, it looks not help...attached is a log...
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/>
<action application="set" data="failure_causes=USER_BUSY"/>
<action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=true"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <!-- play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call... --> <action application="play_and_get_digits" data="2 5 3 4000 # $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav /invalid.wav other_ext_var \d+"/> <action application="transfer" data="${other_ext_var} XML default"/>
</condition> </extension>
Regards, Charles
2011/7/11 Steven Ayre <steveayre@gmail.com>
There are two ways....
Most phones will return a USER_BUSY release code if you bridge to a phone that's busy. If the phone does then you can continue_on_fail so that you (pre-)answer the call and play that message after the bridge. Something like:
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/> <!-- Hangup on successful call --> <action application="set" data="continue_on_fail=true"/> <!-- Don't hangup on failed call, continue to IVR prompt -->
<action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="user/${dialed_extension}%${domain_name}"/> <!-- Put the IVR prompt here, see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_get_digits--> </condition> </extension>
The 2nd option is that you use Limit to determine if another person is already on a call to the phone. That only really works if you run the the only servers that call the phone since it requires tracking all calls to the phone. It will sometimes work better though - especially if the phone has multiple lines. http://wiki.freeswitch.org/wiki/Limit
-Steve
On 11 July 2011 03:25, fieldpeak <fieldpeak@gmail.com> wrote:
Hi Gurus,
Could anyone advise how to realize have FS to play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call...
the details is below,
When calling to FS, the FS will play IVR "welcome to call us, please input the extension number, for operator please press 0", then the caller input the extension number, in case the extension is in a call, the caller will hear busy tone... it needs the system play "the extension you dailed is busy, please dial the other extension", currently my dial plan as following, could anyone advise how to change based on below dial plan or any other new dail plan can realize it...
Thanks a lot!
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=false"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/> </condition> </extension>
<extension name="IVR" > <condition field="destination_number" expression="^888$"> <action application="answer"/> <action application="sleep" data="2000"/> <action application="ivr" data="IVR"/> </condition> </extension>
<!-- --> <menu name="IVR" greet-long="C:/VSWITCH/recordings/greeting_tts.wav" greet-short="C:/VSWITCH/recordings/greeting_tts.wav" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="5"> <entry action="menu-exec-app" digits="/(^\*\d{3,5}$|^\d{3,5}$)/" param="transfer $1 XML default"/> </menu>
Regards, Charles
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
<log_no_answer.txt>_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
Charles, you need to read the wiki with care :) failure_causes Controls which failure causes will be considered as a failure to the bridge(s). This will change the values for which continue_on_fail will fail by default unless continue_on_fail is set to true. This means if you set continue_on_fail to true, failure_causes will be ignored. Remove: <action application="set" data="continue_on_fail=true"/> Or remove: <action application="set" data="failure_causes=USER_BUSY"/> and set: <action application="set" data="continue_on_fail=USER_BUSY"/> David Ponzone Direction Technique email: david.ponzone@ipeva.fr tel: 01 74 03 18 97 gsm: 06 66 98 76 34 Service Client IPeva tel: 0811 46 26 26 www.ipeva.fr - www.ipeva-studio.com Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. IPeva décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur. Le 13/07/2011 à 12:06, fieldpeak a écrit :
My phone sends back '486 Busy Here'.
2011/7/12 David Ponzone <david.ponzone@ipeva.fr> Check what your phone sends back when busy.
David Ponzone Direction Technique email: david.ponzone@ipeva.fr tel: 01 74 03 18 97 gsm: 06 66 98 76 34
Service Client IPeva tel: 0811 46 26 26 www.ipeva.fr - www.ipeva-studio.com
Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. IPeva décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.
Le 12/07/2011 à 10:31, fieldpeak a écrit :
Hi Steve,
Thanks for your kindly help, it works with below dial plan... However, for both user busy or no answer, it played the voice prompt... i would like it only prompts in case user busy but not no answer, although i configured the "failure_causes=USER_BUSY" as below dialplan, it looks not help...attached is a log...
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/>
<action application="set" data="failure_causes=USER_BUSY"/>
<action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=true"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <!-- play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call... --> <action application="play_and_get_digits" data="2 5 3 4000 # $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav /invalid.wav other_ext_var \d+"/> <action application="transfer" data="${other_ext_var} XML default"/>
</condition> </extension>
Regards, Charles
2011/7/11 Steven Ayre <steveayre@gmail.com> There are two ways....
Most phones will return a USER_BUSY release code if you bridge to a phone that's busy. If the phone does then you can continue_on_fail so that you (pre-)answer the call and play that message after the bridge. Something like: <extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/> <!-- Hangup on successful call --> <action application="set" data="continue_on_fail=true"/> <!-- Don't hangup on failed call, continue to IVR prompt -->
<action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="user/${dialed_extension}%${domain_name}"/> <!-- Put the IVR prompt here, see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_get_digits --> </condition> </extension> The 2nd option is that you use Limit to determine if another person is already on a call to the phone. That only really works if you run the the only servers that call the phone since it requires tracking all calls to the phone. It will sometimes work better though - especially if the phone has multiple lines. http://wiki.freeswitch.org/wiki/Limit
-Steve
On 11 July 2011 03:25, fieldpeak <fieldpeak@gmail.com> wrote: Hi Gurus,
Could anyone advise how to realize have FS to play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call...
the details is below,
When calling to FS, the FS will play IVR "welcome to call us, please input the extension number, for operator please press 0", then the caller input the extension number, in case the extension is in a call, the caller will hear busy tone... it needs the system play "the extension you dailed is busy, please dial the other extension", currently my dial plan as following, could anyone advise how to change based on below dial plan or any other new dail plan can realize it...
Thanks a lot!
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=false"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/> </condition> </extension>
<extension name="IVR" > <condition field="destination_number" expression="^888$"> <action application="answer"/> <action application="sleep" data="2000"/> <action application="ivr" data="IVR"/> </condition> </extension>
<!-- --> <menu name="IVR" greet-long="C:/VSWITCH/recordings/greeting_tts.wav" greet-short="C:/VSWITCH/recordings/greeting_tts.wav" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="5"> <entry action="menu-exec-app" digits="/(^\*\d{3,5}$|^\d{3,5}$)/" param="transfer $1 XML default"/> </menu>
Regards, Charles
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
<log_no_answer.txt>_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
Hi David, It works well with your kindly advise... very appreciated for help! sure, i need more carefully read the wiki :) Regards, Charles 2011/7/14 David Ponzone <david.ponzone@ipeva.fr>
Charles,
you need to read the wiki with care :)
failure_causes <http://wiki.freeswitch.org/wiki/Variable_failure_causes> Controls which failure causes will be considered as a failure to the bridge(s). This will change the values for which continue_on_fail<http://wiki.freeswitch.org/wiki/Variable_continue_on_fail> will fail by default unless continue_on_fail<http://wiki.freeswitch.org/wiki/Variable_continue_on_fail> is set to true.
This means if you set continue_on_fail to true, failure_causes will be ignored.
Remove: <action application="set" data="continue_on_fail=true"/>
Or remove: <action application="set" data="failure_causes=USER_BUSY"/> and set: <action application="set" data="continue_on_fail=USER_BUSY"/>
David Ponzone Direction Technique email: david.ponzone@ipeva.fr tel: 01 74 03 18 97 gsm: 06 66 98 76 34
Service Client IPeva tel: 0811 46 26 26 www.ipeva.fr - www.ipeva-studio.com
*Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. **IPeva** décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.* * *
Le 13/07/2011 à 12:06, fieldpeak a écrit :
My phone sends back '486 Busy Here'.
2011/7/12 David Ponzone <david.ponzone@ipeva.fr>
Check what your phone sends back when busy.
David Ponzone Direction Technique email: david.ponzone@ipeva.fr tel: 01 74 03 18 97 gsm: 06 66 98 76 34
Service Client IPeva tel: 0811 46 26 26 www.ipeva.fr - www.ipeva-studio.com
*Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. **IPeva** décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.* * *
Le 12/07/2011 à 10:31, fieldpeak a écrit :
Hi Steve,
Thanks for your kindly help, it works with below dial plan... However, for both user busy or no answer, it played the voice prompt... i would like it only prompts in case user busy but not no answer, although i configured the "failure_causes=USER_BUSY" as below dialplan, it looks not help...attached is a log...
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/>
<action application="set" data="failure_causes=USER_BUSY"/>
<action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=true"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <!-- play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call... --> <action application="play_and_get_digits" data="2 5 3 4000 # $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav /invalid.wav other_ext_var \d+"/> <action application="transfer" data="${other_ext_var} XML default"/>
</condition> </extension>
Regards, Charles
2011/7/11 Steven Ayre <steveayre@gmail.com>
There are two ways....
Most phones will return a USER_BUSY release code if you bridge to a phone that's busy. If the phone does then you can continue_on_fail so that you (pre-)answer the call and play that message after the bridge. Something like:
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/> <!-- Hangup on successful call --> <action application="set" data="continue_on_fail=true"/> <!-- Don't hangup on failed call, continue to IVR prompt -->
<action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="user/${dialed_extension}%${domain_name}"/> <!-- Put the IVR prompt here, see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_get_digits--> </condition> </extension>
The 2nd option is that you use Limit to determine if another person is already on a call to the phone. That only really works if you run the the only servers that call the phone since it requires tracking all calls to the phone. It will sometimes work better though - especially if the phone has multiple lines. http://wiki.freeswitch.org/wiki/Limit
-Steve
On 11 July 2011 03:25, fieldpeak <fieldpeak@gmail.com> wrote:
Hi Gurus,
Could anyone advise how to realize have FS to play a voice prompt e.g. 'the extension you dialed is busy now, please dial the other exsention' to replacing busy tone when the called extension is in a call...
the details is below,
When calling to FS, the FS will play IVR "welcome to call us, please input the extension number, for operator please press 0", then the caller input the extension number, in case the extension is in a call, the caller will hear busy tone... it needs the system play "the extension you dailed is busy, please dial the other extension", currently my dial plan as following, could anyone advise how to change based on below dial plan or any other new dail plan can realize it...
Thanks a lot!
<extension name="Local_Extension"> <condition field="destination_number" expression="^(1\d{3})$"> <action application="set" data="dialed_extension=$1"/> <action application="export" data="dialed_extension=$1"/> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer_ringback=$${hold_music}"/> <action application="set" data="call_timeout=30"/> <action application="set" data="hangup_after_bridge=true"/>
<!-- to enable voice mail, set continue_on_fail=true below --> <action application="set" data="continue_on_fail=false"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/> <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/> <action application="bridge" data="sofia/internal/${dialed_extension}%${domain_name}"/> <action application="answer"/>
<action application="sleep" data="1000"/> <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/> </condition> </extension>
<extension name="IVR" > <condition field="destination_number" expression="^888$"> <action application="answer"/> <action application="sleep" data="2000"/> <action application="ivr" data="IVR"/> </condition> </extension>
<!-- --> <menu name="IVR" greet-long="C:/VSWITCH/recordings/greeting_tts.wav" greet-short="C:/VSWITCH/recordings/greeting_tts.wav" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="5"> <entry action="menu-exec-app" digits="/(^\*\d{3,5}$|^\d{3,5}$)/" param="transfer $1 XML default"/> </menu>
Regards, Charles
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
<log_no_answer.txt>_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
participants (3)
-
David Ponzone
-
fieldpeak
-
Steven Ayre