VoIP Mailing List Archives
Mailing list archives for the VoIP community |
|
View previous topic :: View next topic |
Author |
Message |
anatoliy at kounitskiy... Guest
|
Posted: Wed Aug 26, 2009 9:59 am Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
Hello everybody!
I have few questions about the att_xfer application. First, what i want
to accomplish is: user A calls user B, after that user B makes attended
transfer to user C.
In the dialplan i have:
<context name="vpbx">
<extension name="local_number">
...
<action application="bind_meta_app" data="1 b s
execute_extension::dx XML features"/>
<action application="bind_meta_app" data="2 b s
record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
<action application="bind_meta_app" data="3 b s
execute_extension::cf XML features"/>
<action application="bind_meta_app" data="4 b s
execute_extension::attented_xfer XML features"/>
....
</condition>
</extension>
So when user B answers the call, he sends *4 and the extensions for the
attended transfer is started - the usual - plays message and read the
input dtmf:
features.xml
...
<extension name="attented_xfer">
<condition field="${toll_allow}" expression="local"/>
<condition field="destination_number" expression="^attented_xfer$">
<action application="info"/>
<action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
<action application="set" data="call_timeout=15"/>
<action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
</condition>
</extension>
...
To this problems everything is perfect. But here comes the questions, so
if you can give some tips would be great.
1) when user B enters the extension number of C - the C's phone starts
ringing in the tcpdump i can see that the phone is sending 180 ringing,
BUT user B does not hear the ringing.
2) as mentioned in the
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_att_xfer
quote: "If the other leg is a voicemail or doesn't answered you can
hangup that leg by pressing dtmf # (fixed in r14438) "
It doesn't work. The option 0 is working even before C answering the
phone - after he answers it's a threeway conference - i like this
feature.
I'm using FreeSWITCH Version 1.0.trunk (14633M)
Also I tried to set call timeout to see if I can go back the user A, who
is listening to MOH - no luck here.
Probably I'm missing something. Tried to look in the source of att_xfer
to understand why the feature i want is not working - but it seems my
C/C++ skills are not so good, as i want .
Thank you in advance,
Anatoliy Kounitskiy
_______________________________________________
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 |
|
Back to top |
|
|
anatoliy at kounitskiy... Guest
|
Posted: Wed Aug 26, 2009 1:38 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
After several hours of testing I was able to answer myself the
previous mentioned questions.
It appears that # and the 0 option work _only_ if user C has answered
the call OR voicemail system answers it.
user A ---call---> user B----attended xfer---> user C
At this point I have new question. In example user C does not have a
voicemail and the call timeout is not an option to wait for. How can
user B go back to the user A, who is listening to MOH?
Could someone help me with an advice/tip?
At the moment I have just one idea for accomplishing it:
1) try to use bind_meta_app in the extension with the att_xfer (not
sure if it can be done). To have a key feature that takes the user A
call leg id and bridging it with user B
Thank you in advnace,
Anatoliy Kounitskiy
On Wed, Aug 26, 2009 at 5:51 PM, Anatoliy
Kounitskiy<anatoliy@kounitskiy.com> wrote:
Quote: | Hello everybody!
I have few questions about the att_xfer application. First, what i want
to accomplish is: user A calls user B, after that user B makes attended
transfer to user C.
In the dialplan i have:
<context name="vpbx">
 <extension name="local_number">
...
   <action application="bind_meta_app" data="1 b s
execute_extension::dx XML features"/>
   <action application="bind_meta_app" data="2 b s
record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
   <action application="bind_meta_app" data="3 b s
execute_extension::cf XML features"/>
   <action application="bind_meta_app" data="4 b s
execute_extension::attented_xfer XML features"/>
 ....
  </condition>
 </extension>
So when user B answers the call, he sends *4 and the extensions for the
attended transfer is started - the usual - plays message and read the
input dtmf:
features.xml
...
  <extension name="attented_xfer">
   <condition field="${toll_allow}" expression="local"/>
   <condition field="destination_number" expression="^attented_xfer$">
    <action application="info"/>
    <action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
    <action application="set" data="call_timeout=15"/>
    <action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
   </condition>
  </extension>
