[Freeswitch-users] Questions about att_xfer

Anatoliy Kounitskiy anatoliy at kounitskiy.com
Wed Aug 26 11:27:52 PDT 2009

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 at kounitskiy.com> wrote:
> 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 at kounitskiy.com
Mobile: +359898913540

More information about the FreeSWITCH-users mailing list