How to answer USER_BUSY on NO_USER_RESPONSE?
I have the folowing scenario: A Snom phone has activated DND (do not disturb) When the phone is called, it returns "480 Do Not Disturb" and then "404 Not Found". Freeswitch then announces NO_USER_RESPONSE to the caller (PSTN). The PSTN then (wrongly) announces "this number is not listed". My question: How can we overcome this and announce back a different message to PSTN, but only on NO_USER_RESPONSE. I tried to continue on bridge and then this after the bridge command the following: <condition field="variable_originate_disposition" expression="NO_USER_RESPONSE" inline="true"> <action application="hangup" data="USER_BUSY"/> </condition> But the installed Freeswith does not support the "inline" yet and we will not be able to update Freeswitch soon. So my question: Is there any other way to achieve this? Best regards Peter
Hi, Don't know if it helps, but the inline attribute can only be set on actions, not on conditions. Also, the hangup application is not allowed to be run inline: http://fisheye.freeswitch.org/browse/FreeSWITCH/src/mod/applications/mod_dpt... (it has no SAF_ROUTING_EXEC flag) Perhaps you can try to transfer to another context directly after your bridge ? (where that second context contains an extension with conditions matching on variable_originate_disposition) kind regards, Leon On Mar 16, 2010, at 12:55 PM, Peter P GMX wrote:
I have the folowing scenario: A Snom phone has activated DND (do not disturb) When the phone is called, it returns "480 Do Not Disturb" and then "404 Not Found". Freeswitch then announces NO_USER_RESPONSE to the caller (PSTN). The PSTN then (wrongly) announces "this number is not listed".
My question: How can we overcome this and announce back a different message to PSTN, but only on NO_USER_RESPONSE. I tried to continue on bridge and then this after the bridge command the following: <condition field="variable_originate_disposition" expression="NO_USER_RESPONSE" inline="true"> <action application="hangup" data="USER_BUSY"/> </condition>
But the installed Freeswith does not support the "inline" yet and we will not be able to update Freeswitch soon.
So my question: Is there any other way to achieve this?
Best regards Peter
_______________________________________________ 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
I tried this, but only with half success after the phones responds with "do not disturb" (Variables from Info application variable_proto_specific_hangup_cause: [sip:480] variable_sip_hangup_phrase: [Do Not Disturb]) I do process the following: <action application="bridge" data="loopback/hangup_causes_${sip_hangup_phrase}"/> In the following dialplan I process: <extension name="hangup-causes"> <action application="info" data=""/> <condition field="destination_number" expression="hangup_causes_Do Not Disturb"> <action application="sleep" data="1000"/> <action application="set" data="sip_ignore_remote_cause=true"/> <!-- <action application="respond" data="486"/> --> <action application="hangup" data="USER_BUSY"/> </condition> </extension> Freeswitch sends a 480 Message with Reason: Q.850;cause=17;text="USER_BUSY" This is a first step, but I need a 486 message as the PSTN still reponds "temporary unavailable" instead of "busy". Also "respond" with "486" does not work, as commented in the dialplan. It seems that the 480 message cannot be overriden in this case. Freeswitch insists on using 480 mod_sofia.c:352 sofia/internal/203@mydomain Overriding SIP cause 486 with 480 from the other leg Any other idea to achieve a 486 message? Best regards Peter Leon de Rooij schrieb:
Hi,
Don't know if it helps, but the inline attribute can only be set on actions, not on conditions.
Also, the hangup application is not allowed to be run inline: http://fisheye.freeswitch.org/browse/FreeSWITCH/src/mod/applications/mod_dpt... (it has no SAF_ROUTING_EXEC flag)
Perhaps you can try to transfer to another context directly after your bridge ? (where that second context contains an extension with conditions matching on variable_originate_disposition)
kind regards,
Leon
On Mar 16, 2010, at 12:55 PM, Peter P GMX wrote:
I have the folowing scenario: A Snom phone has activated DND (do not disturb) When the phone is called, it returns "480 Do Not Disturb" and then "404 Not Found". Freeswitch then announces NO_USER_RESPONSE to the caller (PSTN). The PSTN then (wrongly) announces "this number is not listed".
My question: How can we overcome this and announce back a different message to PSTN, but only on NO_USER_RESPONSE. I tried to continue on bridge and then this after the bridge command the following: <condition field="variable_originate_disposition" expression="NO_USER_RESPONSE" inline="true"> <action application="hangup" data="USER_BUSY"/> </condition>
But the installed Freeswith does not support the "inline" yet and we will not be able to update Freeswitch soon.
So my question: Is there any other way to achieve this?
Best regards Peter
_______________________________________________ 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
_______________________________________________ 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
Nobody has an idea how to force the 486 SIP message? Best regards Peter Peter P GMX schrieb am 22.03.2010:
I tried this, but only with half success
after the phones responds with "do not disturb" (Variables from Info application variable_proto_specific_hangup_cause: [sip:480] variable_sip_hangup_phrase: [Do Not Disturb])
I do process the following: <action application="bridge" data="loopback/hangup_causes_${sip_hangup_phrase}"/>
In the following dialplan I process: <extension name="hangup-causes"> <action application="info" data=""/> <condition field="destination_number" expression="hangup_causes_Do Not Disturb"> <action application="sleep" data="1000"/> <action application="set" data="sip_ignore_remote_cause=true"/> <!-- <action application="respond" data="486"/> --> <action application="hangup" data="USER_BUSY"/> </condition> </extension> Freeswitch sends a 480 Message with Reason: Q.850;cause=17;text="USER_BUSY"
This is a first step, but I need a 486 message as the PSTN still reponds "temporary unavailable" instead of "busy". Also "respond" with "486" does not work, as commented in the dialplan.
It seems that the 480 message cannot be overriden in this case. Freeswitch insists on using 480 mod_sofia.c:352 sofia/internal/203@mydomain Overriding SIP cause 486 with 480 from the other leg
Any other idea to achieve a 486 message?
Best regards Peter
Leon de Rooij schrieb:
Hi,
Don't know if it helps, but the inline attribute can only be set on actions, not on conditions.
Also, the hangup application is not allowed to be run inline: http://fisheye.freeswitch.org/browse/FreeSWITCH/src/mod/applications/mod_dpt... (it has no SAF_ROUTING_EXEC flag)
Perhaps you can try to transfer to another context directly after your bridge ? (where that second context contains an extension with conditions matching on variable_originate_disposition)
kind regards,
Leon
On Mar 16, 2010, at 12:55 PM, Peter P GMX wrote:
I have the folowing scenario: A Snom phone has activated DND (do not disturb) When the phone is called, it returns "480 Do Not Disturb" and then "404 Not Found". Freeswitch then announces NO_USER_RESPONSE to the caller (PSTN). The PSTN then (wrongly) announces "this number is not listed".
My question: How can we overcome this and announce back a different message to PSTN, but only on NO_USER_RESPONSE. I tried to continue on bridge and then this after the bridge command the following: <condition field="variable_originate_disposition" expression="NO_USER_RESPONSE" inline="true"> <action application="hangup" data="USER_BUSY"/> </condition>
But the installed Freeswith does not support the "inline" yet and we will not be able to update Freeswitch soon.
So my question: Is there any other way to achieve this?
Best regards Peter
_______________________________________________ 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
_______________________________________________ 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
_______________________________________________ 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
Peter, I had a similar issue and I did the following in my dialplan: <extension name="from_provider_to_internal_switch"> <condition field="destination_number" expression="^(\d{10})$"> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="continue_on_fail=21"/> <action application="bridge" data="{sip_cid_type=none}sofia/ gateway/otherswitch/$1"/> <action application="transfer" data="603to486"/> </condition> </extension> <extension name="603to486"> <condition field="${proto_specific_hangup_cause}" expression="sip:603 "> <action application="set" data="sip_ignore_remote_cause=true"/> <action application="respond" data="486"/> <action application="hangup" data="USER_BUSY"/> </condition> </extension> You would have to replace 21 by what the q850 code FS gets from the phone, or true, and 603 by 480. It's probably not the best way to do it. A LUA script would be nicer. 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 26/03/2010 à 15:36, Peter P GMX a écrit :
Nobody has an idea how to force the 486 SIP message?
Best regards Peter
Peter P GMX schrieb am 22.03.2010:
I tried this, but only with half success
after the phones responds with "do not disturb" (Variables from Info application variable_proto_specific_hangup_cause: [sip:480] variable_sip_hangup_phrase: [Do Not Disturb])
I do process the following: <action application="bridge" data="loopback/hangup_causes_${sip_hangup_phrase}"/>
In the following dialplan I process: <extension name="hangup-causes"> <action application="info" data=""/> <condition field="destination_number" expression="hangup_causes_Do Not Disturb"> <action application="sleep" data="1000"/> <action application="set" data="sip_ignore_remote_cause=true"/> <!-- <action application="respond" data="486"/> --> <action application="hangup" data="USER_BUSY"/> </condition> </extension> Freeswitch sends a 480 Message with Reason: Q.850;cause=17;text="USER_BUSY"
This is a first step, but I need a 486 message as the PSTN still reponds "temporary unavailable" instead of "busy". Also "respond" with "486" does not work, as commented in the dialplan.
It seems that the 480 message cannot be overriden in this case. Freeswitch insists on using 480 mod_sofia.c:352 sofia/internal/203@mydomain Overriding SIP cause 486 with 480 from the other leg
Any other idea to achieve a 486 message?
Best regards Peter
Leon de Rooij schrieb:
Hi,
Don't know if it helps, but the inline attribute can only be set on actions, not on conditions.
Also, the hangup application is not allowed to be run inline: http://fisheye.freeswitch.org/browse/FreeSWITCH/src/mod/applications/mod_dpt... (it has no SAF_ROUTING_EXEC flag)
Perhaps you can try to transfer to another context directly after your bridge ? (where that second context contains an extension with conditions matching on variable_originate_disposition)
kind regards,
Leon
On Mar 16, 2010, at 12:55 PM, Peter P GMX wrote:
I have the folowing scenario: A Snom phone has activated DND (do not disturb) When the phone is called, it returns "480 Do Not Disturb" and then "404 Not Found". Freeswitch then announces NO_USER_RESPONSE to the caller (PSTN). The PSTN then (wrongly) announces "this number is not listed".
My question: How can we overcome this and announce back a different message to PSTN, but only on NO_USER_RESPONSE. I tried to continue on bridge and then this after the bridge command the following: <condition field="variable_originate_disposition" expression="NO_USER_RESPONSE" inline="true"> <action application="hangup" data="USER_BUSY"/> </condition>
But the installed Freeswith does not support the "inline" yet and we will not be able to update Freeswitch soon.
So my question: Is there any other way to achieve this?
Best regards Peter
participants (4)
-
Brian West
-
David Ponzone
-
Leon de Rooij
-
Peter P GMX