...
To this problems everything is perfect. But here comes the questions, so
if you can give some tips would be great.
1) when user B enters the extension number of C - the C's phone starts
ringing in the tcpdump i can see that the phone is sending 180 ringing,
BUT user B does not hear the ringing.
2) as mentioned in the
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_att_xfer
quote: "If the other leg is a voicemail or doesn't answered you can
hangup that leg by pressing dtmf # (fixed in r14438) "
It doesn't work. The option 0 is working even before C answering the
phone - after he answers it's a threeway conference - i like this
feature.
I'm using FreeSWITCH Version 1.0.trunk (14633M)
Also I tried to set call timeout to see if I can go back the user A, who
is listening to MOH - no luck here.
Probably I'm missing something. Tried to look in the source of att_xfer
to understand why the feature i want is not working - but it seems my
C/C++ skills are not so good, as i want .
Thank you in advance,
Anatoliy Kounitskiy
|
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com
Mobile: +359898913540
_______________________________________________
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 |
|
Back to top |
|
|
anthony.minessale at g... Guest
|
Posted: Wed Aug 26, 2009 1:47 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
maybe we can make an origination_cancel_key=# you could set on the dial string to be able to cancel that originate with dtmf
On Wed, Aug 26, 2009 at 1:27 PM, Anatoliy Kounitskiy <anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
Quote: | After several hours of testing I was able to answer myself the
previous mentioned questions.
It appears that # and the 0 option work _only_ if user C has answered
the call OR voicemail system answers it.
user A ---call---> user B----attended xfer---> user C
At this point I have new question. In example user C does not have a
voicemail and the call timeout is not an option to wait for. How can
user B go back to the user A, who is listening to MOH?
Could someone help me with an advice/tip?
At the moment I have just one idea for accomplishing it:
1) try to use bind_meta_app in the extension with the att_xfer (not
sure if it can be done). To have a key feature that takes the user A
call leg id and bridging it with user B
Thank you in advnace,
Anatoliy Kounitskiy
On Wed, Aug 26, 2009 at 5:51 PM, Anatoliy
Kounitskiy<anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
Quote: | Hello everybody!
I have few questions about the att_xfer application. First, what i want
to accomplish is: user A calls user B, after that user B makes attended
transfer to user C.
In the dialplan i have:
<context name="vpbx">
<extension name="local_number">
...
<action application="bind_meta_app" data="1 b s
execute_extension::dx XML features"/>
<action application="bind_meta_app" data="2 b s
record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
<action application="bind_meta_app" data="3 b s
execute_extension::cf XML features"/>
<action application="bind_meta_app" data="4 b s
execute_extension::attented_xfer XML features"/>
....
</condition>
</extension>
So when user B answers the call, he sends *4 and the extensions for the
attended transfer is started - the usual - plays message and read the
input dtmf:
features.xml
...
<extension name="attented_xfer">
<condition field="${toll_allow}" expression="local"/>
<condition field="destination_number" expression="^attented_xfer$">
<action application="info"/>
<action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
<action application="set" data="call_timeout=15"/>
<action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
</condition>
</extension>
...
To this problems everything is perfect. But here comes the questions, so
if you can give some tips would be great.
1) when user B enters the extension number of C - the C's phone starts
ringing in the tcpdump i can see that the phone is sending 180 ringing,
BUT user B does not hear the ringing.
2) as mentioned in the
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_att_xfer
quote: "If the other leg is a voicemail or doesn't answered you can
hangup that leg by pressing dtmf # (fixed in r14438) "
It doesn't work. The option 0 is working even before C answering the
phone - after he answers it's a threeway conference - i like this
feature.
I'm using FreeSWITCH Version 1.0.trunk (14633M)
Also I tried to set call timeout to see if I can go back the user A, who
is listening to MOH - no luck here.
Probably I'm missing something. Tried to look in the source of att_xfer
to understand why the feature i want is not working - but it seems my
C/C++ skills are not so good, as i want .
Thank you in advance,
Anatoliy Kounitskiy
|
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)
Mobile: +359898913540
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org (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
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400 |
|
Back to top |
|
|
anthony.minessale at g... Guest
|
Posted: Wed Aug 26, 2009 3:08 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
i added a patch to attempt to do this so try adding
{origination_cancel_key=#} before the dial string
or
<action application="set" data="origination_cancel_key=#"/>
before you bridge.
On Wed, Aug 26, 2009 at 1:39 PM, Anthony Minessale <anthony.minessale@gmail.com (anthony.minessale@gmail.com)> wrote:
Quote: | maybe we can make an origination_cancel_key=# you could set on the dial string to be able to cancel that originate with dtmf
On Wed, Aug 26, 2009 at 1:27 PM, Anatoliy Kounitskiy <anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
Quote: | After several hours of testing I was able to answer myself the
previous mentioned questions.
It appears that # and the 0 option work _only_ if user C has answered
the call OR voicemail system answers it.
user A ---call---> user B----attended xfer---> user C
At this point I have new question. In example user C does not have a
voicemail and the call timeout is not an option to wait for. How can
user B go back to the user A, who is listening to MOH?
Could someone help me with an advice/tip?
At the moment I have just one idea for accomplishing it:
1) try to use bind_meta_app in the extension with the att_xfer (not
sure if it can be done). To have a key feature that takes the user A
call leg id and bridging it with user B
Thank you in advnace,
Anatoliy Kounitskiy
On Wed, Aug 26, 2009 at 5:51 PM, Anatoliy
Kounitskiy<anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
Quote: | Hello everybody!
I have few questions about the att_xfer application. First, what i want
to accomplish is: user A calls user B, after that user B makes attended
transfer to user C.
In the dialplan i have:
<context name="vpbx">
<extension name="local_number">
...
<action application="bind_meta_app" data="1 b s
execute_extension::dx XML features"/>
<action application="bind_meta_app" data="2 b s
record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
<action application="bind_meta_app" data="3 b s
execute_extension::cf XML features"/>
<action application="bind_meta_app" data="4 b s
execute_extension::attented_xfer XML features"/>
....
</condition>
</extension>
So when user B answers the call, he sends *4 and the extensions for the
attended transfer is started - the usual - plays message and read the
input dtmf:
features.xml
...
<extension name="attented_xfer">
<condition field="${toll_allow}" expression="local"/>
<condition field="destination_number" expression="^attented_xfer$">
<action application="info"/>
<action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
<action application="set" data="call_timeout=15"/>
<action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
</condition>
</extension>
...
To this problems everything is perfect. But here comes the questions, so
if you can give some tips would be great.
1) when user B enters the extension number of C - the C's phone starts
ringing in the tcpdump i can see that the phone is sending 180 ringing,
BUT user B does not hear the ringing.
2) as mentioned in the
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_att_xfer
quote: "If the other leg is a voicemail or doesn't answered you can
hangup that leg by pressing dtmf # (fixed in r14438) "
It doesn't work. The option 0 is working even before C answering the
phone - after he answers it's a threeway conference - i like this
feature.
I'm using FreeSWITCH Version 1.0.trunk (14633M)
Also I tried to set call timeout to see if I can go back the user A, who
is listening to MOH - no luck here.
Probably I'm missing something. Tried to look in the source of att_xfer
to understand why the feature i want is not working - but it seems my
C/C++ skills are not so good, as i want .
Thank you in advance,
Anatoliy Kounitskiy
|
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)
Mobile: +359898913540
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org (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
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400 |
|
Back to top |
|
|
msc at freeswitch.org Guest
|
Posted: Wed Aug 26, 2009 3:15 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
On Wed, Aug 26, 2009 at 12:59 PM, Anthony Minessale <anthony.minessale@gmail.com (anthony.minessale@gmail.com)> wrote:
Quote: | i added a patch to attempt to do this so try adding
|
Nice work!
Quote: |
{origination_cancel_key=#} before the dial string
or
<action application="set" data="origination_cancel_key=#"/>
before you bridge.
|
Anatoliy,
Please try this and let us know if it works for you as expected. If so, please write up the exact procedure that you used and include dialplan examples. I'd like to get this on the wiki while it's fresh in my mind. If you feel comfortable editing the wiki on your own then just let me know so that we can coordinate efforts.
Thanks,
MC |
|
Back to top |
|
|
anatoliy at kounitskiy... Guest
|
Posted: Wed Aug 26, 2009 3:15 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
Thank you for the fast patch :)
I'm going to test it right away and report you if there are problems or not.
On Wed, Aug 26, 2009 at 10:59 PM, Anthony
Minessale<anthony.minessale@gmail.com> wrote:
Quote: | i added a patch to attempt to do this so try adding
{origination_cancel_key=#} before the dial string
or
<action application="set" data="origination_cancel_key=#"/>
before you bridge.
On Wed, Aug 26, 2009 at 1:39 PM, Anthony Minessale
<anthony.minessale@gmail.com> wrote:
Quote: |
maybe we can make an origination_cancel_key=# you could set on the dial
string to be able to cancel that originate with dtmf
On Wed, Aug 26, 2009 at 1:27 PM, Anatoliy Kounitskiy
<anatoliy@kounitskiy.com> wrote:
Quote: |
After several hours of testing I was able to answer myself the
previous mentioned questions.
It appears that # and the 0 option work _only_ if user C has answered
the call OR voicemail system answers it.
user A ---call---> user B----attended xfer---> user C
At this point I have new question. In example user C does not have a
voicemail and the call timeout is not an option to wait for. How can
user B go back to the user A, who is listening to MOH?
Could someone help me with an advice/tip?
At the moment I have just one idea for accomplishing it:
1) try to use bind_meta_app in the extension with the att_xfer (not
sure if it can be done). To have a key feature that takes the user A
call leg id and bridging it with user B
Thank you in advnace,
Anatoliy Kounitskiy
On Wed, Aug 26, 2009 at 5:51 PM, Anatoliy
Kounitskiy<anatoliy@kounitskiy.com> wrote:
Quote: | Hello everybody!
I have few questions about the att_xfer application. First, what i want
to accomplish is: user A calls user B, after that user B makes attended
transfer to user C.
In the dialplan i have:
<context name="vpbx">
 <extension name="local_number">
...
   <action application="bind_meta_app" data="1 b s
execute_extension::dx XML features"/>
   <action application="bind_meta_app" data="2 b s
record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
   <action application="bind_meta_app" data="3 b s
execute_extension::cf XML features"/>
   <action application="bind_meta_app" data="4 b s
execute_extension::attented_xfer XML features"/>
 ....
  </condition>
 </extension>
So when user B answers the call, he sends *4 and the extensions for the
attended transfer is started - the usual - plays message and read the
input dtmf:
features.xml
...
  <extension name="attented_xfer">
   <condition field="${toll_allow}" expression="local"/>
   <condition field="destination_number"
expression="^attented_xfer$">
    <action application="info"/>
    <action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
    <action application="set" data="call_timeout=15"/>
    <action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
   </condition>
  </extension>
...
To this problems everything is perfect. But here comes the questions,
so
if you can give some tips would be great.
1) when user B enters the extension number of C - the C's phone starts
ringing in the tcpdump i can see that the phone is sending 180 ringing,
BUT user B does not hear the ringing.
2) as mentioned in the
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_att_xfer
quote: "If the other leg is a voicemail or doesn't answered you can
hangup that leg by pressing dtmf # (fixed in r14438) "
It doesn't work. The option 0 is working even before C answering the
phone - after he answers it's a threeway conference - i like this
feature.
I'm using FreeSWITCH Version 1.0.trunk (14633M)
Also I tried to set call timeout to see if I can go back the user A,
who
is listening to MOH - no luck here.
Probably I'm missing something. Tried to look in the source of att_xfer
to understand why the feature i want is not working - but it seems my
C/C++ skills are not so good, as i want .
Thank you in advance,
Anatoliy Kounitskiy
|
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com
Mobile: +359898913540
_______________________________________________
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
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:213-799-1400
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:213-799-1400
_______________________________________________
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
|
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com
Mobile: +359898913540
_______________________________________________
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 |
|
Back to top |
|
|
anatoliy at kounitskiy... Guest
|
Posted: Thu Aug 27, 2009 8:25 am Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
Just for information - the idea :
A---calls---> B ---att_xfer---> C , B hangs C up and goes back to A
( I`m sorry C is not answering )
dialplan:
-----------
<extension name="local_number">
<condition field="${toll_allow}" expression="local"/>
<condition field="destination_number" expression="^(\d{3})$">
<action application="set" data="dialed_extension=$1"/>
<action application="export" data="dialed_extension=$1"/>
<action application="bind_meta_app" data="1 b s
execute_extension::dx XML features"/>
<action application="bind_meta_app" data="2 b s
record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
<action application="bind_meta_app" data="3 b s
execute_extension::cf XML features"/>
<action application="bind_meta_app" data="4 b s
execute_extension::attented_xfer XML features"/>
<action application="set" data="transfer_ringback=$${hold_music}"/>
<action application="set" data="call_timeout=10"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="set"
data="continue_on_fail=USER_NOT_REGISTERED,SUBSCRIBER_ABSENT"/>
<action application="info"/>
<action application="set"
data="bringback=${user_data(${dialed_extension}@${domain_name} var
cringback )}"/>
<action application="set" data="ringback=${${bringback}}"/>
<action application="bridge"
data="user/${dialed_extension}@${domain_name}"/>
<action application="info"/>
...
</condition>
</extension>
features.xml
---------------------
<extension name="attented_xfer">
<condition field="${toll_allow}" expression="local"/>
<condition field="destination_number" expression="^attented_xfer$">
<action application="set" data="continue_on_fail=true"/>
<action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
<action application="set"
data="bringback=${user_data(${attxfer_callthis}@${domain_name} var
cringback )}"/>
<action application="set" data="ringback=${${bringback}}"/>
<action application="info"/>
<action application="set" data="origination_cancel_key=#"/>
<action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
</condition>
</extension>
After testing the patch the results are:
1) B answers the call from A and executes the feature code *4
(attented_xfer), sends the desired number ( in this case the number of
C). A goes to MusicOnHold, B is waiting for C to pick up - B sends # -
sends SIP CANCEL to C and SIP BUY to A - so all calls are dropped.
2) B answers the call from A and executes the feature code *4
(attented_xfer), but without entering the number of C - so the read
aplication timeouts after 30 sec - after that att_xfer is executed
with empty string (nothing is entered) - B and A are bridged together.
On the console without entering the extension of C:
2009-08-27 16:00:58.929756 [NOTICE] switch_core_session.c:1576 Execute
set(origination_cancel_key=#)
EXECUTE sofia/internal/sip:102@10.17.4.107:5060 set(origination_cancel_key=#)
2009-08-27 16:00:58.929756 [DEBUG] mod_dptools.c:748
sofia/internal/sip:userB@10.17.4.107:5060 SET
[origination_cancel_key]=[#]
2009-08-27 16:00:58.929756 [NOTICE] switch_core_session.c:1576 Execute
att_xfer(user/${attxfer_callthis}@${domain_name})
EXECUTE sofia/internal/sip:102@10.17.4.107:5060 att_xfer(user/@1.1.1.1)
2009-08-27 16:00:58.929756 [WARNING] mod_dptools.c:2373 Can't find
user [@1.1.1.1]
2009-08-27 16:00:58.929756 [ERR] switch_ivr_originate.c:1527 Cannot
create outgoing channel of type [user] cause: [SUBSCRIBER_ABSENT]
2009-08-27 16:00:58.929756 [DEBUG] switch_ivr_originate.c:2167
Originate Resulted in Error Cause: 20 [SUBSCRIBER_ABSENT]
2009-08-27 16:00:58.949842 [DEBUG] switch_ivr_play_say.c:1402 done playing file
2009-08-27 16:00:58.949842 [DEBUG] switch_ivr_bridge.c:231
sofia/internal/userA@1.1.1.1 receive message [BRIDGE]
2009-08-27 16:00:58.949842 [DEBUG] switch_core_session.c:630 Send
signal sofia/internal/userA@1.1.1.1 [BREAK]
2009-08-27 16:00:58.949842 [DEBUG] switch_ivr_bridge.c:233 Send signal
sofia/internal/sip:userB@10.17.4.107:5060 [BREAK]
2009-08-27 16:00:58.949842 [DEBUG] switch_ivr_bridge.c:231
sofia/internal/sip:userB@10.17.4.107:5060 receive message [BRIDGE]
2009-08-27 16:00:58.949842 [DEBUG] switch_core_session.c:630 Send
signal sofia/internal/sip:userB@10.17.4.107:5060 [BREAK]
2009-08-27 16:00:58.954052 [DEBUG] switch_ivr_bridge.c:233 Send signal
sofia/internal/userA@1.1.1.1 [BREAK]
2009-08-27 16:01:22.881501 [DEBUG] sofia.c:3302 Channel
sofia/internal/userA@1.1.1.1 entering state [calling][0]
2009-08-27 16:01:22.886122 [DEBUG] sofia.c:3302 Channel
sofia/internal/userA@1.1.1.1 entering state [ready][200]
I'll try to summarize my idea - could it be possible when the # (in
the att_xfer) is executed to behave as if you're trying to make
attended transfer to non existing subscriber( SUBSCRIBER_ABSENT ), so
B can be bridged back with A.
Thank you in advance,
Anatoliy Kounitskiy
On Wed, Aug 26, 2009 at 11:11 PM, Michael Collins<msc@freeswitch.org> wrote:
Quote: |
On Wed, Aug 26, 2009 at 12:59 PM, Anthony Minessale
<anthony.minessale@gmail.com> wrote:
Quote: |
i added a patch to attempt to do this so try adding
|
Nice work!
Quote: |
{origination_cancel_key=#} before the dial string
or
<action application="set" data="origination_cancel_key=#"/>
before you bridge.
|
Anatoliy,
Please try this and let us know if it works for you as expected. If so,
please write up the exact procedure that you used and include dialplan
examples. I'd like to get this on the wiki while it's fresh in my mind. If
you feel comfortable editing the wiki on your own then just let me know so
that we can coordinate efforts.
Thanks,
MC
_______________________________________________
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 |
|
Back to top |
|
|
anthony.minessale at g... Guest
|
Posted: Thu Aug 27, 2009 12:01 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
please retest with latest SVN trunk
On Thu, Aug 27, 2009 at 8:19 AM, Anatoliy Kounitskiy <anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
Quote: | Just for information - the idea :
A---calls---> B ---att_xfer---> C , B hangs C up and goes back to A
( I`m sorry C is not answering )
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400 |
|
Back to top |
|
|
brian at freeswitch.org Guest
|
|
Back to top |
|
|
anatoliy at kounitskiy... Guest
|
Posted: Thu Aug 27, 2009 1:32 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
Thank you all for the great job
Now it works as I wanted!!
Tomorrow I'll will try to update the wiki :)
But with few words ( I tried to strip the extensions to minimum for
more easy read for users).
In the dialplan I have created the extension showed below:
<extension name="local_number">
<condition field="destination_number" expression="^(\d{3})$">
<action application="set" data="dialed_extension=$1"/>
<action application="export" data="dialed_extension=$1"/>
<action application="bind_meta_app" data="1 b s
execute_extension::attented_xfer XML features"/>
<action application="set" data="transfer_ringback=$${hold_music}"/>
<action application="set" data="call_timeout=10"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge"
data="user/${dialed_extension}@${domain_name}"/>
</condition>
</extension>
In the features.xml file I have extension attented_xfer, that is using
the att_xfer application :
<extension name="attented_xfer">
<condition field="destination_number" expression="^attented_xfer$">
<action application="set" data="continue_on_fail=true"/>
<action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
<action application="set" data="origination_cancel_key=#"/>
<action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
</condition>
</extension>
Also I have set the the origination cancel key will be # - so if B
wants to cancel the call to C and to go back to A - just uses the #
key :)
Again - thank you very much :)
Anatoliy Kounitskiy
On Thu, Aug 27, 2009 at 7:48 PM, Anthony
Minessale<anthony.minessale@gmail.com> wrote:
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com
Mobile: +359898913540
_______________________________________________
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 |
|
Back to top |
|
|
msc at freeswitch.org Guest
|
Posted: Thu Aug 27, 2009 1:36 pm Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
Thanks! I'll be in touch to help you if you need any wiki editing assistance.
-MC
On Thu, Aug 27, 2009 at 11:18 AM, Anatoliy Kounitskiy <anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
Quote: | Thank you all for the great job
Now it works as I wanted!!
Tomorrow I'll will try to update the wiki
But with few words ( I tried to strip the extensions to minimum for
more easy read for users).
In the dialplan I have created the extension showed below:
<extension name="local_number">
<condition field="destination_number" expression="^(\d{3})$">
<action application="set" data="dialed_extension=$1"/>
<action application="export" data="dialed_extension=$1"/>
<action application="bind_meta_app" data="1 b s
execute_extension::attented_xfer XML features"/>
<action application="set" data="transfer_ringback=$${hold_music}"/>
<action application="set" data="call_timeout=10"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge"
data="user/${dialed_extension}@${domain_name}"/>
</condition>
</extension>
In the features.xml file I have extension attented_xfer, that is using
the att_xfer application :
<extension name="attented_xfer">
<condition field="destination_number" expression="^attented_xfer$">
<action application="set" data="continue_on_fail=true"/>
<action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
<action application="set" data="origination_cancel_key=#"/>
<action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
</condition>
</extension>
Also I have set the the origination cancel key will be # - so if B
wants to cancel the call to C and to go back to A - just uses the #
key
Again - thank you very much
Anatoliy Kounitskiy
On Thu, Aug 27, 2009 at 7:48 PM, Anthony
Minessale<anthony.minessale@gmail.com (anthony.minessale@gmail.com)> wrote:
Quote: | please retest with latest SVN trunk
On Thu, Aug 27, 2009 at 8:19 AM, Anatoliy Kounitskiy
<anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
Quote: |
Just for information - the idea :
A---calls---> B ---att_xfer---> C , B hangs C up and goes back to A
( I`m sorry C is not answering )
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400
|
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)
Mobile: +359898913540
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org (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
|
|
|
Back to top |
|
|
anatoliy at kounitskiy... Guest
|
Posted: Fri Aug 28, 2009 6:20 am Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
The wiki page is updated (
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_att_xfer ). Hope
it is understandable :)
Anatoliy Kounitskiy
On Thu, Aug 27, 2009 at 9:30 PM, Michael Collins<msc@freeswitch.org> wrote:
Quote: | Thanks! I'll be in touch to help you if you need any wiki editing
assistance.
-MC
On Thu, Aug 27, 2009 at 11:18 AM, Anatoliy Kounitskiy
<anatoliy@kounitskiy.com> wrote:
Quote: |
Thank you all for the great job
Now it works as I wanted!!
Tomorrow I'll  will try to update the wiki :)
But with few words ( I tried to strip the extensions to minimum for
more easy read for users).
In the dialplan I have created the extension showed below:
 <extension name="local_number">
  <condition field="destination_number" expression="^(\d{3})$">
   <action application="set" data="dialed_extension=$1"/>
   <action application="export" data="dialed_extension=$1"/>
   <action application="bind_meta_app" data="1 b s
execute_extension::attented_xfer XML features"/>
   <action application="set" data="transfer_ringback=$${hold_music}"/>
   <action application="set" data="call_timeout=10"/>
   <action application="set" data="hangup_after_bridge=true"/>
   <action application="bridge"
data="user/${dialed_extension}@${domain_name}"/>
  </condition>
 </extension>
In the features.xml file I have extension attented_xfer, that is using
the att_xfer application :
 <extension name="attented_xfer">
   <condition field="destination_number" expression="^attented_xfer$">
    <action application="set" data="continue_on_fail=true"/>
    <action application="read" data="3 4 ivr/ivr-enter_ext.wav
attxfer_callthis 30000 #"/>
    <action application="set" data="origination_cancel_key=#"/>
    <action application="att_xfer"
data="user/${attxfer_callthis}@${domain_name}"/>
   </condition>
  </extension>
Also I have set the the origination cancel key will be # - so if B
wants to cancel the call to C and to go back to A - just uses the #
key :)
Again - thank you very much :)
Anatoliy Kounitskiy
On Thu, Aug 27, 2009 at 7:48 PM, Anthony
Minessale<anthony.minessale@gmail.com> wrote:
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com
Mobile: +359898913540
_______________________________________________
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
|
--
Anatoliy Kounitskiy
-------------------------
E-mail: anatoliy@kounitskiy.com
Mobile: +359898913540
_______________________________________________
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 |
|
Back to top |
|
|
msc at freeswitch.org Guest
|
Posted: Fri Aug 28, 2009 11:25 am Post subject: [Freeswitch-users] Questions about att_xfer |
|
|
Thanks! I made very minor changes. We appreciate you helping out with documenting new features.
-MC
On Fri, Aug 28, 2009 at 4:13 AM, Anatoliy Kounitskiy <anatoliy@kounitskiy.com (anatoliy@kounitskiy.com)> wrote:
|
|
Back to top |
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|