freeswitchforum.com
https://freeswitchforum.com/

Перевод отвеченного звонка
https://freeswitchforum.com/viewtopic.php?f=6&t=969
Страница 1 из 1

Автор:  marintrooper23 [ 06 ноя 2019 08:18 ]
Заголовок сообщения:  Перевод отвеченного звонка

Не могу понять,как сделать перевод отвеченного звонка.
<extension name="from_309621_office_sipphone">
<condition field="destination_number" expression="^309621$">
<action application="bridge" data="user/19300@mysip.local.org"/>
</condition>
</extension>
Звонок приходит в план звонков и передаётся пользователю 19300. Пользователь 19300 поднимает трубку,идёт разговор.В процессе разговора пользователь хочет перевести звонок на пользователя 19301. Как это можно сделать?

Автор:  Vlad1983 [ 06 ноя 2019 09:06 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

навешиваются биндинги на dtmf-последовательности bind_meta_app dx bind_meta_app att_xfer, которые перебрысывают на особые экстеншены dx там же ниже att_xfer

Автор:  marintrooper23 [ 06 ноя 2019 09:34 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

Сделал так
<extension name="from_309621_office_sipphone">
<condition field="destination_number" expression="^309621$">
<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::att_xfer XML features"/>
<action application="set" data="call_timeout=10"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="user/19300@mysip.local.org"/>
</condition>
</extension>

и так
/usr/share/freeswitch/conf/vanilla/dialplan/features.xml
<extension name="att_xfer">
<condition field="destination_number" expression="^att_xfer$">
<action application="read" data="3 4 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
<action application="set" data="origination_cancel_key=#"/>
<action application="set" data="attxfer_hangup_key=*"/>
<action application="set" data="attxfer_conf_key=0"/>
<action application="att_xfer" data="user/${digits}@$${domain}"/>
</condition>
</extension>

Результат никакой,в логе вижу,что диалплан подгружается,но при получении входящего вызова и наборе с клавиатуры #9988 звонок не перебрасывается на att_xfer

Автор:  Vlad1983 [ 06 ноя 2019 09:58 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

откуда взялась комбинация "#9988"?
читать bind_meta_app пока не поймете что жать

Автор:  marintrooper23 [ 06 ноя 2019 10:48 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

Если я правильно всё понял,то что бы выполнился контекст перевода звонка ,нужно нажать *1
KEY is the button you want to respond to after the * button is pressed. If you wanted to respond to *1, you would put 1 in place of KEY
Но как во время звонка выбрать внутренний номер,которому сделать перевод звонка. Обычно же делается так,принимаешь вызов,набираешь * или #(в нашем случае *)Потом набираешь внутренний номер,кому передать звонок,тут логика какая то другая? Тут нельзя в лоб в dtmf указать кому передать звонок?

Автор:  Vlad1983 [ 06 ноя 2019 12:13 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

вот тута слушется на какой номер перевести
Код:
<action application="read" data="3 4 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
читаем про read

Автор:  marintrooper23 [ 06 ноя 2019 15:40 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

Победил,что бы звонок попадал на контекст перевода вызова,теперь вот с чем проблема. Судя по логу,dtmf распарсил введённые с клавиатуры цифры и передал их в переменную,которую я подставляю в att_xfer,в логе так
66176189-25db-4956-ae5f-29b849b5d98e EXECUTE sofia/internal-NT/19300@10.10.8.47:11027 set(attxfer_conf_key=0)
66176189-25db-4956-ae5f-29b849b5d98e 2019-11-06 17:33:39.984180 [DEBUG] mod_dptools.c:1477 sofia/internal-NT/19300@10.10.8.47:11027 SET [attxfer_conf_key]=[0]
66176189-25db-4956-ae5f-29b849b5d98e 2019-11-06 17:33:39.984180 [NOTICE] switch_core_session.c:2866 Execute att_xfer(user/${digits}@mysip.local.org.org)
66176189-25db-4956-ae5f-29b849b5d98e EXECUTE sofia/internal-NT/19300@10.10.8.47:11027 att_xfer(user/19301@mysip.local.org)
66176189-25db-4956-ae5f-29b849b5d98e 2019-11-06 17:33:39.984180 [DEBUG] switch_channel.c:1786 (sofia/internal-NT/19300@10.10.8.47:11027) Callstate Change ACTIVE -> RING_WAIT
66176189-25db-4956-ae5f-29b849b5d98e 2019-11-06 17:33:39.984180 [DEBUG] switch_channel.c:1221 sofia/internal-NT/19300@10.10.8.47:11027 EXPORTING[export_vars] [dialed_extension]=[$1] to event

На трубке это выглядит так,что я ввожу *519301 . После ввода *5 я начинаю слышать музыку,которая навешивается этим <action application="read" data="0 5 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>

Но звонок не попадает на 19301
Последний конфиг такой.

<extension name="att_xfer">
<condition field="destination_number" expression="^att_xfer$">
<action application="set" data="continue_on_fail=true"/>
<action application="read" data="0 5 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
<action application="set" data="attxfer_cancel_key=#"/>
<action application="set" data="attxfer_hangup_key=*"/>
<action application="set" data="attxfer_conf_key=0"/>
<action application="att_xfer" data="user/${digits}@mysip.local.org"/>

</condition>
</extension>



<extension name="from_309621_office_sipphone">
<condition field="destination_number" expression="^309621$">
<action application="set" data="dialed_extension=$1"/>
<action application="export" data="dialed_extension=$1"/>
<action application="bind_meta_app" data="5 b s execute_extension::att_xfer XML features"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="user/19300@mysip.local.org"/>

Автор:  Vlad1983 [ 07 ноя 2019 07:35 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

потому что в "$1" у вас ничего нет
почему нет разобраться следует самостоятельно

Автор:  marintrooper23 [ 07 ноя 2019 09:26 ]
Заголовок сообщения:  Re: Перевод отвеченного звонка

Да,так и было,в $1 ничего не было,пока его объявление не поместил ниже bridge. Теперь всё ок.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/